繁体中文  
 
版主:bob
 · 九阳全新免清洗型豆浆机 全美最低
 
为何AlphaGo会占上风? zt
送交者:  2016年03月17日08:46:01 于 [世界时事论坛] 发送悄悄话

幼河

  在AlphaGo和李世石将对阵五盘棋之前,欧洲围棋冠军已以0:5惨败。大家普遍认为,那个欧洲冠军是水货,李世石将大胜AlphaGo。我也是这么认为的。为什么呢?因为我把AlphaGo想象成“深蓝”了。下围棋远比国际象棋更具有不确定性,AlphaGo如何赢得了?其实不然。

  李世石败给AlphaGo的第一盘后,人们都认为李世石没下好。从双方行棋上看,似乎有点别扭,或者说水平不高似的。但第二盘我就闭嘴了。我虽然围棋水平极其业余,但从盘面上看,李世石还是走出了他的风格的,然而败得更惨。职业围棋高手们质疑李世石为什么没有在行棋中使用打劫的战术(围棋中最常见的)。第三盘,据我看,李世石下得精彩,也进行了打劫,然而又是惨败!

  正当人们大都沮丧地预测李世石会以零比五惨败的时候,这位韩国“僵尸流”老将在3月13日绝地反击成功,第四盘取得中盘胜!李世石在行棋中展现出了自己的风格,在中央的战斗中,下出妙手,把AlphaGo“打得抽疯”。AlphaGo随后好不容易清醒过来,但已为时过晚。

  第四盘轮到李世石执白。对他来说已无胜负的压力,他真正放开了自己,走出了李世石风格的围棋。AlphaGo一如既往地“冷酷”,总是能从自己的角度客观判断局势。开局,李世石似乎落入下风,但整个局势按照他的期待进行。李世石的棋风擅长绞杀,在对方的阵势中寻找破绽。

  从白棋40手靠开始,棋局进入了李世石期待的局面,虽然大部分职业棋手都判断,李世石白棋困难,但李世石心中的真正想法只有他自己知道;他78手这一挖如鬼神般的一击,黑棋大空中的种种隐患被串联起来,顿陷困境。

  有趣的是,AlphaGo似乎对李世石的这步妙手感到很“意外”,接下来的招数明显看出“失去了睿智”。李世石甚至忍不住笑场。难道阿尔法也出现了“心理波动”?

  黑87不设计打劫直接逃出死子,黑93继续送吃,最不像话的是黑97,直接送吃黑子,韩国前方的研究室里爆发出哄笑声,人类此刻终于明白,AlphaGo电脑程序出现了异常;最终AlphaGo在180手中盘认输。

  而据“DeepMind”创始人哈萨比斯赛后发布Twitter指出:电脑的错误出现在李世石白78这一手后,AlphaGo直到第87手才反应过来,察觉自己在第79手就犯了错。也就是说,人机系列赛以来,电脑很可能是第一次出现判断上的错误,李世石的白78,导致AlphaGo误读了局面,并由此产生了一系列崩溃反应。

   

李世石和AlphaGo第四盘比赛的图谱:

http://slide.sports.sina.com.cn/go/slide_2_820_97489.html/d/1#p=1


  AlphaGo的DeepMind巩固学习小组负责人大卫-席尔瓦在赛后称,李世石的神之一手,可能点中了电脑此前不为人知的“BUG”:“衷心祝贺李世石九段,赢得漂亮。AlphaGo通过自我对局来进行学习,这样有可能会存在缺陷。我们不是职业棋手,正需要进行这场比赛,希望能寻找到这样的缺陷,发现AlphaGo的极限。今天在棋盘中央就看到了,李世石下得非常漂亮,我们希望能促进AlphaGo的进步。期待周二的第五盘比赛。”

  3月15日我满怀期待着第五盘李世石能继续挡住AlphaGo,结果苦战的李世石最终惜败。1比4,世界围棋高手与机器人的大战暂时结束。

  前四局战罢,AlphaGo的模样渐渐展现在大家面前,奇思妙想的布局,咄咄逼人的中盘,滴水不漏的官子,综合实力强大毋庸置疑。不过在李世石的探索下,AlphaGo的神话也被打破,它也会失误,并非无懈可击。

  第五局李世石执黑先行,选择了稳健的错小目,无忧角开局。阿尔法继续不走寻常路,很快走出新鲜的招法。不过李世石今天的战术非常明确——“先捞后洗”。围棋关于实地和外势的争辩很多,人类棋手更倾向于实地,AlphaGo则对外势似乎有着更深刻的理解。

  右下角AlphaGo的下法有些令人费解,白棋白白送死了数子。虽然这里本来就是黑棋的“地盘”但白棋还是损失了一些目数。据研究,局部白棋似乎有更好的下法。

  随着棋局进入中盘战斗,围棋的魅力也渐渐展现在大家面前。李世石左上角一手尖冲,意图顺势削弱中央白势,AlphaGo在空中反镇,中央模样渐渐成型。即使不太会下围棋的人,也能隐约读出这两手棋的棋盘语言,黑棋不利。

  后半盘AlphaGo被聂卫平评价为“十好几段”的实力开始展现;当然,李世石也并未放弃,虽然进入了读秒,但连续走出强硬的下法,期待把局势变得更加复杂。可惜,阿尔法稳扎稳打,把微弱的优势保持到最后,李世石于280手投子认负。本局李世石虽然失利,但还是展现出了自己风格,在AlphaGo强大的后半盘面前,李世石拼搏到了最后一刻。

 

