AI科学家详解AlphaGo Zero的伟大与局限
(文章来源:量子位 报道 | 公众号 QbitAI 作者:夏乙 李根 发自 凹非寺 )
“人类太多余了。”
面对无师自通碾压一切前辈的AlphaGo Zero,柯洁说出了这样一句话。
如果你无法理解柯洁的绝望,请先跟着量子位回顾上一集:
今年5月,20岁生日还未到的世界围棋第一人柯洁,在乌镇0:3败给了DeepMind的人工智能程序AlphaGo,当时的版本叫做Master,就是今年年初在网上60:0挑落中日韩高手的那个神秘AI。
AlphaGo Zero骤然出现,可以说是在柯洁快要被人类对手和迷妹们治愈的伤口上,撒了一大把胡椒粉。
被震动的不止柯洁,在DeepMind的Nature论文公布之后,悲观、甚至恐慌的情绪,在大众之间蔓延着,甚至有媒体一本正经地探讨“未来是终结者还是黑客帝国”。
于是,不少认真读了论文的人工智能“圈内人”纷纷站出来,为这次技术进展“去魅”。
无师自通?
首当其冲的问题就是:在AlphaGo Zero下棋的过程中,人类知识和经验真的一点用都没有吗?
在这一版本的AlphaGo中,虽说人类的知识和经验没多大作用,但也不至于“多余”。
在Zero下棋的过程中,并没有从人类的对局经验和数据中进行学习,但这个算法依然需要人类向它灌输围棋的规则:哪些地方可以落子、怎样才算获胜等等。
剩下的,就由AI自己来搞定了。
对于这个话题,鲜有人比旷视科技首席科学家孙剑更有发言权了,因为AlphaGo Zero里面最核心使用的技术ResNet,正是孙剑在微软亚洲研究院时期的发明。
孙剑也在接受量子位等媒体采访的过程中,对AlphaGo Zero的“无师自通”作出了评价,他认为这个说法“对,也不对”,并且表示“伟大与局限并存”。
究竟对不对,还是取决于怎样定义无师自通,从哪个角度来看。
和之前三版AlphaGo相比,这一版去掉了人类教授棋谱的过程,在训练过程最开始的时候,AI落子完全是随机的,AlphaGo团队的负责人David Silver透露,它一开始甚至会把开局第一手下在1-1。在和自己对弈的过程中,算法才逐渐掌握了胜利的秘诀。
从这个角度来看,Zero的确可以说是第一次做到了无师自通,也正是出于这个原因,DeepMind这篇Nature论文才能引起这么多圈内人关注。
但要说它是“无监督学习”,就有点“不对”。孙剑说:“如果仔细看这个系统,它还是有监督的。”它的监督不是来自棋谱,而是围棋规则所决定的最后谁输谁赢这个信号。
“从这个意义上说,它不是百分之百绝对的无师自通,而是通过这个规则所带来的监督信号,它是一种非常弱监督的增强学习,它不是完全的无师自通。”
孙剑还进一步强调:“但是同时这种无师自通在很多AI落地上也存在一些局限,因为严格意义上讲,围棋规则和判定棋局输赢也是一种监督信号,所以有人说人类无用、或者说机器可以自己产生认知,都是对AlphaGo Zero错误理解。”
离全面碾压人类有多远?
Zero发布之后,媒体关切地询问“这个算法以后会用在哪些其他领域”,网友认真地担心“这个AI会不会在各个领域全面碾压人类”。
对于Zero算法的未来发展,DeepMind联合创始人哈萨比斯介绍说,AlphaGo团队的成员都已经转移到其他团队中,正在尝试将这项技术用到其他领域,“最终,我们想用这样的算法突破,来解决真实世界中各种各样紧迫的问题。”
DeepMind期待Zero解决的,是“其他结构性问题”,他们在博客中特别列举出几项:蛋白质折叠、降低能耗、寻找革命性的新材料。
哈萨比斯说AlphaGo可以看做一个在复杂数据中进行搜索的机器,除了博客中提到几项,新药发现、量子化学、粒子物理学也是AlphaGo可能大展拳脚的领域。
不过,究竟哪些领域可以扩展、哪些领域不行呢?
孙剑说要解释AlphaGo算法能扩展到哪些领域,需要先了解它现在所解决的问题——围棋——具有哪些特性。
首先,它没有噪声,是能够完美重现的算法;
其次,围棋中的信息是完全可观测的,不像在麻将、扑克里,对手的信息观测不到;
最后也是最重要的一点,是围棋对局可以用计算机迅速模拟,很快地输出输赢信号。
基于对围棋这个领域特性的理解,提到用AlphaGo算法来发现新药,孙剑是持怀疑态度的。
他说,发现新药和下围棋之间有一个非常显著的区别,就是“输赢信号”能不能很快输出:“新药品很多内部的结构需要通过搜索,搜索完以后制成药,再到真正怎么去检验这个药有效,这个闭环非常代价昂贵,非常慢,你很难像下围棋这么简单做出来。”
不过,如果找到快速验证新药是否有效的方法,这项技术就能很好地用在新药开发上了。
而用AlphaGo算法用来帮数据中心节能,孙剑就认为非常说得通,因为它和围棋的特性很一致,能快速输出结果反馈,也就是AlphaGo算法依赖的弱监督信号。
当然,从AlphaGo算法的这些限制,我们也不难推想,它在某些小领域内可以做得非常好,但其实并没有“全面碾压人类”的潜力。
去魅归去魅,对于AlphaGo Zero的算法,科研人员纷纷赞不绝口。
大道至简的算法
在评价Zero的算法时,创新工场AI工程院副院长王咏刚用了“大道至简”四个字。
简单,是不少人工智能“圈内人”读完论文后对Zero的评价。刚刚宣布将要跳槽伯克利的前微软亚洲研究院首席研究员马毅教授就发微博评论说,这篇论文“没有提出任何新的方法和模型”,但是彻底地实现了一个简单有效的想法。
为什么“简单”这件事如此被学术圈津津乐道?孙剑的解释是“我们做研究追求极简,去除复杂”,而Zero的算法基本就是在前代基础上从各方面去简化。
他说,这种简化,一方面体现在把原来的策略网络和价值网络合并成一个网络,简化了搜索过程;另一方面体现在用深度残差网络(ResNet)来对输入进行简化,以前需要人工设计棋盘的输入,体现“这个子下过几次、周围有几个黑子几个白子”这样的信息,而现在是“把黑白子二值的图直接送进来,相当于可以理解成对着棋盘拍照片,把照片送给神经网络,让神经网络看着棋盘照片做决策”。
孙剑认为,拟合搜索和ResNet,正是Zero算法中的两个核心技术。
其中拟合搜索所解决的问题,主要是定制化,它可以对棋盘上的每一次落子都进行量化,比如会对最终获胜几率做多大贡献,但是这其实并不是近期才产生的一种理论,而是在很早之前就存在的一种基础算法理论。
而另一核心技术是最深可达80层的ResNet。总的来说,神经网络越深,函数映射能力就越强、越有效率,越有可能有效预测一个复杂的映射。
下围棋时要用到的,就是一个非常复杂的映射,神经网络需要输出每个可能位置落子时赢的概率,也就是最高要输出一个361维的向量。这是一个非常复杂的输出,需要很深的网络来解决。
人类棋手下棋,落子很多时候靠直觉,而这背后实际上有一个非常复杂的函数,Zero就用深层ResNet,拟合出了这样的函数。
ResNet特点就是利用残差学习,让非常深的网络可以很好地学习,2015年,孙剑带领的团队就用ResNet把深度神经网络的层数从十几二十层,推到了152层。
也正是凭借这样的创新,孙剑团队拿下了ImageNet和MSCOCO图像识别大赛各项目的冠军。到2016年,他们又推出了第一个上千层的网络,获得了CVPR最佳论文奖。
而令孙剑更加意料之外的是,ResNet还被AlphaGo团队看中,成为AlphaGo Zero算法中的核心组件之一。
这位Face++首席科学家表示很开心为推动整个AI进步“做了一点微小的贡献”,同时也很钦佩DeepMind团队追求极致的精神。
任剑还说,在旷视研究院的工作中,还会不断分享、开放研究成果,更注重技术在产业中的实用性,进一步推动整个AI产业的进步。
另外,还有不少AI大咖和知名科研、棋手对AlphaGo Zero发表了评价,量子位汇集如下:
大咖评说AlphaGo Zero
李开复:AI进化超人类想象,但与“奇点”无关
昨天AlphaGo Zero横空出世,碾压围棋界。AlphaGo Zero完全不用人类过去的棋谱和知识,就再次打破人类认知。很多媒体问我对AlphaGo Zero的看法,我的观点是:一是AI前进的速度比想象中更快,即便是行业内的人士都被AlphaGo Zero跌破眼镜;二是要正视中国在人工智能学术方面和英美的差距。
一方面,AlphaGo Zero的自主学习带来的技术革新并非适用于所有人工智能领域。围棋是一种对弈游戏,是信息透明,有明确结构,而且可用规则穷举的。对弈之外,AlphaGo Zero的技术可能在其他领域应用,比如新材料开发,新药的化学结构探索等,但这也需要时间验证。而且语音识别、图像识别、自然语音理解、无人驾驶等领域,数据是无法穷举,也很难完全无中生有。AlphaGo Zero的技术可以降低数据需求(比如说WayMo的数据模拟),但是依然需要大量的数据。
另一方面,AlphaGo Zero里面并没有新的巨大的理论突破。它使用的Tabula Rosa learning(白板学习,不用人类知识),是以前的围棋系统Crazy Stone最先使用的。AlphaGo Zero里面最核心使用的技术ResNet,是微软亚洲研究院的孙剑发明的。孙剑现任旷视科技Face++首席科学家。
虽然如此,这篇论文的影响力也是巨大的。AlphaGo Zero 能够完美集成这些技术,本身就具有里程碑意义。DeepMind的这一成果具有指向标意义,证明这个方向的可行性。在科研工程领域,探索前所未知的方向是困难重重的,一旦有了可行性证明,跟随者的风险就会巨幅下降。我相信从昨天开始,所有做围棋对弈的研究人员都在开始学习或复制AlphaGo Zero。材料、医疗领域的很多研究员也开始探索。
AlphaGo Zero的工程和算法确实非常厉害。但千万不要对此产生误解,认为人工智能是万能的,所有人工智能都可以无需人类经验从零学习,得出人工智能威胁论。AlphaGo Zero证明了AI 在快速发展,也验证了英美的科研能力,让我们看到在有些领域可以不用人类知识、人类数据、人类引导就做出顶级的突破。但是,AlphaGo Zero只能在单一简单领域应用,更不具有自主思考、设定目标、创意、自我意识。即便聪明如AlphaGo Zero,也是在人类给下目标,做好数字优化而已。这项结果并没有推进所谓“奇点”理论。
南大周志华:与“无监督学习”无关
花半小时看了下文章,说点个人浅见,未必正确仅供批评:
别幻想什么无监督学习,监督信息来自精准规则,非常强的监督信息。
不再把围棋当作从数据中学习的问题,回归到启发式搜索这个传统棋类解决思路。这里机器学习实质在解决搜索树启发式评分函数问题。
如果说深度学习能在模式识别应用中取代人工设计特征,那么这里显示出强化学习能在启发式搜索中取代人工设计评分函数。这个意义重大。启发式搜索这个人工智能传统领域可能因此巨变,或许不亚于模式识别计算机视觉领域因深度学习而产生的巨变。机器学习进一步蚕食其他人工智能技术领域。
类似想法以往有,但常见于小规模问题。没想到围棋这种状态空间巨大的问题其假设空间竟有强烈的结构,存在统一适用于任意多子局面的评价函数。巨大的状态空间诱使我们自然放弃此等假设,所以这个尝试相当大胆。
工程实现能力超级强,别人即便跳出盲点,以启发式搜索界的工程能力也多半做不出来。
目前并非普适,只适用于状态空间探索几乎零成本且探索过程不影响假设空间的任务。
Facebook田渊栋:AI穷尽围棋还早
老实说这篇Nature要比上一篇好很多,方法非常干净标准,结果非常好,以后肯定是经典文章了。
Policy network和value network放在一起共享参数不是什么新鲜事了,基本上现在的强化学习算法都这样做了,包括我们这边拿了去年第一名的Doom Bot,还有ELF里面为了训练微缩版星际而使用的网络设计。另外我记得之前他们已经反复提到用Value network对局面进行估值会更加稳定,所以最后用完全不用人工设计的defaultpolicy rollout也在情理之中。
让我非常吃惊的是仅仅用了四百九十万的自我对局,每步仅用1600的MCTS rollout,Zero就超过了去年三月份的水平。并且这些自我对局里有很大一部分是完全瞎走的。这个数字相当有意思。想一想围棋所有合法状态的数量级是10^170(见Counting Legal Positions in Go),五百万局棋所能覆盖的状态数目也就是10^9这个数量级,这两个数之间的比例比宇宙中所有原子的总数还要多得多。仅仅用这些样本就能学得非常好,只能说明卷积神经网络(CNN)的结构非常顺应围棋的走法,说句形象的话,这就相当于看了大英百科全书的第一个字母就能猜出其所有的内容。用ML的语言来说,CNN的inductivebias(模型的适用范围)极其适合围棋漂亮精致的规则,所以稍微给点样本水平就上去了。反观人类棋谱有很多不自然的地方,CNN学得反而不快了。我们经常看见跑KGS或者GoGoD的时候,最后一两个百分点费老大的劲,也许最后那点时间完全是花费在过拟合奇怪的招法上。
如果这个推理是对的话,那么就有几点推断。一是对这个结果不能过分乐观。我们假设换一个问题(比如说protein folding),神经网络不能很好拟合它而只能采用死记硬背的方法,那泛化能力就很弱,Self-play就不会有效果。事实上这也正是以前围棋即使用Self-play都没有太大进展的原因,大家用手调特征加上线性分类器,模型不对路,就学不到太好的东西。一句话,重点不在左右互搏,重点在模型对路。
二是或许卷积神经网络(CNN)系列算法在围棋上的成功,不是因为它达到了围棋之神的水平,而是因为人类棋手也是用CNN的方式去学棋去下棋,于是在同样的道路上,或者说同样的inductive bias下,计算机跑得比人类全体都快得多。假设有某种外星生物用RNN的方式学棋,换一种inductive bias,那它可能找到另一种(可能更强的)下棋方式。Zero用CNN及ResNet的框架在自学习过程中和人类世界中围棋的演化有大量的相似点,在侧面上印证了这个思路。在这点上来说,说穷尽了围棋肯定是还早。
三就是更证明了在理论上理解深度学习算法的重要性。对于人类直觉能触及到的问题,机器通过采用有相同或者相似的inductive bias结构的模型,可以去解决。但是人不知道它是如何做到的,所以除了反复尝试之外,人并不知道如何针对新问题的关键特性去改进它。如果能在理论上定量地理解深度学习在不同的数据分布上如何工作,那么我相信到那时我们回头看来,针对什么问题,什么数据,用什么结构的模型会是很容易的事情。我坚信数据的结构是解开深度学习神奇效果的钥匙。
另外推测一下为什么要用MCTS而不用强化学习的其它方法(我不是DM的人,所以肯定只能推测了)。MCTS其实是在线规划(online planning)的一种,从当前局面出发,以非参数方式估计局部Q函数,然后用局部Q函数估计去决定下一次rollout要怎么走。既然是规划,MCTS的限制就是得要知道环境的全部信息,及有完美的前向模型(forward model),这样才能知道走完一步后是什么状态。围棋因为规则固定,状态清晰,有完美快速的前向模型,所以MCTS是个好的选择。但要是用在Atari上的话,就得要在训练算法中内置一个Atari模拟器,或者去学习一个前向模型(forward model),相比actor-critic或者policy gradient可以用当前状态路径就地取材,要麻烦得多。但如果能放进去那一定是好的,像Atari这样的游戏,要是大家用MCTS我觉得可能不用学policy直接当场planning就会有很好的效果。很多文章都没比,因为比了就不好玩了。
另外,这篇文章看起来实现的难度和所需要的计算资源都比上一篇少很多,我相信过不了多久就会有人重复出来,到时候应该会有更多的insight。大家期待一下吧。
清华大学马少平教授:不能认为AI数据问题解决了
从早上开始,就被AlphaGo Zero的消息刷屏了,DeepMind公司最新的论文显示,最新版本的AlphaGo,完全抛弃了人类棋谱,实现了从零开始学习。
对于棋类问题来说,在蒙特卡洛树搜索的框架下,实现从零开始学习,我一直认为是可行的,也多次与别人讨论这个问题,当今年初Master推出时,就曾预测这个新系统可能实现了从零开始学习,可惜根据DeepMind后来透露的消息,Master并没有完全抛弃人类棋谱,而是在以前系统的基础上,通过强化学习提高系统的水平,虽然人类棋谱的作用越来越弱,但是启动还是学习了人类棋谱,并没有实现“冷”启动。
根据DeepMind透露的消息,AlphaGo Zero不但抛弃了人类棋谱,实现了从零开始学习,连以前使用的人类设计的特征也抛弃了,直接用棋盘上的黑白棋作为输入,可以说是把人类抛弃的彻彻底底,除了围棋规则外,不使用人类的任何数据和知识了。仅通过3天训练,就可以战胜和李世石下棋时的AlphaGo,而经过40天的训练后,则可以打败与柯洁下棋时的AlphaGo了。
真是佩服DeepMind的这种“把革命进行到底”的作风,可以说是把计算机围棋做到了极致。
那么AlphaGo Zero与AlphaGo(用AlphaGo表示以前的版本)都有哪些主要的差别呢?
1。在训练中不再依靠人类棋谱。AlphaGo在训练中,先用人类棋谱进行训练,然后再通过自我互博的方法自我提高。而AlphaGo Zero直接就采用自我互博的方式进行学习,在蒙特卡洛树搜索的框架下,一点点提高自己的水平。
2。不再使用人工设计的特征作为输入。在AlphaGo中,输入的是经过人工设计的特征,每个落子位置,根据该点及其周围的棋的类型(黑棋、白棋、空白等)组成不同的输入模式。而AlphaGo Zero则直接把棋盘上的黑白棋作为输入。这一点得益于后边介绍的神经网络结构的变化,使得神经网络层数更深,提取特征的能力更强。
3。将策略网络和价值网络合二为一。在AlphaGo中,使用的策略网络和价值网络是分开训练的,但是两个网络的大部分结构是一样的,只是输出不同。在AlphaGo Zero中将这两个网络合并为一个,从输入到中间几层是共用的,只是后边几层到输出层是分开的。并在损失函数中同时考虑了策略和价值两个部分。这样训练起来应该 会更快吧?
4。网络结构采用残差网络,网络深度更深。AlphaGo Zero在特征提取层采用了多个残差模块,每个模块包含2个卷积层,比之前用了12个卷积层的AlphaGo深度明显增加,从而可以实现更好的特征提取。
5。不再使用随机模拟。在AlphaGo中,在蒙特卡洛树搜索的过程中,要采用随机模拟的方法计算棋局的胜率,而在AlphaGo Zero中不再使用随机模拟的方法,完全依靠神经网络的结果代替随机模拟。这应该完全得益于价值网络估值的准确性,也有效加快了搜索速度。
6。只用了4块TPU训练72小时就可以战胜与李世石交手的AlphaGo。训练40天后可以战胜与柯洁交手的AlphaGo。
对于计算机围棋来说,以上改进无疑是个重要的突破,但也要正确认识这些突破。比如,之所以可以实现从零开始学习,是因为棋类问题的特点所决定的,是个水到渠成的结果。因为棋类问题一个重要的特性就是可以让机器自动判别最终结果的胜负,这样才可以不用人类数据,自己实现产生数据,自我训练,自我提高下棋水平。但是这种方式很难推广到其他领域,不能认为人工智能的数据问题就解决了。
对于计算机围棋来说,以上改进无疑是个重要的突破,但也要正确认识这些突破。比如,之所以可以实现从零开始学习,是因为棋类问题的特点所决定的,是个水到渠成的结果。因为棋类问题一个重要的特性就是可以让机器自动判别最终结果的胜负,这样才可以不用人类数据,自己实现产生数据,自我训练,自我提高下棋水平。但是这种方式很难推广到其他领域,不能认为人工智能的数据问题就解决了。
Rokid祝铭明:数据学习到评分方法学习的切换
Alpha Zero的文章有多少人认真看过,就在传无监督学习,这次有意思的是方法其实有点回归传统规则指导的思考模式。如果这个算是无监督学习,那几十年前就有了。只是这次是超大空间下的基于规则的决策树裁决评分,文章最有价值的是把之前数据学习变成了评分方法学习,这个其实有点意思,对于规则清晰问题可以大大减少数据依赖。
简单说这个就是如何通过学习,避免对超大规模搜索树的遍历,同时保证决策打分的合理性。其实有点白盒子的味道。这方法的确在很多规则简单清晰,但空间规模大的问题上有启发意义,而且从理论上来说肯定比之前的基于数据学习的要优秀很多,因为过去的方法仍然对经验数据依赖。不过和大家说的无监督学习是两码事。这么说大家都能理解了吧。
即将加入加州伯克利的马毅教授
熬夜读完AlphaGo zero的Nature论文,深有感触:我们一生与多少简单而又有效的想法失之交臂,是因为我们或者过早认为这些想法不值得去做或者没有能力或毅力正确而彻底地实现它们?这篇论文可以说没有提出任何新的方法和模型——方法可以说比以前的更简单“粗暴”。但是认真正确彻底的验证了这个看似简单的想法到底work不work。在做研究上,这往往才是拉开人与人之间差距的关键。
柯洁九段
一个纯净、纯粹自我学习的AlphaGo是最强的…对于AlphaGo的自我进步来讲…人类太多余了。
还有一些零散讨论:
微软全球资深副总裁、美国计算机协会(ACM)院士Peter Lee认为这是一个激动人心的成果,如果应用到其他领域会有很多前景。其中的理论与康奈尔大学计算机系教授、1986年图灵奖获得者John Hopcroft之前下国际象棋的工作相似,而且Deepmind之前做的德州扑克比围棋搜索空间更大、更难。不过受限规则下的围棋跟现实世界的应用场景有天壤之别,现在的自动驾驶、商业决策比游戏复杂很多。
John Hopcroft提到了他常说的监督学习和非监督学习,因为给大量数据标标签是一件非常难的事情。他还说,现在AI还在工程阶段,我们先是把飞机飞向天,此后才理解了空气动力学。AI现在能告诉你是谁,未来能告诉你在想什么,再之后会有理论解释为什么这能工作。
美国人工智能学会(AAAI)院士Lise Getoor认为,在监督学习和非监督学习之上还有结构化学习,如何让机器发现可能是递归的ontological commitment。我们现在的深度学习模型可能存在structure bias。
杨强教授没有说话,不过AlphaGo Zero论文刚一发布,他担任理事会主席的国际人工智能大会(IJCAI)就为这支团队颁发了第一枚马文·明斯基奖章,可谓最高赞许。