谷歌人工智能首次破解围棋比赛:完胜欧洲冠军

1月28日上午消息,谷歌今日宣布在人工智能领域的重要进展:开发出一款能够在围棋中击败职业选手的程序——AlphaGo,后者能够通过机器学习的方式掌握比赛技巧。

人工智能挑战围棋有多难?

计算机和人类竞赛在棋类比赛中已不罕见,在三子棋、跳棋和国际象棋等棋类上,计算机都先后完成了对人类的挑战。但对拥有2500多年历史的围棋而言,计算机在此之前从未战胜过人类。围棋看起来棋盘简单、规则不难,纵横各19九条等距离、垂直交叉的平行线,共构成19×19(361)个交叉点。比赛双方交替落子,目的是在棋盘上占据尽可能大的空间。

在极简主义的游戏表象之下,围棋具有令人难以置信的深度和微妙之处。当棋盘为空时,先手拥有361个可选方案。在游戏进行当中,它拥有远比国际象棋更多的选择空间,这也是为什么人工智能、机器学习的研发者们始终希望在此取得突破的原因。

就机器学习的角度而言,围棋的计算最大有3361种局面,大致的体量是10170,而已经观测到的宇宙中,原子的数量才1080。国际象棋最大只有2155种局面,称为香农数,大致是1047。

“机器学习”预测人类行为

传统的人工智能方法是将所有可能的走法构建成一棵搜索树 ,但这种方法对围棋并不适用。此次谷歌推出的AlphaGo,将高级搜索树与深度神经网络结合在一起。这些神经网络通过12个处理层传递对棋盘的描述,处理层则包含数百万个类似于神经的连接点。

其中一个神经网络“决策网络”(policy network)负责选择下一步走法,另一个神经网络“值网络”(“value network)则预测比赛胜利方。谷歌方面用人类围棋高手的三千万步围棋走法训练神经网络,与此同时,AlphaGo也自行研究新战略,在它的神经网络之间运行了数千局围棋,利用反复试验调整连接点,这个流程也称为巩固学习(reinforcement learning)。通过广泛使用Google云平台,完成了大量研究工作。

AlphaGo所使用的神经网络结构示意图

AlphaGo所使用的神经网络结构示意图

征服围棋对于谷歌来说有重要意义。AlphaGo不仅是遵循人工规则的“专家”系统,它还通过“机器学习”自行掌握如何赢得围棋比赛。谷歌方面希望运用这些技术解决现实社会最严峻、最紧迫的问题——从气候建模到复杂的灾难分析。

在具体的机器训练上,决策网络的方式是输入人类围棋专家的比赛,到系统可以预测57%人类行动为止,此前最好成绩是44%。此后AlphaGo通过在神经网络内部进行比赛的方式(可以简单理解成和自己下棋),开始学习自主探索新的围棋策略。目前AlphaGo的决策网络可以击败大多数具有庞大搜寻树的最先进的围棋程序。

值网络也是通过自己和自己下棋的方式来训练。目前值网络可以评估每一步棋能够有多大胜算。这在此前被认为是不可能的。

AlphaGo战绩惊人

实际上,目前AlphaGo已经成为最优秀的人工智能围棋程序。在与其他程序的对弈中,AlphaGo用一台机器就取得了500场的胜利,甚至有过让对手4手后获胜的纪录。去年10月5日-10月9日,谷歌安排AlphaGo与欧洲围棋冠军Fan Hui(樊麾:法国国家围棋队总教练)闭门比赛,谷歌以5-0取胜。

AlphaGo与欧洲围棋冠军樊麾的5局较量

AlphaGo与欧洲围棋冠军樊麾的5局较量

公开的比赛将在今年三月举行,AlphaGo将在韩国首尔与韩国围棋选手李世石九段一决高下,李世石是近10年来获得世界第一头衔最多的棋手,谷歌为此提供了100万美元作为奖金。李世石表示很期待此次对决,并且有信心获得胜利。

值得一提的是,上一次著名的人机对弈要追溯到1997年。当时IBM公司研发的超级计算机“深蓝”战胜了国际象棋冠军卡斯巴罗夫。不过国际象棋的算法要比围棋简单得多。国际象棋中取胜只需“杀死”国王,而围棋中则用数子或比目的方法计算胜负,并不是简单地杀死对方棋子。此前,“深蓝”计算机的设计人2007年发表文章指出,他相信十年内能有超级电脑在围棋上战胜人类。