李世石与AlphaGo的第五盘对局棋谱:

http://slide.sports.sina.com.cn/go/slide_2_820_97594.html/d/1#p=1


…………………………………………………………   

  怎么搞的,是不是AlphaGo越下越好了?就是这么回事儿!赶紧去看看AlphaGo的介绍吧。

 

AlphaGo的设计者

 

  和象棋相比,由于棋盘更大,围棋的走法更为复杂,围棋被看成是对人工智能研究人员的试金石,同时围棋比赛中对战略和推理的要求更具有挑战性。AlphaGo和李世石的世纪对弈吸引了无数目光,那群要用“机器”挑战人类的“Google大神”都是什么人?如果将神经系统科学家、人工智能程序员、电脑游戏设计者、国际象棋神童这几类人的见识结合到一起,你会得到什么?答案是:一个科技界的“银河护卫队”,也是Google在欧洲最大手笔收购的人工智能公司“DeepMind”。

  当史蒂芬·霍金、比尔·盖茨和马斯克都在极力反对发展AI(Artificial Intelligence 人工智能)时,进入这个领域看起来是蠢得不能再蠢的举动。但是DeepMind却正矗立在AI发展的前沿,英国媒体称,最不可能发生在这个团队身上的就是“愚蠢”。

  DeepMind科技公司位于伦敦,是一家专注于机器学习算法的初创公司,现有140多名研究人员。英国企业家穆斯塔法·苏莱曼与象棋大师杰米斯·哈萨比斯,以及计算机科学家谢恩·列格共同创办了DeepMind。杰米斯·哈萨比斯出生在伦敦,现年39岁,他是DeepMind的灵魂人物。13岁时,杰米斯·哈萨比斯就成为象棋大师,少年时曾沉浸于英国游戏界,不过现有的资料并没有显示他也懂得围棋。

  青少年时期,杰米斯·哈萨比斯曾在一场为游戏《太空侵略者》设计续集的比赛中获得第二名,并被游戏公司“牛蛙”相中。在牛蛙公司,哈萨比斯协助设计和发布了《主题公园》这款模拟现实游戏。17岁时,哈萨比斯去剑桥大学攻读计算机科学。整个大学期间,哈萨比斯一直没有脱离游戏的世界。1998年,他成立了自己的游戏公司Elixir Studios,不过他开发的游戏并没有取得他期待的那种成功。

  为了寻找灵感,哈萨比斯开始研究人脑。他在伦敦大学学院念完了神经科学博士,发表了12篇研究论文,并在该校的盖茨比计算神经科学所工作。在UCL期间,哈萨比斯研究的方向是海马体。海马体是人脑的一个区域,对方向感、记忆调取和未来事件的想象至关重要。

  早在被Google突然收购以前,DeepMind就是AI界最有实力的代表。公司创始人之一穆斯塔法·苏莱曼表示,DeepMind将在20年内开创出真正具有“意识”的人工智能形式。穆斯塔法·苏莱曼说:“这是我对改变世界、让世界变得更好所做的努力。”

  各大科技公司都在想方设法地模拟人类思维模式。2013年Facebook建立了一个人工智能研究组,以便更好地掌握帖子里透露出来的行为模式。IBM为自己的“认知计算”项目Watson投入了10亿美元。

  DeepMind试图通过研究脑细胞如何互相作用,制造出能够模仿人脑工作的软件。苏莱曼说,多数人工智能算法是依靠程序员将预编码“标签”附在数据上,DeepMind的做法与之不同。

  在接受《自然》杂志采访时,杰米斯·哈萨比斯透露了“嫁给Google”的原因:“我们有相似的公司文化,不过,主要原因还是这样的结合有助于加速研究步伐。Google拥有丰富的资源,比如数据、计算机,而我们有算法,这是一个很明智的结合。如果展望未来十年或更远的时间,我们会很激动有机会可以将现在的技术以及未来的技术进步累积起来,最终我们就能在人工智能的帮助下——无论是AI scientists还是AI-assisted scientists,取得科学进步,我们真的会取得科研上的新突破。”

 

