大家好,关于阿尔法狗vs柯洁,阿尔法狗很多人还不知道,现在让我们一起来看看吧!
阿尔法狗是什么意思?AlphaGo实际上是一个围棋人工智能程序,由谷歌DeepMind公司的大卫西尔弗、艾黄佳和戴密斯哈萨比斯及其团队开发。这个程序使用“价值网络”来计算形势,使用“策略网络”来选择下一步行动。
“深度学习”是指多层人工神经网络和训练它的方法。一层神经网络以大量矩阵数为输入,用非线性激活方法加权,再生成另一个数据集作为输出。就像生物神经大脑的工作机制一样。通过适当数量的矩阵,多层组织链接在一起,形成一个神经网络“大脑”,进行精确而复杂的处理,就像人们识别物体和标记图片一样。
虽然神经网络在几十年前就存在了,但直到最近情况才变得清楚。这是因为他们需要大量的“训练”来发现矩阵中的数值。对于早期的研究人员来说,获得良好结果的最小训练量远远超过了计算能力和可以提供的数据量。但近年来,一些能够接触到海量资源的团队重新出现挖掘神经网络,即通过“大数据”技术进行高效训练。
两个大脑
AlphaGo是通过两个不同的神经网络“大脑”的合作来提高下棋水平。这些大脑是多层神经网络,结构类似于谷歌图像搜索引擎识别的那些图像。他们从多层启发式二维过滤器入手,处理围棋棋盘的定位,就像图片分类器网络处理图片一样。过滤后,13个完全连接的神经网络层对他们看到的东西产生判断。这些层可以进行分类和逻辑推理。
这些网络通过反复训练来检查结果,然后校对调整参数,让接下来的执行更好。这个处理器有很多随机元素,我们不可能确切知道网络是如何“思考”的,但更多的训练可以让它进化到更好。
第一大脑3360移动拾取器
AlphaGo的第一个神经网络大脑是“用于监督学习的策略网络”,观察棋盘的布局,试图找到最佳的下一步。事实上,它预测了每一个合法的下一步的最佳概率,所以第一个猜测是概率最高的一个。你可以理解为“晚选人”。
(移动选择器如何看到棋盘?数字表明最强壮的人类玩家可能会在哪里着陆。)
团队通过玩上百万的游戏来训练大脑,KGS(战斗平台)中最强的人类对手。这是AlphaGo最像人类的部分。目标是学习那些顶级玩家的精彩牌技。这不是为了赢,而是为了找到和人类高手一样的下一步棋。AlphaGo棋步选择器可以正确匹配57%的人类大师。(不符合不代表错误,而是人类自己犯的错误。)
一个更强的前进选择器
AlphaGo系统实际上需要两个额外的位选择器的大脑。一个是“强化学习的政策网络”,由百万附加模拟局完成。你可以称之为更强。与基础训练相比,它只教会网络模仿单个人类的动作。高级训练会把每一局模拟棋都玩到底,教网络下一手最有可能赢的棋。Sliver的团队通过更强的走法选择器总结出了百万级训练棋类游戏,比他们之前的版本迭代了很多。
光是用这个走位选择器就已经是强大的对手了,可以达到业余棋手的水平,或者可以媲美之前最强的围棋AI。这里的重点是,这种下拉选择器不会“读”。它简单地检查单个棋盘的位置,然后提出从该位置分析的移动。它不会模拟任何未来的动作。这证明了简单的深度神经网络学习的力量。
快速移动选择器
AlphaGo当然,团队并没有就此止步。下面我会解释如何赋予AI阅读能力。为了做到这一点,他们需要一个更快版本的后期选择器大脑。版本越强,耗时越长——走一步好棋已经够快了,但“阅读结构”需要检查成千上万种可能性后再做决定。
Silver团队设置了一个简单的选择器来制作“快速阅读rdqu”
第二大脑:棋局评估器 (Position Evaluator)
AlphaGo的第二个大脑相对于落子选择器是回答另一个问题。不是去猜测具体下一步,它预测每一个棋手赢棋的可能,在给定棋子位置情况下。这“局面评估器”就是论文中提到的“价值网络(Value Network)”,通过整体局面判断来辅助落子选择器。这个判断仅仅是大概的,但对于阅读速度提高很有帮助。通过分类潜在的未来局面的“好”与“坏”,AlphaGo能够决定是否通过特殊变种去深入阅读。如果局面评估器说这个特殊变种不行,那么AI就跳过阅读在这一条线上的任何更多落子。
(局面评估器是怎么看这个棋盘的。深蓝色表示下一步有利于赢棋的位置。)
局面评估器也通过百万级别的棋局做训练。Silver团队通过 复制两个AlphaGo的最强落子选择器,精心挑选随机样本创造了这些局面。这里AI 落子选择器在高效创建大规模数据集去训练局面评估器是非常有价值的。这种落子选择器让大家去模拟继续往下走的很多可能,从任意给定棋盘局面去猜测大致的双方赢棋概率。而人类的棋局还不够多恐怕难以完成这种训练。
增加阅读
这里做了三个版本的落子选择大脑,加上局面评估大脑,AlphaGo可以有效去阅读未来走法和步骤了。阅读跟大多数围棋AI一样,通过蒙特卡洛树搜索(MCTS)算法来完成。但AlphaGo 比其他AI都要聪明,能够更加智能的猜测哪个变种去探测,需要多深去探测。
(蒙特卡洛树搜索算法)
如果拥有无限的计算能力,MCTS可以理论上去计算最佳落子通过探索每一局的可能步骤。但未来走法的搜索空间对于围棋来说太大了(大到比我们认知宇宙里的粒子还多),实际上AI没有办法探索每一个可能的变种。MCTS做法比其他AI有多好的原因是在识别有利的变种,这样可以跳过一些不利的。
Silver团队让AlphaGo装上MCTS系统的模块,这种框架让设计者去嵌入不同的功能去评估变种。最后马力全开的AlphaGo系统按如下方式使用了所有这些大脑。
1. 从当前的棋盘布局,选择哪些下一步的可能性。他们用基础的落子选择器大脑(他们尝试使用更强的版本,但事实上让AlphaGo更弱,因为这没有让MCTS提供更广阔的选择空间)。它集中在“明显最好”的落子而不是阅读很多,而不是再去选择也许对后来有利的下法。
2. 对于每一个可能的落子,评估质量有两种方式:要么用棋盘上局面评估器在落子后,要么运行更深入蒙特卡罗模拟器(滚动)去思考未来的落子,使用快速阅读的落子选择器去提高搜索速度。AlphaGo使用简单参数,“混合相关系数”,将每一个猜测取权重。最大马力的AlphaGo使用 50/50的混合比,使用局面评估器和模拟化滚动去做平衡判断。
随着他们使用插件的不同,AlphaGo的能力变化和上述步骤的模拟。仅使用独立大脑,AlphaGo跟最好的计算机围棋AI差不多强,但当使用这些综合手段,就可能到达职业人类选手水平。
(AlphaGo的能力变化与MCTS的插件是否使用有关。)
工程优化:分布式计算,网络计算机去提升MCTS速度,但这些都没有改变基础算法。这些算法部中分精确,部分近似。在特别情况下,AlphaGo通过更强的计算能力变的更强,但计算单元的提升率随着性能变强而减缓。
优势和劣势
我认为AlphaGo在小规模战术上会非常厉害。它知道通过很多位置和类型找到人类最好的下法,所以不会在给定小范围的战术条件下犯明显错误。
但是,AlphaGo有个弱点在全局判断上。它看到棋盘式通过5*5金字塔似的过滤,这样对于集成战术小块变成战略整体上带来麻烦,同样道理,图片分类神经网络往往对包含一个东西和另一个的搞不清。比如说围棋在角落上一个定式造成一个墙或者引征,这会剧烈改变另一个角上的位置估值。
就像其他的基于MCTS的AI, AlphaGo对于需要很深入阅读才能解决的大势判断上,还是麻烦重重的,比如说大龙生死劫。AlphaGo 对一些故意看起来正常的局也会失去判断,天元开盘或者少见的定式,因为很多训练是基于人类的棋局库。
我还是很期待看到AlphaGo和李世石9段的对决!我预测是:如果李使用定式,就像跟其他职业棋手的对决,他可能会输,但如果他让AlphaGo陷入到不熟悉情形下,他可能就赢。
本文讲解完毕,希望对大家有所帮助。