BitTigerio 2017-10-20
来源:华尔街见闻
原标题:AlphaGo Zero:为什么只有虚竹能够破珍珑棋局
金庸小说《天龙八部》第三十一章《输赢成败,又争由人算》中有一个天下闻名的珍珑棋局,无崖子的大弟子苏星河穷尽三十年时间也破解不了:
“这个珍珑棋局,乃先师所制。先师当年穷三年心血,这才布成,深盼当世棋道中的知心之士,予以破解。在下三十年来苦加钻研,未能参解得透。”
就连段誉、慕容复等棋艺冠绝天下的当世才俊也铩羽而归,最后反而被几乎不懂围棋的虚竹随意一落子破解了:
“珍珑的秘奥正是要白棋先挤死了自己一大块,以后的妙着方能源源而生,这等“挤死自己”的着法,实乃围棋中千古未有之奇变,任你是如何超妙入神的高手,也决不会想到这一条路上去。任何人所想的,总是如何脱困求生,从来没人故意往死路上去想。若不是虚竹闭上眼睛、随手瞎摆而下出这着大笨棋来,只怕再过一千年,这个珍珑也没人能解得开。”
为什么那么多超妙入神的高手不如一个几乎不懂围棋的和尚的随手一子?人类已有的经验往往会成为自身最大的束缚,它会让我们的探索停留在已有的经验范围内,“站在巨人肩膀上”的“巨人”往往也会挡住人类突破创新的视角。10月19日凌晨,谷歌旗下Deepmind团队在《自然》杂志发表的论文《无须人类知识掌握围棋》中提出了新一代的AlphaGo Zero,完成了和金庸小说中的虚竹一样的“传奇”:从未看过任何人类棋谱学习围棋知识,却战胜了所有依赖人类经验数据的AlphaGo前辈们。
首先我们用最通俗的方式解释下AlphaGo Zero的根本原理:
1、AlphaGo Zero还不是“围棋之神”,一直以来计算机下围棋的主要工作就是如何在降低搜索计算量的前提下逼近最优解。围棋作为一种完全信息零和博弈,理论上是可以通过穷举搜索来找到最优解。因为所有可能的下棋路数加起来都是有限的,只是计算量大到几乎不可能完成(很多人把AlphaGo Zero比作“围棋之神”其实是不恰当的,真正的“围棋之神”确实存在:即穷举计算后的最优解)。所以一直以来计算机下围棋的重要工作就是如何在降低搜索计算量下逼近这个最优解。这也是为什么我们在各个版本的AlphaGo中都看到了蒙特卡罗树搜索算法的原因,蒙特卡罗树搜索算法实际就是通过概率采样的方式来降低搜索计算量。
2、人类下棋的思考过程实际可以简化为输入当前的棋局信息,输出可以落子的位置和对应赢率的系统,AlphaGo Zero就是采用这样一个简洁系统。人下棋其实就是思考这样一个简单的函数,输入是当前局面信息,输出是有哪些位置是可以落子,分别赢率有多大,再从中选择最大赢率的落子。此前版本的AlphaGo是将这两个判断分别用两个深度神经网络系统来实现:
1、决定落子策略的策略网络(通过人类棋谱数据训练);
2、评估每一步赢率的价值网络(通过自我对弈的棋局训练)。
在AlphaGo正式下围棋的时候这两个判断系统与蒙特卡罗树搜索算法结合,从而大幅降低搜索的空间,实现有限计算量下逼近最优解。
数据来源:CKDD,安信证券研究中心
3、AlphaGo Zero将策略网络和价值网络两个神经网络合二为一,用一个简洁的神经网络来实现人类下棋的思考函数,通过自我对弈数据不断迭代训练来使函数逼近最优解。这个两个神经网络相当于共用了之前大部分的特征提取层节省训练时间,更重要的是这种统一的神经网络更类似于人类的思考过程,或能适应更多种不同情况。这也使得直接自我对弈的结果来实现端到端神经网络训练成为可能。
图3:AlphaGo Zero 自我对弈训练的流程:a。 程序自己和自己下棋,通过计算获得训练样本数据;b。 AlphaGo Zero 中神经网络的训练,该神经网络将棋盘状态作为输入,输出表示每一走子的概率分布和赢率。
数据来源:nature,安信证券研究中心
4、AlphaGo Zero并非不需要训练数据,而是因为训练数据样本可以根据围棋规则自行计算得到,所以才能完全摆脱人类知识,不停自我迭代训练。神经网络训练的输入数据就是自我对弈的棋局,标注的答案就是自我对弈获胜者的赢率和结合蒙特卡洛树搜索得到的落子概率分布。
5、为什么AlphaGo 训练时间减少效率提升?两方面原因:第一,两个神经网络相当于共用了之前大部分的特征提取层节省训练时间,此外神经网络设计方面也做了其他改进;第二,自我对弈获得的训练数据质量在不断提升。自我对弈的对手在不断进步,其对弈的数据质量必然随着对手水平指数级上升,如果使用人类数据训练,对手水平永远在3000多分以下参差不齐,而自我对弈不断迭代更强的对手训练,其对弈数据质量很快就稳定保持在3000分以上而且还在不断提升。
图4:自我对弈迭代下,使得对弈数据质量始终不断提升
数据来源:nature,安信证券研究中心
6、AlphaGo Zero的最大的优势是摆脱了人类经验数据的束缚。AlphaGo的自我对弈棋局不会受到人类经验的限制,而此前版本AlphaGo的走子策略网络用人类经验数据训练的,所以很大程度上会在人类经验的样本空间内落子,AlphaGo Zero突破了这一局限,这也是为什么在AlphaGo Zero的中局搜索空间很大时,会有很多人看不懂的“诡异”走法,因为这已经脱离了人类的经验范围,而有时候这反而是最佳走法。
AlphaGo Zero的横空出世有什么意义?
1、对于搜索空间很大,而输出结果不依赖人的感知判断、由客观规则决定的问题,将大大减少训练数据的依赖。实际上在2014年谷歌收购DeepMind前,Deepmind就开发出不需要人类数据训练,自行学会玩街机游戏的人工智能系统震惊于世界,其基本原理其实与如今的AlphaGo Zero如出一辙。我们可以看到Deepmind一直以来参与的项目类型都是胜负结果可根据游戏规则计算机自行评估的博弈游戏,无论是街机游戏、围棋还是星际争霸。这种问题的特点在于训练数据可以由计算机根据规则自行判断的游戏结果来获得,而不需要人工标注。AlphaGo Zero的成功证明了这一思路是可行的,也有望拓展到其他类似领域。但对于图像、语音识别这类最终结果依赖人类的感知的问题,还是无法代替人类标注的训练数据。
2、有望突破人类经验的局限性,在新材料、新药开发等科研创新领域取得前所未有的突破。Deepmind在论文中也提到其研究成果可能会应用到新材料开发、蛋白质折叠等领域,这些问题有共同特点:以新材料开发、新药物合成等科研领域为例,其符合搜索空间大,结果由客观规则决定的特点,过去的开发可能受到已有的人类经验束缚,如果引入AlphaGo Zero,可能会产生意想不到的重大突破。
3、告诉我们一个道理:有时候,格局比勤奋更重要。此前版本的AlphaGo无论是训练计算资源还是时间都大大超过AlphaGo Zero,可以说远远比AlphaGo Zero更“勤奋”,但训练数据受到人类经验的束缚,只能在有限的样本空间里做“井底之蛙”,因而在格局开阔的AlphaGo Zero面前不堪一击。这告诉我们有的时候,格局比勤奋重要得多。
数据来源:nature,安信证券研究中心