AlphaGo是如何学围棋的?

 

  AlphaGo为何如此强悍,竟让世界顶级的围棋手连败?因为它突破了传统的程序,有了一些深度学习的能力。研究人员在AlphaGo的程序中搭建了两套模仿人类思维方式的深度神经网络。第一种叫“策略网络”它让程序学习人类棋手的下法,挑选出比较有胜率的棋谱,抛弃明显的差棋,使总运算量维持在可以控制的范围内。另一种叫“价值网络”,主要用于减少搜索的深度,它不会一下子搜索一盘棋所有的步数,而是一边下一边进行未来十几步的计算,这样也就大量减少计算量。

  这款程序还会自己与自己下棋,通过大量的锻炼,抛弃可能失败的方案,精中选精。“深度思维”(DeepMind)研究人员大卫·希尔韦表示,普通人一生时间能够进行的比赛数量是有限的,一年可能下一千盘,但阿尔法狗每天能下三百万盘棋。

 

  有网友介绍了AlphaGo在《自然》杂志上发表的文章。AlphaGo这个系统主要由几个部分组成:

  1. 走棋网络(Policy Network),给定当前局面,预测/采样下一步的走棋。

  2. 快速走子(Fast rollout),目标和1一样,但在适当牺牲走棋质量的条件下,速度要比1快1000倍。

  3. 估值网络(Value Network),给定当前局面,估计是白胜还是黑胜。

  4. 蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS),把以上这三个部分连起来,形成一个完整的系统。

  我们的DarkForest和AlphaGo同样是用4搭建的系统。DarkForest较AlphaGo而言,在训练时加强了1,而少了2和3,然后以开源软件Pachi的缺省策略

