3月9日下午3点30分,人机世纪大战第一场结果公布,谷歌(微博)人工智能系统AlphaGo挑战世界围棋冠军李世石成功,李世石认输。
这次比赛采用中方的围棋规则,黑贴3又3/4子(黑贴7目半)。每位棋手各有两个小时布局时间,3次60秒的读秒,每场比赛预计需要大约4-5个小时。
深度学习
“深度学习”是指多层的人工神经网络和训练它的方法。一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。
虽然神经网络在几十年前就有了,直到最近才形势明朗。这是因为他们需要大量的“训练”去发现矩阵中的数字价值。对早期研究者来说,想要获得不错效果的最小量训练都远远超过计算能力和能提供的数据的大小。但最近几年,一些能获取海量资源的团队重现挖掘神经网络,就是通过“大数据”技术来高效训练。
DeepMind
与其它神经网络一样,DeepMind 的系统运行在配备了GPU的机器上。GPU最初用于渲染游戏图像,但后来有人发现,它们很适合深度学习。据悉,此次谷歌为了此次比赛,投入了1200台机器,2000个GPU,大概是五个月前AlphaGo 对战欧洲围棋冠军樊麾时的20倍,而当时的硬件设施已经是远超市面上所有的围棋程序了,另外更是当年深蓝计算力的3万倍,深蓝在19年前将国际象棋大师卡斯帕罗夫击败同样成为人工智能的一个里程碑事件。其实这应该算得上谷歌的一次违规行为,因为之前DeepMind 的创始人Hassabis 曾表示,他们只会优化系统,但会在与李世石的比赛中使用相同的配置。如此看来,也难怪他们会在昨天的发布会上突然放言,这次比赛李世石毫无胜算。
两个大脑
AlphaGo是通过两个不同神经网络“大脑”合作来改进下棋。这些大脑是多层神经网络跟那些Google图片搜索引擎识别图片在结构上是相似的。它们从多层启发式二维过滤器开始,去处理围棋棋盘的定位,就像图片分类器网络处理图片一样。经过过滤,13 个完全连接的神经网络层产生对它们看到的局面判断。这些层能够做分类和逻辑推理。
这些网络通过反复训练来检查结果,再去校对调整参数,去让下次执行更好。这个处理器有大量的随机性元素,所以我们是不可能精确知道网络是如何“思考”的,但更多的训练后能让它进化到更好。
第一大脑: 落子选择器 (Move Picker)
AlphaGo的第一个神经网络大脑是“监督学习的策略网络(Policy Network)” ,观察棋盘布局企图找到最佳的下一步。事实上,它预测每一个合法下一步的最佳概率,那么最前面猜测的就是那个概率最高的。你可以理解成“落子选择器”。
(落子选择器是怎么看到棋盘的?数字表示最强人类选手会下在哪些地方的可能。)
团队通过在KGS(网络围棋对战平台)上最强人类对手,百万级的对弈落子去训练大脑。这就是AlphaGo最像人的地方,目标是去学习那些顶尖高手的妙手。这个不是为了去下赢,而是去找一个跟人类高手同样的下一步落子。AlphaGo落子选择器能正确符合57%的人类高手。(不符合的不是意味着错误,有可能人类自己犯的失误)
第二大脑:棋局评估器 (Position Evaluator)
AlphaGo的第二个大脑相对于落子选择器是回答另一个问题。不是去猜测具体下一步,它预测每一个棋手赢棋的可能,在给定棋子位置情况下。这“局面评估器”就是论文中提到的“价值网络(Value Network)”,通过整体局面判断来辅助落子选择器。这个判断仅仅是大概的,但对于阅读速度提高很有帮助。通过分类潜在的未来局面的“好”与“坏”,AlphaGo能够决定是否通过特殊变种去深入阅读。如果局面评估器说这个特殊变种不行,那么AI就跳过阅读在这一条线上的任何更多落子。
(局面评估器是怎么看这个棋盘的。深蓝色表示下一步有利于赢棋的位置。)
局面评估器也通过百万级别的棋局做训练。Silver团队通过 复制两个AlphaGo的最强落子选择器,精心挑选随机样本创造了这些局面。这里AI 落子选择器在高效创建大规模数据集去训练局面评估器是非常有价值的。这种落子选择器让大家去模拟继续往下走的很多可能,从任意给定棋盘局面去猜测大致的双方赢棋概率。而人类的棋局还不够多恐怕难以完成这种训练。
增加阅读
这里做了三个版本的落子选择大脑,加上局面评估大脑,AlphaGo可以有效去阅读未来走法和步骤了。阅读跟大多数围棋AI一样,通过蒙特卡洛树搜索(MCTS)算法来完成。但AlphaGo 比其他AI都要聪明,能够更加智能的猜测哪个变种去探测,需要多深去探测。
|