AlphaGo之父:“它如果有上限,我们也还未发现”
Hassabis(左)、李世石(右)
这次争夺荣誉的战场在韩国首尔的一个棋盘上。韩国对围棋的热爱程度绝不亚于它的邻国,那个被称为最疯狂热爱围棋的国家——日本。让许多认为围棋是他们自己的日本人懊恼的是,这项运动最好的玩家(过去十年)普遍被认为是韩国的李世石。但这可能马上就要改变了。李世石正在与AlphaGo进行5场系列赛的对决。AlphaGo是由伦敦DeepMind公司开发的电脑程序,2014年被Google收购。虽然这次不是官方的冠军系列赛,但比分牌显示,李世石早已输掉了比赛。
围棋是一种古老的游戏,相传是中国秦始皇为指导他儿子发明的。围棋在东亚非地区非常流行,就像国际象棋在西方的位置一样。同时,围棋在计算机科学家当中也非常流行。尤其是对于人工智能研究人员,对打败围棋棋手一直有着一种迷恋。
人类在其他棋类比赛中,已经被机器打败。最著名的应该是1997年,历史上最优秀的国际象棋大师卡斯帕罗夫输给了“深蓝”。深蓝的表现比人类更好,但和围棋比起来,教电脑学会国际象棋简直就是轻而易举。
乍一看,这样说有点奇怪。围棋的规则简单,有限。棋分黑白,执黑子棋手先下。选手轮流放置棋子到19*19网格棋盘交叉点上。最终目的是使用棋子来圈地盘。在李世石和AlphaGo对弈的规则中,每个棋子,或者说每个被围着的交叉点,都决定最终分数。被对方棋子围着的棋子要被提走。可以重复出现提走和反提的情况(这种情况被称为“劫”),但棋手不允许立即反提对方的棋子,他必须先在别处下一棋子。直到其中一个人认输,游戏结束。
复杂多样的围棋
但是这种简洁是充满欺骗性的。在一个真实的简单游戏中,比如画圈打叉游戏,到游戏结束,每个可能的步数都是可以计算出来的。这意味着电脑可以计算出在某种特定情况下的最优下法。这种方法曾解决的最复杂游戏是国际跳棋,它大约有10^20(1000亿*10亿)次不同的下法。在2007年,经过18年的努力,研究者称他们找出了最佳战略。
但是国际跳棋的棋盘只有8*8个格子。而围棋棋盘的尺寸意味着这个游戏可走的数目是非常巨大的:粗略的估计为10^170。这么大的数字已无法通过类比来描述。它大概是我们可见宇宙中所有原子总和(大概在10^80的数量级)的100倍那么多。在围棋数百回合中,任一回合大约有250种下法,也被称为分支因子。因为选择其中任一种下法又将会出现250种可能的下法,以此往复直到游戏结束。就像DeepMind的创始人Demis Hassabis所说的,这意味着围棋是无法采取数学意义上的暴力算法。
而且这个游戏的难度不仅仅如此。虽然国际象棋的棋盘要小一些,规则也相对严格,大约只有10^47种不同的玩法,而且它的分支因子仅为35。但实际上,这也意味着对国际象棋的处理无法像国际跳棋那样。而代替的方法是,国际象棋程序会随着比赛的发展,选择看起来更有希望的步数,从而过滤掉其他选项,然后计算机能通过计算,模拟选择步数中衍生出来的成千上万个步数。这种方法是可行的,因为国际象棋有一些固定范式来帮助程序理解一个步数的好坏。例如,骑士通常比兵要有价值;皇后比任何棋子都有价值。(它们的标准价值分别为:3、1和9)。
Hassabis说,在围棋中胜出就难得多。因为对一个棋子的理解仅仅依靠于棋盘上其他棋子的相对位置,而且每一步都会发生变化。同时如每位围棋选手所知,小的战术可能在后面的比赛中产生巨大的战略影响。围棋还有足够多的定式,围棋选手会说到一些特征,例如梯子、墙和假眼,这些都是从规则中有机演化出来的,而不是规则规定的。
因为好选手通常都能击败差的选手,所以一定要有好的对战策略。但是就算是最好的选手也很难准确地描述他们是怎么做的,美国亚利桑那州立大学人工智能研究者Miles Brundage说。“职业围棋选手谈到很多通用原则,甚至是直觉。” Brundage说,“然而如果你跟职业围棋选手交谈,他们可以准确地解释在某一特定步数为什么那样走。”直觉非常好,但这对超越字面意思的电脑编程工作没有太大的帮助。在AlphaGo出现之前,最好的围棋程序也只是一个技术精湛的围棋业余爱好者水平。
AlphaGo的算法
AlphaGo使用了旧程序的某些相同技术。但是它得意的地方在于用新的方法把它们结合起来,试着让电脑发展出如何下棋的直觉——能自己发现人类选手理解却无法解释的原则。它采用深度学习的技术,通过重复地复杂统计,让电脑从巨大的无用数据中提取出通用的原则。
深度学习需要两个东西:足够多的处理单元及足够多的可供学习的数据。DeepMind用了3000万棋谱样本来训练机器,这些棋谱来自业余和职业选手聚集下棋的在线服务器。另外AlphaGo还通过自己互相对弈,进行微调,从而能快速产生更多的训练数据。
这些数据需要经过深度学习的两种算法处理。一是所谓的策略网络,用来训练模仿人类行为。看过数百万计的对局后,它已学会提取特征,原则和经验法则。它在对局中的工作就是观察棋盘的状态,并产生一些看起来更有希望的步数提供给第二个算法考虑。
第二个算法叫做价值网络,用来评估一个步数的致胜概率。机器会根据策略网络的建议,评估数以千计的走法。因为围棋如此复杂,所以将所有可能的走法都走完是不可能的。作为替代,价值网络会评估数个步数后可能的棋盘状态,并与它之前见过的例子进行比较。这种想法是找出统计意义上最像过去能够获胜的棋形。策略网络和价值网络结合起来构成了人类棋手需要通过几年实践才能累积的围棋智慧。
如同Brundage所指出的,暴力算法并没有被DeepMind完全摒弃。像许多深度学习系统一样,AlphaGo的性能随着计算单元的增加而改善,至少提升到了某个点。与李世石对战的系统使用了1920个标准处理芯片和280个原用于视频游戏的图形芯片。Brundage指出,目前AlphaGo领先于比赛的部分原因就是这些更加强悍的硬件上。他还指出,在AlphaGo的代码中隐藏着一个或两个手工写的特性。它们直接指示机器该怎么做,而不是让机器自己解决问题。尽管如此,Brundage认为,AlphaGo自我学习的方式与人类下围棋的方式已经非常相像,而“深蓝”与人类下国际象棋的方式却不那么相似。
商界和学术界对深度学习感到如此兴奋的一个原因是它有广阔的应用场景。AlphaGo采用的技术可以用来教电脑识别人脸,翻译语言,给网络用户展示相关广告或者从原子加速器的数据中捕获亚原子。因此,深度学习是一个蓬勃发展的商业领域。它快速推进电脑有效地识别图像和声音,同时例如谷歌、Facebook和百度这样的公司正在不断地向这一领域投钱。
深度学习也是建立通用人工智能所必不可少的。换句话说,通用人工智能就是像人类一样表现出广泛的,灵活的智能。DeepMind在2015年刊登的一篇关于深度学习的论文里,就描述了电脑通过简单地观察屏幕而教会自己玩49款经典的雅达利电子游戏。从“星球入侵”到“突围”等,整个过程没有得到人类的任何有用提示(甚至没有基础说明)。结束的时候,它比任何人类玩家都玩得好。(一个有意思的巧合,atari也是围棋里面表示一个棋子或一群棋子有危险被拿掉时的术语。Atari为多义词,可译为雅达利公司,或围棋术语“叫吃”)。
这样的游戏提供了衡量人工智能研究的便捷途径。棋类游戏,例如围棋,可用数学复杂度的量级来衡量。视频游戏也跨越了一系列的难度。比如,“星际入侵”是一个简单的在低分辨率屏幕上玩的游戏;对电脑来说,学会玩一个现代视频游戏,需要它能够解析更精致、更复杂的画面,以及要追求比杀死怪物更不明显的目标。Hassabis说,DeepMind接下去的目标之一就是建立一个仅仅通过观察人类牌局的视频就可以学会玩牌的机器。
我们还没有发现AlphaGo的上限
目前为止,Hassabis估计通用人工智能还有很长的路要走。深度学习的算法模式、识别能力让人印象深刻,但电脑依然缺少很多人类认为理所当然的智力工具。重要的一项就是“学习迁移”,即被人工智能研究者称为通过类比来推理的能力。这是将一个领域学习到的知识运用到其他领域的能力。而像AlphaGo这样的机器是没有这样的目标,它们最多意识到自己是一个文字处理器或是一款会计软件。
但简单说来,Hassabis对此是乐观的。在首尔,比赛开始的前一天,有30名左右的选手都一致认为机器将会被打败。“李世石是一个不断能下出新招的天才;什么机器可以复制这些?”其中一个人反问。在赛前记者招待会上,李世石说他有信心赢个5-0,或4-1。
坦白地说,他错了,比赛已经结束。“他是一个非常好的选手”Hassabis在赛前说。“但是我们内部测试发现一些不同的东西。”即使李先生设法取得了令人不可思议的胜利,人类也不可能在冠军宝座上呆多久。当AlphaGo算法经过微调,并收集更多的数据来学习,它就会越变越好。当问到AlphaGo的能力是否有上限时,Hassabis说他不知道:“如果有,我们也还未发现。”
下一篇:证券日报:周小川三论高储蓄率与股本融资,点题金融改革方向
【免责声明】本文仅代表作者本人观点,与董事局网无关。董事局网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
【董事局网版权与声明】
1、凡本网注明“独家稿件”的所有稿件和图片,其版权均属董事局网所有,转载时请注明“稿件来源:“董事局网”,违者本网将保留依法追究责任的权利。
2、凡没有注明“独家稿件”及其它转载的作品,均来源于其它媒体,转载目的在于传递更多信息,与本网立场无关,本网对其观点和真实性不承担责任。
3、如因作品内容、版权和其它问题需要同本网联系,请在发布或转载时间之后的30日以内进行。