(default policy)部分替代了2的功能。以下介绍下各部分。

 

  1.走棋网络:

 

  走棋网络把当前局面作为输入,预测/采样下一步的走棋。它的预测不只给出最强的一手,而是对棋盘上所有可能的下一着给一个分数。棋盘上有361个点,它就给出361个数,好招的分数比坏招要高。DarkForest在这部分有创新,通过在训练时预测三步而非一步,提高了策略输出的质量,和他们在使用增强学习进行自我对局后得到的走棋网络(RL network)的效果相当。当然,他们并没有在最后的系统中使用增强学习后的网络,而是用了直接通过训练学习到的网络(SL network),理由是RL network输出的走棋缺乏变化,对搜索不利。

  有意思的是在AlphaGo为了速度上的考虑,只用了宽度为192的网络,而并没有使用最好的宽度为384的网络,所以要是GPU更快一点(或者更多一点),AlphaGo肯定是会变得更强的。

  所谓的0.1秒走一步,就是纯粹用这样的网络,下出有最高置信度的合法着法。这种做法一点也没有做搜索,但是大局观非常强,不会陷入局部战斗中,说它建模了“棋感”一点也没有错。我们把DarkForest的走棋网络直接放上KGS就有3d的水平,让所有人都惊叹了下。可以说,这一波围棋AI的突破,主要得益于走棋网络的突破。这个在以前是不可想像的,以前用的是基于规则,或者基于局部形状再加上简单线性分类器训练的走子生成法,需要慢慢调参数年,才有进步。

  当然,只用走棋网络问题也很多,就我们在DarkForest上看到的来说,会不顾大小无谓争劫,会无谓脱先,不顾局部死活,对杀出错,等等。有点像高手不经认真思考的随手棋。因为走棋网络没有价值判断功能,只是凭“直觉”在下棋,只有在加了搜索之后,电脑才有价值判断的能力。

 

  2. 快速走子

 

  那有了走棋网络,为什么还要做快速走子呢?有两个原因,首先走棋网络的运行速度是比较慢的,AlphaGo说是3毫秒,我们这里也差不多,而快速走子能做到几微秒级别,差了1000倍。所以在走棋网络没有返回的时候让CPU不闲着先搜索起来是很重要的,等到网络返回更好的着法后,再更新对应的着法信息。

  其次,快速走子可以用来评估盘面。由于天文数字般的可能局面数,围棋的搜索是毫无希望走到底的,搜索到一定程度就要对现有局面做个估分。在没有估值网络的时候,不像国象可以通过算棋子的分数来对盘面做比较精确的估值,围棋盘面的估计得要通过模拟走子来进行,从当前盘面一路走到底,不考虑岔路地算出胜负,然后把胜负值作为当前盘面价值的一个估计。这里有个需要权衡的地方:在同等时间下,模拟走子的质量高,单次估值精度高但走子速度慢;模拟走子速度快乃至使用随机走子,虽然单次估值精度低,但可以多模拟几次算平均值,效果未必不好。所以说,如果有一个质量高又速度快的走子策略,那对于棋力的提高是非常有帮助的。

  为了达到这个目标,神经网络的模型就显得太慢,还是要用传统的局部特征匹配(local pattern matching)加线性回归(logistic regression)的方法,这办法虽然不新但非常好使,几乎所有的广告推荐,竞价排名,新闻排序,都是用的它。与更为传统的基于规则的方案相比,它在吸纳了众多高手对局之后就具备了用梯度下降法自动调参的能力,所以性能提高起来会更快更省心。AlphaGo用这个办法达到了2微秒的走子速度和24.2%的走子准确率。24.2%的意思是说它的最好预测和围棋高手的下子有0.242的概率是重合的,相比之下,走棋网络在GPU上用2毫秒能达到57%的准确率。这里,我们就看到了走子速度和精度的权衡。

  和训练深度学习模型不同,快速走子用到了局部特征匹配,自然需要一些围棋的领域知识来选择局部特征。对此AlphaGo只提供了局部特征的数目,而没有说明特征的具体细节。我最近也实验了他们的办法,达到了25.1%的准确率和4-5微秒的走子速度,然而全系统整合下来并没有复现他们的水平。

  在AlphaGo有了快速走子之后,不需要走棋网络和估值网络,不借助任何深度学习和GPU的帮助,不使用增强学习,在单机上就已经达到了3d的水平,这是相当厉害的了。任何使用传统方法在单机上达到这个水平的围棋程序,都需要花费数年的时间。在AlphaGo之前,Aja Huang曾经自己写过非常不错的围棋程序,在这方面相信是有很多的积累的。

 

  3. 估值网络

 

  AlphaGo的估值网络可以说是锦上添花的部分,没有它AlphaGo也不会变得太弱,至少还是会在7d-8d的水平。少了估值网络,等级分少了480分,但是少了走棋网络,等级分就会少掉800至1000分。特别有意思的是,如果只用估值网络来评估局面(2177),那其效果还不及只用快速走子(2416),只有将两个合起来才有更大的提高。我的猜测是,估值网络和快速走子对盘面估计是互补的,在棋局一开始时,大家下得比较和气,估值网络会比较重要;但在有复杂的死活或是对杀时,通过快速走子来估计盘面就变得更重要了。考虑到估值网络是整个系统中最难训练的部分(需要三千万局自我对局),猜测它是最晚做出来并且最有可能进一步提高的。

  关于估值网络训练数据的生成,值得注意的是文章中的附录小字部分。与走棋网络不同,每一盘棋只取一个样本来训练以避免过拟合,不然对同一对局而言输入稍有不同而输出都相同,对训练是非常不利的。这就是为什么需要三千万局,而非三千万个盘面的原因。对于每局自我对局,取样本是很有讲究的,先用SL network保证走棋的多样性,然后随机走子,取盘面,然后用更精确的RL network走到底以得到最正确的胜负估计。

  令人吃惊的地方是,程序中完全没有做任何局部死活/对杀分析,纯粹是用暴力训练法训练出一个相当不错的估值网络。这在一定程度上说明深度卷积网络(DCNN)有自动将问题分解成子问题,并分别解决的能力。

 

  4. 蒙特卡罗树搜索

 

  这部分基本用的是传统方法,没有太多可以评论的,他们用的是带先验的UCT,即先考虑DCNN认为比较好的着法,然后等到每个着法探索次数多了,选择更相信探索得来的胜率值。而DarkForest则直接选了DCNN推荐的前3或是前5的着法进行搜索。我初步试验下来效果差不多,当然他们的办法更灵活些,在允许使用大量搜索次数的情况下,他们的办法可以找到一些DCNN认为不好但却对局面至关重要的着法。

  一个有趣的地方是在每次搜索到叶子节点时,没有立即展开叶子节点,而是等到访问次数到达一定数目(40)才展开,这样避免产生太多的分支,分散搜索的注意力,也能节省GPU的宝贵资源,同时在展开时,对叶节点的盘面估值会更准确些。除此之外,他们也用了一些技巧,以在搜索一开始时,避免多个线程同时搜索一路变化,这部分我们在DarkForest中也注意到了,并且做了改进。

 

  5. 总结

 

  总的来说,这整篇文章是一个系统性的工作,而不是一两个小点有了突破就能达到的胜利。在成功背后,是作者们,特别是两位第一作者David Silver和Aja Huang,在博士阶段及毕业以后五年以上的积累,非一朝一夕所能完成的。他们能做出AlphaGo并享有现在的荣誉,是实至名归的。

  从以上分析也可以看出,与之前的围棋系统相比,AlphaGo较少依赖围棋的领域知识,但还远未达到通用系统的程度。职业棋手可以在看过了寥寥几局之后明白对手的风格并采取相应策略,一位资深游戏玩家也可以在玩一个新游戏几次后很快上手,但到目前为止,人工智能系统要达到人类水平,还是需要大量样本的训练的。可以说,没有千年来众多棋手在围棋上的积累,就没有围棋AI的今天。

  在AlphaGo中,增强学习(Reinforcement Learning)所扮演的角色并没有想像中那么大。在理想情况下,人工智能系统能在对局中动态地适应环境和对手的招式并且找到办法反制之,但是在AlphaGo中增强学习更多地是用于提供更多质量更好的样本,给有监督学习(Supervised Learning)以训练出更好的模型。在这方面增强学习还有很长的路要走。

 

常见的几个问题:

 

  问题1:“Alphago的MCTS做rollout的时候,除了使用快速走子,还用了搜索树的已有部分,看起来像是AMAF/RAVE反过来:AMAF是把快速走子的信息传导到树的其它无关部分,Alphago是把树的其它无关部分拿来增强快速走子。我怀疑这是不是它棋力比其它DCNN+MCTS强的原因之一。”

  这个办法在解死活题的文章中出现过,会在一定程度上提高搜索效率,但是提高多少还不知道。

 

  问题2:“rollout的走法质量变好可能会导致棋力下降。”

 

  这里要分两种情况,tree policy和default policy。在AlphaGo的文章里面已经说过了,tree policy的分布不能太尖,不然在搜索时太过重视一些看起来的好着,可能使得棋力下降。但是除了这种原因,一般来说tree policy变好棋力还是会变强的。

  default policy这边,即(半)随机走子到最后然后判分,就很复杂了,质量变好未必对局面能估得更准。default policy需要保证的是每块棋的死活大体正确,不要把死的棋下成活的或者反之,而对大局观的要求反而没有那么高。双方完全可以配合着把每块棋下完,然后转战另一块,而不是说抢在对方前去别处占先手。

 

…………………………………………………………

  以上具体介绍AlphaGo如何下棋的我几乎没有删节。首先我不懂电脑编程,别把重要的部分给删掉。第二,我希望读者明白,AlphaGo之所以如此强大,就在于它会自我完善,自我学习。此前总听到科学家们声称“机器人早晚会毁灭人类”。我当时认为是耸人听闻,现在我看了AlphaGo下围棋后便不这么认为了。机器人会自我完善!

  这次人机大战,我当然希望李世石能赢,其心理就是不想让事实证明人类“很笨”;AlphaGo这个围棋智能机器人刚刚出世就把人类顶尖棋手杀得丢盔卸甲,我们是得不由自主地想到人类的尊严问题。

0%(0)
0%(0)
标 题 (必选项):
内 容 (选填项):
实用资讯
北美最大最全的折扣机票网站
美国名厂保健品一级代理,花旗参,维他命,鱼油,卵磷脂,30天退货保证.买百免邮.
一周点击热帖 更多>>
一周回复热帖
历史上的今天:回复热帖
2015: 【死到临头 懊悔已晚】
2015: 【与神较量自招祸端】
2014: 全民竞猜:马航客机“去哪儿了” z
2014: 北韓才是中國最危險的敵人 z
2013: 螃蟹的听觉在腿上
2013: 周总理不是主管军委,怎么军权始终在总
2012: 时事论坛各派别的分析
2012: 现在已经完全清楚了,胡温意志坚定,目
2011: 从日本救灾看,所谓民主就是乌合之众碰
2011: 就中国人最好骗 日本地震辐射引发国内“