飞扬围棋论坛

 找回密码
 注册
搜索
查看: 35526|回复: 30

[轉帖]陈经:分析AlphaGo算法巨大的优势与可能的缺陷

[复制链接]
发表于 2016-3-13 17:09 | 显示全部楼层 |阅读模式
本帖最后由 cateyes 于 2016-3-13 17:11 编辑

我覺得這篇文章寫不錯。讀研的時候用過點人工神經網絡,還有一點淺淺的印象。

http://sports.sina.com.cn/go/2016-03-13/doc-ifxqhmvc2382685.shtml
2016年03月13日12:02                                                                              观察者网

  2016年3月12日人机大战第三局,AlphaGo执白176手中盘胜李世石,以3:0的比分提前取得了对人类的胜利。
  这一局李世石败得最惨,早早就被AlphaGo妙手击溃,整盘毫无机会。最后李世石悲壮地造劫,在AlphaGo脱先之后终于造出了紧劫。但AlphaGo只靠本身劫就赢得了劫争,粉碎了AlphaGo不会打劫的猜想。这一局AlphaGo表现出的水平是三局中最高的,几乎没有一手棋能被人置疑的,全是好招。三局过去,AlphaGo到底实力高到什么程度,人们反而更不清楚了。
  看完这三局,棋界终于差不多绝望了,原以为5:0的,都倒向0:5了。有些职业棋手在盘算让先、让二子是否顶得住。整个历程可以和科幻小说《三体》中的黑暗战役类比,人类开始对战胜三体人信心满满,一心想旁观5:0的大胜。一场战斗下来人类舰队全灭,全体陷入了0:5的悲观失望情绪中。
  我也是纠结了一阵子,看着人类在围棋上被机器碾压的心情确实不好。但是承认机器的优势后,迅速完成了心理建设,又开心地看待围棋了。其实挺容易的,国际象棋界早就有这样的事了。这个可以等五盘棋过后写。
  现在我的感觉是,棋界整体还是对AlphaGo的算法以及风格很不适应。一开始轻视,一输再输,姿态越来越低,三盘过后已经降到一个很低迷沉郁的心理状态了。这也可以理解,我一个围棋迷都抑郁了一会,何况是视棋如生命的职业棋手。但是不管如何,还是应该从技术的角度平心静气地搞清楚,AlphaGo到底是怎么下棋的,优势到底在哪些,是不是就没有一点弱点了?
  现在有了三盘高水平的棋谱,质量远高于之前和樊麾的五盘棋谱。还有谷歌2016年1月28号发表在《自然》上的论文,介绍了很多技术细节,还有一些流传的消息,其实相关的信息并不少,可以作出一些技术分析了。
  之前一篇文章提到,从研发的角度看,谷歌团队把15-20个专家凑在了一起,又提供了巨量的高性能计算资源,建立起了整个AlphaGo算法研究的“流水线”。这样谷歌团队就从改程序代码的麻烦工作中解放出来,变成指挥机器干活,开动流水线不断学习进步,改善策略网络价值网络的系数。而且这个研发架构似乎没有什么严重的瓶颈,可以持续不断地自我提升,有小瓶颈也可以想办法再改训练方法。就算它终于遇到了瓶颈,可能水平也远远超过人类了。
  这些复杂而不断变动的神经网络系数是AlphaGo的独门绝技,要训练这些网络,需要比分布式版本对局时1200多个CPU多得多的计算资源。AlphaGo算法里还是有一些模块代码是需要人去写的,这些代码可不是机器训练出来的,再怎么训练也改不了,谷歌团队还不可能做到这么厉害。例如蒙特卡洛搜索(MCTS)整个框架的代码,例如快速走子网络的代码。这里其实有两位论文共同第一作者David Silver和Aja Huang多年积累的贡献。这些人写的代码,就会有内在的缺陷,不太可能是完美无缺的。这些缺陷不是“流水线”不眠不休疯狂训练能解决的,是AlphaGo真正的内在缺陷,是深度学习、self-play、进化、强化学习这些高级名词解决不了的。谷歌再能堆硬件,也解决不了,还得人去改代码。
  第一局开局前,谷歌就说其实还在忙着换版本,最新版本不稳定,所以就用上一个固定版本了。这种开发工作,有可能就是人工改代码消除bug的,可能测试没完,不敢用。
  总之,像AlphaGo这么大一个软件,从算法角度看存在bug是非常可能的。在行棋时表现出来就是,它突然下出一些不好的招数,而且不是因为策略网络价值网络水平不够高,而是MCTS框架相关的搜索代码运行的结果。如果要找AlphaGo潜在的bug,需要去仔细研究它的“搜索 ”。这可能是它唯一的命门所在,而且不好改进。
  那么MCTS的好处坏处到底是什么?幸运的是,Zen和CrazyStone等上一代程序,以及facebook田渊栋博士开发的Darkforest都用了MCTS。它们和AlphaGo虽然棋力相差很远,但是行棋思想其实很相似,相通之处远比我们想象的高得多。


  这是田渊栋贴的Darkforest对前两局的局势评分。可以看出,这个评分和棋局走向高度一致,完全说得通。而且谷歌也透露了AlphaGo对局势的评分,虽然一直领先,但第二局也有接近的时候,能够相互印证。如果到网上下载一个Zen,输入AlphaGo和李世石的对局,选择一个局面进行分析,也会有像模像样的评分出来。这究竟是怎么回事?
  从技术上来说,所谓的局势评分,就是程序的MCTS模块,对模拟的合理局面的胜率估计。连AlphaGo也是这样做的,所以几个程序才能对同样一个局面聊到一块去。所有程序的MCTS,都是从当前局面,选择一些分支节点搜索,一直分支下去到某层的“叶子”节点,比如深入20步。
  这个分支策略,AlphaGo和Darkforest用的是“策略网络”提供的选点,选概率大的先试,又鼓励没试过的走走。到了叶子节点后,就改用一个“快速走子策略”一直下完,不分支了,你一步我一步往下推进,比如再下200步下完数子定出胜负。这个走子策略必须是快速的,谷歌论文中说AlphaGo的快速走子策略比策略网络快1000倍。如果用策略网络来走子,那就没有时间下完了,和李世石对局时的2小时会远远不够用。下完以后,将结果一路返回,作一些标记。最后统计所有合理的最终局面,看双方胜利的各占多少,就有一个胜率报出来,作为局势的评分。一般到80%这类的胜率就没意义了,必胜了,机器看自己低于20%就中盘认输了。
  AlphaGo的创新是有价值网络,评估叶子节点时不是只看下完的结果,而是一半一半,也考虑价值网络直接对叶子节点预测的胜负结果。走子选择就简单了,选获胜概率最大的那个分支。机器也会随机下,因为有时几个分支胜率一样。
  MCTS这个框架对棋力最大的意义,我认为就是“大局观”好。无论局部如何激烈战斗,所有的模拟都永远下完,全盘算子的个数。这样对于自己有多少占地盘的潜力,就比毛估估要清楚多了。以前的程序,就不下到终局,用一些棋块形状幅射之类的来算自己影响的地盘,估得很差,因为一些棋块死没死都不清楚。MCTS就不错,下到终局死没死一清二楚。MCTS也不会只盯着局部得失,而是整个盘面都去划清楚边界。这个特点让几个AI对局势的评估经常很相似,大局观都不错。MCTS对于双方交界的地方,以及虚虚实实的阵势,通过打入之类的模拟,大致有个评估。当然这不是棋力的关键,大局观再好,局部被对手杀死也没有用,可能几手下来,局势评估就发生了突变。
  AlphaGo的大局观还特别好,特别准确,主要是它模拟的次数最多,模拟的质量最好。而且这个大局观从原理上就超过了人类!比如人看到一块阵势,如果不是基本封闭的实空,到底价值多少评估起来其实是非常粗的。高手点目时经常这样,先把能点的目算清楚,有一些小阵势如无忧角就给个经验目数,然后加上贴目算双方精确目数的差值,然后说某方的某片阵势能不能补回这个差值,需要扣除对方打入成的目数,孤棋薄棋减目数。这类估算有很多不精确的因素。
  AlphaGo就不一样了,它会真的打入到阵势里,来回模拟个几十万次,每一次都是精确的!人绝对没有能力像AlphaGo这么想问题,一定是利用经验去估算阵势的价值,误差就可能很大。极端情况下,一块空有没有棋,职业棋手根本判断不清,AlphaGo却可以通过实践模拟清楚,没棋和有棋相比,目数差别太大了。AlphaGo虽然不是严格证明,但通过概率性地多次打入模拟,能够接近理论情况,比人类凭经验要强太多了。我可以肯定,AlphaGo的大局观会远远超过职业高手,算目也要准得多,所以布局好、中后盘收束也很强大。甚至Zen之类的程序大局观都可能超过职业高手。
  例如第二局这个局面:

  李世石左下占了便宜,本来局势还可以。但是他70和72手吃了一子落了后手,被AlphaGo走到73,大局一下就落后了。这个在前面Darkforest对局势的评估图中都非常清楚,是局势的转折点。李世石要是手头有个Zen辅助,试着下两下都可能会知道70手不要去吃一子了。大局观不太好的职业高手,比如李世石就是个典型,大局观不如Zen真不一定是笑话。李世石比Zen强的是接触战全局战的手段,要强太多了。MCTS实事求是不怕麻烦下完再算子的风格,比起人类棋手对于阵势价值的粗放估算,是思维上先天的优势。
  AlphaGo比其它程序强,甚至比职业高手还强的,是近身搏杀时的小手段。

  第三局,李世石29和31是失着。29凑白30双,虽然获得了H17的先手,但是中间的头更为重要。当黑31手飞出后,白32象步飞可以说直接将黑击毙了。在盘面的左上中间焦点处,AlphaGo的快速走子网络会有一个7*7之类的小窗口,对这里进行穷举一样的搜索,用人手写的代码加上策略网络。32这步妙招可能就是这样找出来的,李世石肯定没有算到。但是AlphaGo是不怕麻烦的,就一直对着这里算,比人更容易看到黑三子的可怜结局。这个计算对人有些复杂,只有实力很强的才能想到算清楚,对AlphaGo就是小菜。李世石一招不慎就被技术性击倒了。AlphaGo对这种封闭局部的计算,是它超过人类的强项。
  但是AlphaGo的搜索是不是就天衣无缝了?并不是。来看第二局这个局面:

  AlphaGo黑41手尖冲,43手接出作战。最后下成这样,这是三局中AlphaGo被众多职业棋手一致认为最明显的一次亏损失误,如果它还有失误的话。我们猜想它为什么会失误。关键在于,这里是一个开放式的接触战,棋块会发展到很远的地方去。AlphaGo的小窗口封闭穷举搜索就不管用了,就只有靠MCTS在那概率性地试。这里分支很多,甚至有一个复杂的到达右上角的回头征。我认为AlphaGo这里就失去了可靠的技术手段,终于在这个人类一目了然的局面中迷失了。它是没有概念推理的,不知道什么叫“凭空生出一块孤棋”。也不确定人会在50位断然反击,可能花了大量时间在算人妥协的美好局面。

  再来看AlphaGo一个明确的亏损。第一局白AlphaGo第136手吃掉三子。这里是一个封闭局面,是可以完全算清楚的。可以绝对地证明,136手吃在T15更好,这里白亏了一目。但是为什么AlphaGo下错了?因为它没有“亏一目”的这种概念。只有最终模拟收完数子,白是179还是180这种概念,它根本搞不清楚差的一个子,是因为哪一手下得不同产生的,反正都是胜,它不在乎胜多少。除非是176与177子的区别,一个胜一个负,那136就在胜率上劣于T15了,它可能就改下T15了。
  这个局面白已经胜定了所以无所谓。但是我们可以推想,如果在对局早期,局部发生了白要吃子的选择,一种是A位吃,一种是B位吃,有目数差别,选哪种吃法?这就说不清了。AlphaGo的小窗口穷举,是为了保证对杀的胜利,不杀就输了。但是都能吃的情况下,这种一两目的区别,它还真不好编程说明。说不定就会下错亏目了。
  经过以上的分析,AlphaGo相对人类的优势和潜在缺陷就清楚多了。它的大局观天生比人强得多,因为有强大的计算资源保证模拟的终局数量足够,策略网络和价值网络剪枝又保证了模拟的质量。它在封闭局部的对杀会用一个小窗口去穷举,绝对不会输,还能找到妙手。它布局好,中盘战斗控制力强,都是大局观好的表现。它中后盘收束差不多都是封闭局面了,基本是穷举了,算目非常精确,几百万次模拟下来什么都算清了。想要收官中捞点目回去不是问题,它胜了就行;但是想收官逆转是不可能的,影响了胜率它立刻就穷举把你堵回去。
  但是封闭式局面的小手段中,AlphaGo可能存在不精确亏目的可能性,不知道怎么推理。在开放式接触战中,如果战斗会搞到很远去,它也可能手数太多算不清,露出破绽。但不会是崩溃性的破绽,要崩溃了它就肯定能知道这里亏了,不崩吃点暗亏它就可能糊涂着。目前来看,就是这么两个小毛病。
  另外还有打劫的问题。如果是终局打劫,那是没有用的,它就穷举了,你没有办法。如果是在开局或者中局封闭式局部有了劫争,由于要找劫,等于强制变成了杀到全盘的开放度最大的开放式局面了。这是AlphaGo不喜欢的,它的小窗口搜索就用不上了。而用MCTS搜索,打劫步数过多,就会超过它的叶子节点扩展深度,比如20步就不行了,必须“快速走子”收完了。这时它就胡乱终局了,不知道如何处理劫争,模拟质量迅速下降。所以,这三局中,AlphaGo都显得“不喜欢打劫”。但是,这不是说它不会打劫,真要逼得它不打劫必输了,那它也就被MCTS逼得去打了。如果劫争发生在早中期手数很多,在打劫过程中它就可能发生失误。
  当然这只是一个猜想。它利用强大的大局观与局部手段,可以做到“我不喜欢打劫,打劫的变化我绕过”,想吃就给你,我到别的地方捞回来。当然如果对手足够强大,是可以逼得它走上打劫的道路的,它就只好打了,说不定对手就有机会了。第三局李世石就逼得它打起了劫,但是变化简单它不怕,只用本身劫就打爆了对手。
  如果要战胜AlphaGo,根据本文的分析,应该用这样的策略:大局观要顶得住,不能早早被它控制住了。局部手段小心,不要中招。顶住以后,在开放式的接触战中等它自己犯昏。或者在局部定型中看它自己亏目。在接触战中,要利用它“不喜欢打劫”的特性,利用一些劫争的分枝虚张声势逼它让步,但又不能太过分把它逼入对人类不利的劫争中。这么看,这个难度还真挺高的。但也不是不可想象了,柯洁大局观好,比较合适。李世石大局观差,不是好的人类代表。
  本文进行了大胆的猜测,可能是一家之言。但我也是有根据的,并不是狂想。如果这篇文章能帮助人类消除对AlphaGo的恐惧,那就起到了作用。
  作者简介:笔名陈经,香港科技大学计算机科学硕士,中国科学技术大学科技与战略风云学会研究员,棋力新浪围棋6D。21世纪初开始有独特原创性的经济研究。2003年的《经济版图中的发展中国家》预言中国将不断产业升级,挑战发达国家。2006年著有《中国的“官办经济”》。
  致谢:感谢中国科学技术大学科技与战略风云学会会长袁岚峰博士(@中科大胡不归 )与其他会员的宝贵意见。
  (观察者网)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

发表于 2016-4-18 15:40 | 显示全部楼层
很高深,慢慢看
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-3-16 09:02 | 显示全部楼层
順便也轉介微軟人工智能專家的看法。

http://sports.sina.com.cn/go/2016-03-14/doc-ifxqhmve9169947.shtml

微软专家评AlphaGo:处弱人工智能阶段 离AI还很远
2016年03月14日16:00

  随着人机大战这几天AlphaGo的亮眼表现,媒体的风向开始对AI的评论一边倒,Wired撰文表示《人类棋类智慧的最后一块堡垒被攻破》,Slashdot撰文表示《真正的AI已经不远了》,但最近hunch上,一位微软专家在其博客上称,也许事实完全不是这样的。

  “以Go本身为例,它应用的蒙特卡洛树搜索法在Go身上异常有效,但用到其它棋类游戏就没有这么明显的作用了。

  而全球经典的机器学习算法,有确定型决策过程和马尔科夫决策过程以及其它决策过程,但它们一直没被广泛运用,是因为它们是基于表格式学习而不是函数拟合,所以我们转向了 Contextual Bandit的研究,但是就算是语境决策过程,我们都还只学了一点点,跟实际运用还差地挺远的。”

  另外,前几天,微软亚洲研究院芮勇也表示,总体上看,目前的人工智能产品都还处于弱人工智能阶段。目前人类只是在语音识别、语音合成、计算机视觉等方面做得比较不错,但采用的还是监督式的学习训练方式。如果计算机能够建立在非监督式的学习,那么将会开启另一个时代。(宗仁)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-16 09:04 | 显示全部楼层
本帖最后由 cateyes 于 2016-3-16 09:05 编辑

這個也很有意思。

http://digi.tech.qq.com/a/20160313/016046.htm

AI专家:AlphaGo缺少人类智能的一个关键元素
腾讯数码[微博] 肖恩2016年03月13日09:12
[摘要]当今许多强大的人工智能程序却没有目标,只能在人工辅助下学习事物。

腾讯数码讯(肖恩)在第三次击败当今最优秀围棋选手之一的李世石之后,谷歌的AlphaGo显然已经创造了历史。但人工智能需要多久可以达到人类的智力水平呢?对此,专家们的表达了自己的看法。

“史无前例”的功绩

人工智能及计算机科学家Richard Sutton认为,AlphaGo所取得的成就——以及自我改进的速度——都是“史无前例的”。IBM的深蓝花了至少10年时间才具备击败国际象棋世界冠军Garry Kasparov的能力。对比之下,AlphaGo从业余水平到击败世界冠军用了不到1年时间。

和国际象棋相比,围棋的变化要多得多。即便是对于今天的计算机而言,进行计算和分析也绝非易事。如此一拉,AlphaGo的成就就更让人刮目相看了。

Sutton认为,AlphaGo的成功主要得益于以下两种强大技术的结合:

1.蒙特卡洛树搜索:随机选择落子点,然后模拟整盘棋以寻找胜利策略

2.深度强化学习:一个模拟大脑连接的多层神经网络,当中包括选择下一个落子点的“策略网络”,以及预测获胜者的“价值网络”

但如果跳出围棋来看,Sutton表示,AlphaGo依然缺乏一个关键性的元素:了解世界运转方式的能力——比如理解物理定律和个人行为所导致的结果。

缺失的一环
智能系统可以被定义为能够设立并达成目标的东西。当今许多强大的人工智能程序却没有目标,只能在人工辅助下学习事物。对比之下,DeepMind的AlphaGo的确有一个目标——赢得围棋比赛——也可通过自己跟自己下棋来独立学习。

但是,围棋这种棋类运动都有一套明确的规则,因此AlphaGo可以遵守这些规则来达成目标。“但在现实世界当中,我们可没有游戏规则(可以遵守),也无法知道自身行为的后果。”Sutton说。

即便如此,Sutton并不认为开发出接近人类水平的人工智能是件遥不可及的事。

“我们有50%的几率能在2040年实现(人类水平的)智能——提前10年也不是不可能。”他说。

其他专家也认为人工智能的发展速度要比我们预料的更快。加州大学伯克利分校计算机科学教授、人工智能专家Stuart Russell认为,人工智能在许多领域里都展现出了大幅度的进步,而这个发展速度似乎还会越变越快。

但这并不是我们对人工智能心存恐惧的理由。“我并不认为人们应该害怕,”Sutton说道,“但我们的确应该去留意(人工智能的发展)。”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-20 08:12 | 显示全部楼层
本帖最后由 cateyes 于 2016-3-20 08:12 编辑

黃士傑提到的一些看法
http://sports.sina.com.cn/go/2016-03-18/doc-ifxqnski7725894.shtml
黄士杰揭阿尔法获胜关键 判断优势及最佳棋路
2016年03月18日17:35

  文/记者谭伟晟

  据自由日报消息,作为人工智能开发的新里程碑,Google旗下DeepMind团队所开发的AlphaGo系统,在最近一场与世界棋王顶尖对决中,最终以4比1拿下胜利,并且荣登世界棋士排行榜第二名的位置。这场让世人见证到人工智能的高速发展的赛事,也让幕后开发AlphaGo的DeepMind团队立时成为受瞩目对象。其中来自台湾的DeepMind成员、同时也是代AlphaGo在棋盘上落子的黄士杰,今天亲临Google台湾,要来分享AlphaGo的致胜关键!

  来自台湾的黄士杰,目前是Google旗下DeepMind团队的资深研究员,也是AlphaGo人工智能系统的重要开发者。而能够成为AlphaGo的关键人物。曾经开发过围棋人工智能、做过围棋老师的他,认为围棋是相当适合AI人工智能的挑战,特别是在深蓝在1997年击败人类后,围棋成为AI人工智能仍未取胜的领域。

  其中AlphaGo之所以能获胜,最主要的原因在于可以‘判断优势’、‘以及取得最佳的棋路’两大要素,透过学习人类千年来智慧的结晶,学习大量的棋谱与棋路,因此可以拥有类似人类的‘直觉’下法,无须穷举运算所有的棋路,就可以决定哪一个落子处,最有机会获的胜利。

  其中黄士杰表示,‘直觉’是围棋比赛中最重要的关键,职业棋士总会有神来一着,但他们也无从说起判断为何。黄士杰指出,这就是‘直觉’的重要性,透过优先找出更有优势、胜率更高的棋路,让计算机不必穷尽所有棋路可能,而可以选择最有胜率的20步,以采取胜率最高的策略。

  黄士杰提到,由于围棋的变化有10的170次方,若是想要把所有的棋路穷尽思量,那么几亿年也无法运算完。因此AlphaGo采取可以判断优势的‘策略网络’,辅以可以推断棋路的‘价值网络’,让AlphaGo能拥有类似人类的直觉,以便在围棋这类复杂的棋类运动中,与人类对弈、进一步取得胜利!

  黄士杰表示,在1990年时,人工智能还无法做到与人类较量围棋的能力,当时尽管让AI先下25个棋子,但仍会在最后全部被吃光落败。时至今日透过Google机器学习技术的帮助,AI的发展已经突飞猛进,在这次与李世石的对弈中,甚至获得5战4胜的成绩。

  不过回顾比赛当时、坐在李世石对面的黄士杰,其实是抱着相当尊敬的心情与李世石对弈。包含避免喝水、离席、以及过多的脸部表情,都是基于尊敬李世石、不想要干扰他的比赛而产生的行为,这更让赛后李世石提到,与他对弈的黄士杰有着职业棋手的气势。黄士杰表示,在赛中他可能只有意外地笑了一次,而那次是因为李世石击败了AlphaGo,他由衷为李世石感到开心的笑容。

  然而面对李世石在第四局的78手落子,为何最终会导致AlphaGo的误判、导致这个人工智能最后选择投降,黄士杰表示这确实可能是AlphaGo的BUG,但目前还不清楚是策略网络的误判、还是价值网络提供了错误的讯息,DeepMind团队还在研究导致战败的原因。

  说到战败,黄士杰提到其实AlphaGo只要觉得‘没希望了’,就会主动投降,也就是在胜率低于20%的情况下,系统会弹出投降窗口,也就是在第四战大家看到的画面。但这并非意味着AlphaGo有办法事前预测和李世石对弈时,可能获胜的机率有多少。黄士杰强调,AlphaGo的胜率判断,必须基于和对方正式交手后才能判断,因此在还没比赛前,AlphaGo自己也不知道获胜的机会有多大。

  而这种判断机制,也让AlphaGo在第五战成功逆转胜。除了因为学习了李世石在前四战的棋路外,先前透过两个AlphaGo系统的自主对弈训练,也是让这个人工智能系统有着超越人类围棋能力的关键。

  未来AlphaGo有机会应用在其他领域上,特别是医疗领域,DeepMind已经有团队特别在进行这方面的项目。但对于人工智能不断发展,是否会出现类似‘天网’的人工智能威胁?黄士杰强调,人工智能的使用依旧取决于人类如何使用,而DeepMind团队也相当重视这个问题,Google内部甚至有伦理委员会,来决定科技的使用方式是否正确。

  至于AlphaGo未来会不会挑战其他项目,像是《星际争霸》这类的实时战略游戏?黄士杰认为短时间内不可能,主要原因是实时战略游戏不同围棋,他有太多不确定的因素,对于人工智能而言还太过困难。他特别指出,人工智能目前仍是早期阶段,还没有办法创造出主动式的意识,因此未来还有很长的路要走。
回复 支持 反对

使用道具 举报

发表于 2016-3-20 15:31 | 显示全部楼层
科普了,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-24 17:41 | 显示全部楼层
本帖最后由 cateyes 于 2016-3-24 17:52 编辑

http://tech.ifeng.com/a/20160309/41560469_0.shtml

原标题:专访脸书围棋项目负责人:谷歌围棋做得很好,但算法并无新意
2016年03月09日 07:04 来源:澎湃新闻 作者:孙远

  在Facebook内部,判断一个项目的重要程度,有一种很直观的方法:看看这个项目的负责人离扎克伯格的办公桌有多远。

  田渊栋在Facebook的办公桌离CEO扎克伯格只有6米远(20英尺),他的前排坐着的是Facebook的COO谢丽尔·桑德伯格(Sheryl Sandberg)。这样的座位安排,一开始让这个围棋项目负责人觉得有点小慌,但这足以凸显这一人工智能项目在Facebook公司中的重要性。

  从美国卡耐基梅隆大学机器人学院取得博士学位后,这位来自上海的田渊栋加入谷歌无人车项目,随后跳槽到Facebook人工智能实验室。田渊栋的个人简历丰富多彩,最近,他的围棋对弈项目更是得到了扎克伯克的公开点名表扬。

  因为喜欢科幻小说《三体》,来自上海的小伙子将自己的围棋对弈项目命名为黑暗森林(DarkForest)。在谷歌AlphaGo战胜欧洲冠军樊麾,引爆全球关注人机对弈的人工智能前,这个项目在Facebook人工智能实验室里低调而神秘。

  “这个项目是从去年5月开始,两个人,在不到半年的时间里,虎口拔牙似得抓到一些进展,已是十分不易,任何一个地方只要动作慢了点,都不会有现在的成果。能被小扎点名我是始料未及,我感到非常荣幸。”田渊栋在接受澎湃新闻(www.thepaper.cn)专访时表示。

  就在3月9日,谷歌AlphaGo将对韩国围棋冠军李世石发起挑战,展开5局的对决。作为谷歌AlphaGo的竞争对手,田渊栋没有正面回答澎湃新闻提出的是否看好谷歌获胜的问题,但他表示谷歌的人工智能确实做得很好,自己也很期待比赛。

  谷歌DeepMind创始人之一丹米斯·哈撒比斯则对自己的人工智能充满信心,他曾在赛前透露说:“骗招对付不了‘阿尔法’。它现在正以无数的棋谱数据为基础进行‘深度学习’,不断地完善自己,并通过自我模拟对局提高实力。此外,电脑超强的学习能力是人脑无法比拟的,‘阿尔法’现在已学习了相当于人类1000年的学习量,所以它这几个月的棋力已得到了显著提高。”

  据国外媒体报道,谷歌公司目前正用两台超级计算机模拟人类实战,每天的对局量上百盘,每盘棋的计算机投入成本大约为300美元,此外研发团队还对围棋软件有针对性地进行了很多测试。有专家认为,与去年10月的“阿尔法围棋”软件相比,今年3月版的“阿尔法围棋”经过这五个月时间的强化与完善,肯定已产生巨大的飞跃,李世石所面对的将是另外一只“猛兽”。

  作为先后在谷歌和Facebook工作的研究员,田渊栋非常清楚两个科技公司在人工智能领域的各自优势。在采访中,他更是分析了两者之间的差距。

  在开赛前,先听听竞争对手的分析,或许更容易理解明天的比赛。

  被扎克伯格点赞始料未及,我感到非常荣幸

  2013年底,著名人工智能学者、纽约大学教授在YannLeCun在自己的个人社交网站上宣布受聘于Facebook,成立人工智能研究实验室,致力于“宏大长远的目标,要给人工智能带来重大突破”。至此开始,在Yann LeCun的带领下,Facebook在人工智能领域里招兵买马,扩充实力。

  田渊栋称,进入Facebook后,自己手上有七八个研究项目,DarkForest还是其中最不起眼的一个。

  “到去年8月份左右,我们走子网络的性能已经超过了谷歌DeepMind在2014年底发表的文章的水平。今年一月底谷歌文章出来后,以20人一年半的团队和完美的公关,让全世界开始关注围棋。但DarkFores,靠两个人花半年时间,虎口拔牙抓到一些进展,已是十分不易,任何一个地方动作稍慢一点,都不会有现在的成果。”田渊栋说。

  澎湃新闻:谷歌有alphaGo项目,我们知道Facebook也有针对棋类对弈的darkforest项目,作为这个项目的负责人,扎克伯格也曾点名表扬你的工作成果,你能否简单介绍自己在做的工作?

  田渊栋:这个项目是去年5月开始的,当时我刚加入Facebook AI,开了七八个研究项目,这是其中不很起眼的一个。一开始我也不是很看好,只是为了实验一个想法而收集了下数据。后来这个想法没做出来,但是既然有数据有平台了,还不如继续做下去。当时第二作者朱岩在我们组实习,他手上的另一个项目刚结束,我就问他是不是有兴趣,他觉得挺有意思的就开始合作了。

  到去年8月份左右,我们走子网络的性能已经超过了谷歌DeepMind在2014年底发表的文章的水平。于是我就把代码重新写了一遍(之前是用各种开源程序拼凑起来的),开始搭建我们自己的系统,同时把现有的走子网络放在KGS(世界上最大的围棋服务器之一,一般任何时刻同时有超过一千五百人在线)上开始和别人对战,DarkForest这个名字就是那时候起的。

  去年9月份,我尝试了预测下3步而非下1步的方案,看到性能一直在提高,这时我觉得深度神经网络加上蒙特卡罗树搜索,可能会得到很不错的围棋程序。到10月份基本上蒙特卡罗树搜索的框架有了,但是还有很多bug,因为另一个项目(基于图片的问答系统)的时间吃紧,花在围棋上的时间不多。到11月份问答系统差不多了,我再回过头来做围棋,我们当时的计划是再慢慢做做准备投稿2016年2月份的ICML(国际机器学习大会),后来讨论了一下,决定还是试一试15年11月中旬的ICLR(国际机器人顶级会议)。这时候离ICLR的截稿日期还有三周。这三周加班加点,如期得到了一个还不错的系统,投了ICLR,文章放在arXiv(由美国国家科学基金会和美国能源部资助,在美国洛斯阿拉莫斯国家实验室建立的电子预印本文献库,始建于1991年8月)上公开了。

  大家也知道了Facebook在做围棋。国外的ComputerGo(计算机围棋对战)论坛一开始不相信我们的程序不经盘面搜索到3段,后来因为我们在网上放久了,打定段战确实能到3段,才渐渐服众,各种媒体报道也纷至沓来。现在看起来,我们做的工作吹响了这一波围棋AI突破的号角。

  之后就是继续改进蒙特卡罗树搜索,另外,组里一位工程师Tudor Bosman花了一周把我们的程序改成了分布式,到12月底,我们在KGS上到了5段的水平,很多人找我们下棋,包括最强大脑鲍云和一位韩国的职业选手,我们也在继续改进。当时已经有传言说谷歌战胜了职业选手,不过我们还是尽力而为。一月份KGS的比赛我们因为有个bug超时拿了第三名,不然是可以胜Zen拿第一的。最后一月底谷歌的文章出来,以20人一年半的团队和完美的公关,让全世界开始关注围棋,也确证了之前的传言。而我们投稿ICLR的文章也中稿了。总的来说,这个项目还是比较成功的。这次我们能两个人花半年时间,虎口拔牙抓到一些进展,已是十分不易,任何一个地方动作慢点,都不会有现在的成果。被小扎点名我是始料未及,我感到非常荣幸。

  澎湃新闻:对于外界来说,关于Facebook的人工智能实验室,一直有非常多的期待,除了darkforest项目,图像识别项目也活跃在各个报纸的版面上,除此之外,Facebook人工智能实验室的研究方向还有哪些?

  田渊栋:Facebook AI Research (简称FAIR) 目前在加州门洛帕克、纽约曼哈顿和法国巴黎有三个分部,巴黎分部刚刚公开。总的来说,学术氛围是非常浓厚,大家坐在Facebook新建的20楼中央做深度学习的研究,目标是发高质量的文章,做有影响力的前沿工作。研究方向相对自由宽松,研究所需的计算资源(如GPU)相对丰富,同时也没有近期的产品压力,可以着眼长远做困难和本质的研究问题。这样的学术氛围除了MSR之外,在各大公司是极其少见的。

  扎克伯格之前提过Facebook将来的三大主要方向,其中之一就是人工智能,目前看来公司也确实非常看重我们这个组。我后面就是COO,斜后方是CEO,一开始有点小慌,不过时间长了也就习惯了。

  FAIR正式成立是在前年12月至去年一月,然后陆续招人,时间还不长,重要的公开工作有DeepFace,运用深度学习将人脸识别(更准确说是人脸判定)提高到人类级别。记忆网络,在深度学习中加入长期记忆(Long-term memory)以构建自然语言问答系统,开源深度学习框架Torch的更新和推广,运用快速傅利叶变换加速卷积运算的CuFFT等等。目前还有许多非常有影响力的工作正在进行中,敬请期待。

  在深度学习的时代,研究和工程已经有融合的趋势,因此FAIR这两方面的大牛都有。工作气氛上来说,组内较平等,讨论自由,基本没有传统的上下级观念。若是任何人有有趣的想法,大家都会倾听并且作出评论。要是想法正确,Yann也会喜欢。

  没有人逼着干活,但大家都在努力干活。

  黑暗森林VS阿尔法Go谁会赢?

  据田渊栋的介绍,两家公司在围棋对弈项目里使用的人工智能技术有一定的重合性,但谷歌在快速走子(Fast rollout)和估值网络(Value Network)两方面有所加强,Facebook的研究则是以开源软件Pachi的缺省策略(default policy)部分替代了快速走子的功能。

  澎湃新闻:看到你从走棋网络、快速走子、估值网络、蒙特卡罗树搜索等四个方面对AlphaGo进行了分析,在这四个方面,您觉得谷歌哪个方面做得最好,与你们的差异在那里?

  田渊栋:AlphaGo这个系统主要由几个部分组成:一是走棋网络(Policy Network),即给定当前局面,预测/采样下一步的走棋。二是快速走子(Fast rollout),和目标一是一样的,但在适当牺牲走棋质量的条件下,速度要比1快1000倍。三是估值网络(Value Network),给定当前局面,估计是白子胜还是黑子胜。四是蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS),把以上这三个部分连起来,形成一个完整的系统。

  我们的DarkForest和AlphaGo同样是用蒙特卡罗树搜索搭建的系统。只是相较AlphaGo而言,在训练时加强了走棋网络,少了快速走子和估值网络,然后以开源软件Pachi的缺省策略(default policy)部分替代了快速走子的功能。

  另外,据他们的文章所言,AlphaGo整个系统在单机上已具有了职业水平,若是谷歌愿意开几万台机器和李世石对决,相信比赛会非常精彩。

  澎湃新闻:Facebook人工智能实验室主管Yann LeCun一直希望各家人工智能平台能做到开源,这样有利于人工智能的发展,你是否也赞同这种观点?为什么?

  田渊栋:我十分赞同,只有充分交流才能让大家发展得更快更好。深度学习近两年的大进展很大程度上得益于像torch和caffe这样开源的计算平台,让其它人能很快复现前人结果并加以改进。

  澎湃新闻:相较alphaGo取得的成绩,darkforest的下一步目标是什么?不断改进版本后,你们希望自己的围棋AI能达到什么样的水平?

  田渊栋:目前还在改进中,会参加三月在日本的比赛。之后的目标暂不公开,我也在思考中。

  澎湃新闻:此次alphaGo与李世石,你是看好alphaGo还是李世石?无论结果如何,我们应该如何看待这样一场对决?

  田渊栋:我不做预测,我只说很期待。

  澎湃新闻:谷歌和Facebook成立人工智能实验室、通过收购公司,布局人工智能,作为一名人工智能研究人员,你认为这两个公司是不是已经代表硅谷人工智能研究领域的最高水平?

  田渊栋:可以说这两个实验室网罗了全球人工智能领域最顶尖的研究和工程方面的人才,并且还在继续网罗中。我们今年还会招挺多人,欢迎大家投简历。

  “我对人工智能持乐观态度,但大家期望先不要太高”

  科学技术的进步带来了人类生活质量的提高,同时也在改变人类。面对这些改变,有些人看到的是恐惧。他们担心当机器变得越来越智能,甚至会超过人类时,会变成可怕的恶魔。基于此,霍金、特斯拉CEO马斯克还成立了防范人工智能威胁联盟。

  但田渊栋个人对人工智能持乐观态度。因为就目前的人工智能发展水平而言,还存在很多问题,在创造性工作,处理突发事件,分析未知事件等方面还远不如人类。

  澎湃新闻:你曾评论说“到目前为止,人工智能系统要达到人类水平,还是需要大量样本的训练的。可以说,没有千年来众多棋手在围棋上的积累,就没有围棋AI的今天。”需要依赖于数据输入,这是不是人工智能一直未突破的瓶颈之一?如何才能找到解决方法?

  田渊栋:数据是现代基于统计推断的人工智能的发动机,没有数据大家就只能回到70年代的专家系统的老路里去了。关于如何突破,所有的人工智能专家都在努力中,我现在随便说两个未经实验验证的解决方案,不免贻笑大方,这里就不展开了。方法论上说,给顶尖人才充分的自由度和大量的资源,让他们作不停的努力和尝试,容许犯错,鼓励创新,就会看到进展的。

  澎湃新闻:作为研究人员,你觉得未来围棋AI能应用到人类生活的哪些领域,帮助人类改善生活?

  田渊栋:太多了,说AI能改变人类生活的方方面面,是毫不夸张的。现在的成果主要是能让AI接近人的感知能力(比如说图像,语音,自然语言理解),从而增进人与AI及人与人之间的交流,降低沟通成本,对一些程序性的交流可以自动化。

  澎湃新闻:有哪些人类的活动是人工智能无法替代的?

  田渊栋:目前像创造性工作,处理突发事件,分析没见过的问题,这些事情,人工智能与人相比还远远不如。以后的情况我不知道,如果都能随便精准预见了,那科学家的存在就没有意义了。未来是要由我们的手去开拓的,我们的努力本身,就是“让未来变得更清楚”这一目标的一部分。

  澎湃新闻:人工智能威胁论也是争议焦点,此前特斯拉CEO马斯克曾联联合霍金成立防范人工智能联盟,最近扎克伯克对此观点进行了驳斥,你怎么看待人工智能威胁论?

  田渊栋:我是持乐观态度的,我的观点是:“机器会适应我们,我们也会适应机器,最后……新的人类在探索中崛起,我们有了新的三观,新的喜怒哀愁,浑然不觉旧的人类早已在欢笑中灭亡,在岁月中死去。我们所有的故事,都会被未来子孙们写进一本叫作《地球往事》的书里,每当在茶余饭后的谈及,便会招来一阵夹杂着同情与羡慕的复杂心绪,而后,他们便会抱怨难以开采的行星,抱怨不够快速的星际通信,或是追不到手的外星美女,然后,继续自己的生活。所以,继续我们的生活吧。”
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2016-4-29 10:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2016-6-1 14:18 | 显示全部楼层
慢慢消化 看了第一楼
回复 支持 反对

使用道具 举报

发表于 2016-6-1 14:42 | 显示全部楼层
看了这篇,感觉赶超职业指日可待
回复 支持 反对

使用道具 举报

发表于 2016-6-8 11:20 | 显示全部楼层
说句老实话,陈经这篇,扯淡的居多,嘿嘿。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-10 17:45 | 显示全部楼层

[轉帖]陈经:AlphaGo升级成Master后的算法框架分析

http://www.guancha.cn/chenjing/2017_01_09_388464_s.shtml
陈经风云学会会员,《中国的官办经济》2017-01-09 15:51:05



        【文/观察者网专栏作者 陈经】
        2016年12月29日至2017年1月4日,谷歌AlphaGo的升级版本以Master为名,在弈城围棋网和野狐围棋网的快棋比赛中对人类最高水平的选手取得了60:0的压倒战绩,再次让人们对围棋AI的实力感到震惊。
        之前《自然》论文对AlphaGo的算法进行了非常细致的介绍,世界各地不少研发团队根据这个论文进行了围棋AI的开发。其中进展最大的应该是腾讯开发的“刑天”(以及之前的版本“绝艺”),职业棋手和棋迷们感觉它的实力达到了2016年3月与李世石对战的AlphaGo版本。但是经过近一年的升级,Master的实力显然比之前版本要强得多,它背后的算法演变成什么样了,却几乎没有资料。本文对AlphaGo的升级后的算法框架进行深入的分析与猜测,试图从计算机算法角度揭开它的神秘面纱一角。
       
        在1月4日AlphaGo团队的正式声明中,Deepmind提到了“our new prototype version(我们新的原型版本)”。prototype这个词在软件工程领域一般对应一个新的算法框架,并不是简单的性能升级,可能是算法原理级的改变。由于资料极少,我只能根据很少的一些信息,以及Master的实战表现对此进行分析与猜测。
        下文中,我们将2015年10月战胜樊麾二段的AlphaGo版本称为V13,将2016年3月战胜李世石的版本称为V18,将升级后在网络上60:0战胜人类高手群体的版本称为V25(这个版本Deepmind内部应该有不同的称呼)。
        V13与V25:从廖化到关羽
        版本V13的战绩是,正式的慢棋5:0胜樊麾,棋谱公布了,非正式的快棋3:2胜樊麾,棋谱未公布。樊麾非正式快棋胜了两局,这说明版本V13的快棋实力并不是太强。
        版本V18的战绩是,每方2小时3次1分钟读秒的慢棋,以4:1胜李世石。比赛中AlphaGo以非常稳定的1分钟1步的节奏下棋。比赛用的分布式机器有1202个CPU和176个GPU,据说每下一局光电费就要3000美元。
        版本V25的战绩是,Master以60:0战胜30多位人类棋手,包括排名前20位的所有棋手。比赛大部分是3次30秒读秒的快棋,开始10多局人们关注不多时是20秒读秒用时更短,仅有一次60秒读秒是照顾年过六旬的聂卫平。比赛中Master每步几乎都在8秒以内落子,从未用掉过读秒(除了一次意外掉线),所以20秒或者30秒对机器是一回事。在KGS上天元开局三局虐杀ZEN的GodMoves很可能也是版本V25,这三局也是快棋,GodMoves每步都是几秒,用时只有ZEN的一半。
        可以看出,版本V13的快棋实力不强。而版本V18的快棋实力应该也不如慢棋,谷歌为了确保胜利,用了分布式的版本而非48个CPU与8个GPU的单机版,还用了每步1分钟这种在AI中算多的每步用时。在比赛中,有时AlphaGo的剩余用时甚至比李世石少了。应该说这时的AlphaGo版本有堆机器提升棋力的感觉,和IBM在1997年与卡斯帕罗夫的国际象棋人机大战时的做法类似。
        但是版本V25在比赛用时上进步很大,每步8秒比版本V18快了六七倍,而棋力却提升很大。柯洁与朴廷桓在30秒用时的比赛中能多次战胜与版本V18实力相当的刑天,同样的用时对Master几盘中却毫无机会。应该说版本V25在用时大大减少的同时还取得了棋力巨大的进步,这是双重的进步,一定是因为算法原理有了突破,绝对不是靠提升机器性能。而这与国际像棋AI的进步过程有些类似。
        IBM在人机大战中战胜卡斯帕罗夫后解散了团队不玩了,但其它研究者继续开发国际象棋AI取得了巨大的进步。后来算法越做越厉害,最厉害的程序能让人类最高水平的棋手一个兵或者两先。水平极高的国际象棋AI不少,其中一个是鳕鱼(stockfish),由许多开发者集体开发,攻杀凌厉,受到爱好者追捧。
        另一个是变色龙(Komodo),由一个国际象棋大师和一个程序员开发,理论体系严谨,攻防稳健。AI互相对局比人类多得多,二者对下100盘,变色龙以9胜89平2负领先人气高的鳕鱼。因为AI在平常的手机上都可以战胜人类最高水平的棋手,国际象棋(以及类似的中国象棋)都禁止棋手使用手机,曾经有棋手频繁上厕所看手机被抓禁赛。国际象棋AI在棋力以及计算性能上都取得了巨大的进步,运算平台从特别造的大型服务器移到了人人都有的手机上。
        局面评估函数的作用
        从算法上来说,高水平国际象棋AI的关键是人工植入的一些国际象棋相关的领域知识,加上传统的计算机搜索高效剪枝算法。值得注意的是,AlphaGo以及之前所有高水平AI如ZEN和CrazyStone都采用MCTS(蒙特卡洛树形搜索),而最高水平的国际象棋AI是不用的。MCTS是CrazyStone的作者法国人Remi Coulom 在2006年最先提出的,是上一次围棋人工智能算法取得巨大进步能够战胜一般业余棋手的关键技术突破。
        但MCTS其实是传统搜索技术没有办法解决围棋问题时,想出来的变通办法,并不是说它比传统搜索技术更先进。实际MCTS随机模拟,并不是太严谨,它是成千上万次模拟,每次模拟都下至终局数子确定胜负统计各种选择的胜率。这是一个对人类棋手来说相当不自然的方法,可以预期人类绝对不会用这种办法去下棋。
        国际象棋也可以用MCTS去做,但没有必要。谷歌团队有人用深度学习和MCTS做了国际象棋程序,但是棋力仅仅是国际大师,并没有特别厉害。高水平国际象棋算法的核心技术,是极为精细的“局面评估函数”。而这早在几十年前,就是人工智能博弈算法的核心问题。国际象棋的局面评估函数很好理解,基本想法是对皇后、车、马、象、兵根据战斗力大小给出不同的分值,对王给出一个超级大的分值死了就是最差的局面。一个局面就是棋子的分值和。
        但这只是最原始的想法,子力的搭配、兵阵的形状、棋子的位置更为关键,象棋中的弃子攻杀极为常见。这需要国际象棋专业人士进行极为专业细致的估值调整。国际象棋AI的水平高低基本由它的局面评估函数决定。有了好用的局面评估函数以后,再以此为基础,展开一个你一步我一步的指数扩展的博弈搜索树。在这个搜索树上,利用每个局面计算出来的分值,进行一些专业的高效率“剪枝”(如Alpha-Beta剪枝算法)操作,缩小树的规模,用有限的计算资源尽可能地搜索更多的棋步,又不发生漏算。
       
        图为搜索树示例,方块和圆圈是两个对手,每一条线代表下出一招。局面评估后,棋手要遵守MIN-MAX的原则,要“诚实”地认为对手能下出最强应对再去想自己的招。有局面评估分数的叶子节点其实不用都搜索到,因为理论上有剪枝算法证明不用搜索了。如一下被人吃掉一个大子,又得不到补偿的分枝就不用继续往下推了。这些搜索技术发展到很复杂了,但都属于传统的搜索技术,是人可以信服的逻辑。
        国际象棋与中国象棋AI发展到水平很高后,棋手们真的感觉到了电脑的深不可测,就是有时电脑会下出人类难于理解的“AI棋”。人类对手互相下,出了招以后,人就会想对手这是想干什么,水平相当的对手仔细思考后总是能发现对手的战术意图,如设个套双吃对手的马和车,如果对手防着了,就能吃个兵。而“AI棋”的特征是,它背后并不是一条或者少数几条战术意图,而是有一个庞大的搜索树支持,人类对手作出任何应对,它都能在几手、十几手后占得优势,整个战略并不能用几句话解释清楚,可能需要写一篇几千字的文章。
        这种“AI棋”要思考非常周密深远,人类选手很难下出来。近年来中国象棋成绩最好的是王天一,他的棋艺特点就是主动用软件进行训练,和上一辈高手方法不同。王天一下出来的招有时就象AI,以致于有些高手风言风语影射他用软件作弊引发风波,我认为应该是训练方法不同导致的。国际象棋界对软件的重视与应用比中国象棋界要强得多,重大比赛时,一堆人用软件分析双方的着手好坏,直接作为判据,增加了比赛的可看性。
        软件能下出“AI棋”,是因为经过硬件以及算法的持续提升,程序的搜索能力终于突破了人类的脑力限制,经过高效剪枝后,几千万次搜索可以连续推理多步并覆盖各个分枝,在深度与广度方面都超过人类,可以说搜索能力已经超过人类。
        其实最初的围棋AI也是用这个思路开发的,也是建立搜索树,在叶子节点上搞局面评估函数计算。但是围棋的评估函数特别难搞,初级的程序一般用黑白子对周边空点的“控制力”之类的原始逻辑进行估值,差错特别大,估值极为离谱,棋力极低。无论怎么人工加调整,也搞不好,各种棋形实在是太复杂。很长时间围棋AI没有实质进步,受限于评估函数极差的能力,搜索能力极差。
        实在是没有办法了,才搞出MCTS这种非自然的随机下至终局统计胜率的办法。MCTS部分解决了估值精确性问题,因为下到终局数子是准确的,只要模拟的次数足够多,有理论证明可以逼近最优解。用这种变通的办法绕开了局面评估这个博弈搜索的核心问题。以此为基础,以ZEN为代表的几个程序,在根据棋形走子选点上下了苦功,终于取得了棋力突破,能够战胜一般业余棋手。
        接下来自然的发展就是用深度学习对人类高手的选点直觉建模,就是“策略网络”。这次突破引入了机器学习技术,不需要开发者辛苦写代码了,高水平围棋AI的开发变容易了。即使这样,由于评估函数没有取得突破,仍然需要MCTS来进行胜率统计,棋力仍然受限,只相当于业余高手。
        “价值网络”横空出世
        AlphaGo在局面评估函数上作出了尝试性的创新,用深度学习技术开发出了“价值网络”。它的特点是,局面评分也是胜率,而不是领先多少目这种较为自然的优势计算。但是从《自然》论文以及版本V13与V18的表现来看,这时的价值网络并不是太准确,不能单独使用,应该是一个经常出错的函数。论文中提到,叶子节点胜率评估是把价值网络和MCTS下至终局混合使用,各占0.5权重。这个意思是说,AlphaGo会象国际象棋搜索算法一样,展开一个叶子节点很多的树。
        在叶子节点上,用价值网络算出一个胜率,再从叶子节点开始黑白双方一直轮流走子终局得出胜负。两者都要参考,0.5是一个经验性的数据,这样棋力最高。这其实是一个权宜之计,价值网络会出错,模拟走子终局也并不可靠,通过混合想互相弥补一下,但并不能解决太多问题。最终棋力还是需要靠MCTS海量模拟试错,模拟到新的关键分枝提升棋力。所以版本V18特别需要海量计算,每步需要的时间相对长,需要的CPU与GPU个数也不少,谷歌甚至开发了特别的TPU进行深度神经网络并行计算提高计算速度。
        整个《自然》论文给人的感觉是,AlphaGo在围棋AI的工程实施的各个环节都精益求精做到最好,最后的棋力并不能简单地归因于一两个技术突破。算法研发与软件工程硬件开发多个环节都不计成本地投入,需要一个人数不小的精英团队全力支持,也需要大公司的财力与硬件支持。V13与V18更多给人的感觉是工程成就,之前的围棋AI开发者基本是两三个人的小团队小成本开发,提出了各式各样的算法思想,AlphaGo来了个集大成,终于取得了棋力突破。
        即使这样,V18在实战中也表现出了明显缺陷,输给李世石一局,也出了一些局部计算错误。如果与国际象棋AI的表现对比,对人并不能说有优势,而是各有所长。人类高手熟悉这类围棋AI的特点后,胜率会上升,正如对腾讯AI刑天与绝艺的表现。
        ZEN、刑天、AlphaGo版本V18共同的特点是大局观很好。连ZEN的大局观都超过一些不太注意大局的职业棋手,但是战斗力不足。这是MCTS海量模拟至终局精确数目带来的优势,对于地块的价值估计比人要准。它们共同的弱点也是局部战斗中会出问题,死活搞不清,棋力高的问题少点。这虽然出乎职业棋手的预料,从算法角度看是自然的。海量终局模拟能体现虚虚的大局观,但是这类围棋AI的“搜索能力”仍然是不足的,局面评估函数水平不高,搜索能力就不足,或者看似搜得深但有漏洞。正是因为搜索能力不足,才需要用MCTS来主打。
        但是AlphaGo的价值网络是一个非常重要而且有巨大潜力的技术。它的革命性在于,用机器学习的办法去解决局面评估函数问题,避免了开发者自己去写难度极大甚至是不可能写出来的高水平围棋局面评估函数。国际象棋开发者可以把评估思想写进代码里,围棋是不可能的,过去的经验已经证明了这一点。机器学习的优点是,把人类说不清楚的复杂逻辑放在多达几百M的多层神经网络系数里,通过海量的大数据把这些系数训练出来。
        给定一个围棋局面,谁占优是有确定答案的,高手也能讲出一些道理,有内在的逻辑。这是一个标准的人工智能监督学习问题,它的难度在于,由于深度神经网络结构复杂系数极多,需要的训练样本数量极大,而高水平围棋对局的数据更加难于获取。Deepmind是通过机器自我对局,积累了2000万局高质量对局作为训练样本,这个投入是海量的,如果机器数量不多可能要几百年时间,短期生成这么多棋局动用的服务器多达十几万台。但如果真的有了这个条件,那么研究就是开放的,怎么准备海量样本,如何构建价值网络的多层神经网络,如何训练提升评估质量,可以去想办法。
       
        AlphaGo团队算法负责人David Silver在2016年中的一次学术报告会上说,团队又取得了巨大进步,新版本可以让V18四个子了,主要是价值网络取得了巨大进步。这是非常重要的信息。
        V25能让V18四个子,如果V18相当于人类最高水平的棋手,这是不可想象的。根据Master对人类60局棋来看,让四子是绝对不可能的,让二子人类高手们都有信心。我猜测,V18是和V25下快棋才四个子还输的。AlphaGo的训练与评估流水线中,机器自我对局是下快棋,每步5秒这样。2016年9月还公布了三局自我对局棋谱,就是这样下出来的。V18的快棋能力差,V25在价值网络取得巨大进步能力后,搜索能力上升极大,只要几秒的时间,搜索质量就足够了。为什么价值网络的巨大进步带来的好处这么大?
        如果有了一个比V18要靠谱得多的价值网络,就等于初步解决了局面评估函数问题。这样,AlphaGo新的prototype就更接近于传统的以局面评估为核心的搜索框架,带有确定性质的搜索就成为算法能力的主要力量,碰运气的MCTS不用主打了。因此,V25对人类高手的实战表现,可以与高水平国际象棋AI相当了。
        我可以肯定V25的搜索框架会给价值网络一个很高的权重(如0.9),只给走子至终局数子很低的权重。如果局面平稳双方展开圈地运动,那么各局面的价值网络分值差不多,MCTS模拟至终局的大局观会起作用。如果发生局部战斗,那么价值网络就会起到主导作用,对战斗分枝的多个选择,价值网络都迅速给出明快的判断,通过较为完整的搜索展开,象国际象棋AI一样论证出人类棋手看不懂的“AI棋”。
       
        上图为Master执白对陈耀烨。在黑子力占优的左上方,白20挂入,黑21尖顶夺白根据地意图整体攻击,白22飞灵活转身是常型,23团准备切断白,这时Master忽然在24位靠黑一子。Master比起之前的版本V18,感觉行棋要积极一些,对人类棋手的考验也更多。可以想见这里黑内扳外扳两边长脱先各种应法很多,并不是很容易判断。
        但是如果有价值网络对各个结果进行准确估值,Master可能在下24的时候就已经给出了结论,黑无论如何应,白棋都局势不错。陈耀烨自战解说认为,24这招他已经应不好了,实战只好委屈地先稳住阵脚,复盘也没有给出好的应对。同样的招法Master对朴廷桓也下过。
       
        上图为Master执白对芈昱廷,左上角的大雪崩外拐定式,白下出新手。白44职业棋手都是走在E13长的,后续变化很复杂。但是Master却先44打一下,下了让所有人都感到震惊的46扳,在这个古老的定式下出了从未见过的新手。这个新手让芈昱廷短时间内应错了,吃了大亏。后来芈昱廷自战回顾时说应该可以比实战下得好些,黑棋能够厚实很多,但也难说占优。但是对白46这招还没有完全接受。这个局面很复杂,有多个要点,Master的搜索中是完全没有定式的概念的。
        我猜测它会各种手段都试下,由于价值网络比过去精确了,可以建立一个比较庞大的搜索树,然后象国际象棋AI一样多个局面都考虑过之后综合出这个新手。这次Master表现得不怕复杂变化,而之前版本感觉上是进行大局掌控,复杂变化算不清绕开去。Master却经常主动挑起复杂变化,明显感觉搜索能力有进步,算路要深了。
        局面评估函数精确到一定程度突破了临界点,就可以带来搜索能力的巨大进步。因为开发者可以放心地利用局面评估函数进行高效率的剪枝,节省出来的计算能力可以用于更深的推导,表现出来就是算得深算得广。实际人类的剪枝能力是非常强大的,计算速度太慢,如果还要去思考一些明显不行的分枝,根本没办法进行细致的推理。在一个局面人类的推理,其实就是一堆变化图,众多高手可能就取得一致意见了。而Master以及国际象棋AI也是走这个路线了,它们能摆多得多的变化图,足以覆盖人类考虑到的那些变化图给出靠谱的结论。
        但这个路线的必须依靠足够精确的价值网络,否则会受到多种干扰。一是估值错了,好局面扔掉坏局面留着选错棋招。二是剪枝不敢做,搜索大量无意义的局面,有意义的局面没时间做或者深度不足。三是要在叶子节点引入快速走子下完的“验证”,这种验证未必靠谱,价值网络正确的估值反而给带歪了。
        从实战表现反推,Master的价值网络质量肯定已经突破了临界点,带来了极大的好处,思考时间大幅减少,搜索深度广度增加,战斗力上升。AlphaGo团队新的prototype,架构上可能更简单了,需要的CPU数目也减少了,更接近国际象棋的搜索框架,而不是以MCTS为基础的复杂框架。比起国际象棋AI复杂的人工精心编写的局面评估函数,AlphaGo的价值网络完全由机器学习生成,编码任务更为简单。
        理论上来说,如果价值网络的估值足够精确,可以将叶子节点价值网络的权重上升为1.0,就等于在搜索框架中完全去除了MCTS模块,和传统搜索算法完全一样了。这时的围棋AI将从理论上完全战胜人,因为人能做的机器都能做,而且还做得更好更快。而围棋AI的发展过程可以简略为两个阶段。第一阶段局面估值函数能力极弱,被逼引入MCTS以及它的天生弱点。第二阶段价值网络取得突破,再次将MCTS从搜索框架逐渐去除返朴归真,回归传统搜索算法。
        由于价值网络是一个机器学习出来的黑箱子,人类很难理解里面是什么,它的能力会到什么程度不好说。这样训练肯定会碰到瓶颈,再也没法提升了,但版本V18那时显然没到瓶颈,之后继续取得了巨大进步。通常机器学习是模仿人的能力,如人脸识别、语音识别的能力超过人。但是围棋局面评估可以说是对人与机器来说都非常困难的任务。
        职业棋手们的常识是,直线计算或者计算更周密是可以努力解决的有客观标准的问题,但是局面判断是最难的,说不太清楚,棋手们的意见并不统一。由于人的局面评估能力并不太高,Master的价值网络在几千万对局巧妙训练后超过人类是可以想象的,也带来了棋力与用时表现的巨大进步。但是可以合理推测,AlphaGo团队也不太可能训练无缺陷的价值网络,不太可能训练出国际象棋AI那种几乎完美的局面评估函数。
        我的猜测是,Master现在是一个“自信”的棋手,并不象之前版本那样对搜索没信心靠海量模拟至终局验算。它充分相信自己的价值网络,以此为基础短时间内展开庞大的搜索树,下出信心十足算路深远的“AI棋”,对人类棋手主动挑起战斗。这个姿态它是有了。但是它这个“自信”并不是真理,它只是坚定地这样判断了。肯定有一些局面它的评估有误差,如围棋之神说是白胜的,Master认为是黑胜。人类棋手需要找到它的推理背后的错误,与之进行判断的较量,不能被它吓倒。
       
        上图是Master执黑对孟泰龄。本局下得较早,Master虽然连胜但没有战胜太多强手,孟泰龄之前有战胜绝艺的经验,心理较为稳定并不怕它,本局发挥不错。Master黑69点入,71、73、75将白棋分为两段发起凶猛的攻击。但是孟泰龄下出78位靠的好手,局部结果如下图。
       
        黑棋右边中间分断白棋的四子已经被吃,白棋厚势与左下势力形成呼应,右上还有R17断吃角部一子的大官子。黑棋只吃掉了白棋上边两子,这两子本就处于受攻状态白并不想要。这个结果无论如何应该是白棋获利,Master发生了误算,或者局面评估失误。
        现在职业棋手与AlphaGo团队的棋艺竞争态势可能是这样的。AlphaGo不再靠MCTS主导搜索改而以价值网络主打,思考时间大大缩短,在10秒以内就达到了极高棋力,之后时间再长棋力增长也并不多。棋力主要是由价值网络的质量决定的,堆积服务器增加搜索时间对搜索深度广度意义并不太大。所以Master已经较充分的展示了实力,并不是说还有棋力强大很多的版本。这和国际象棋AI类似,两个高水平AI短时间就能大战100局,并不需要人类那么长的思考时间。
        Master的60局快棋击中了人类棋艺的弱点,它极为自信地主动发起挑战敢于导入复杂局面,而人类高手却没有能力在30秒内完善应对这些不太熟悉的新手。而这些新手并不是简单的新型,背后有Master的价值网络支持的庞大搜索树。如果价值网络的这些估值是准确的,人类高手即使完美应对,也只能是不吃亏,犯错就会被占便宜。有些局面下,价值网络的估计会有误差,这时人类高手有惩罚Master的机会,但需要充足的时间思考,也要有足够的自信与Master的判断进行较量。这次60局中棋手由于用时太短心态失衡很少做到,一般还是会吃亏。
        以下是我对柯洁与AlphaGo的人机大战的建议:
        1. 要对机器有足够了解,不要盲目猜测。可以简单的理解,它接近一个以价值网络为基础的传统搜索程序。
        2. 要相信机器并不完美。如果它的局面评估函数没有错误了,或者远远超过人,那就和国际象棋AI一样不可战胜了。但围棋足够复杂,即使是几千万局的深度学习,也不可能训练出特别好的价值网络,一定会有漏洞与误差。只是因为人的局面评估也不是太好,才显得机器很厉害。
        3. 这次机器会坚定而自信地出手,它改变了风格,在局面仍然胶着的时候不会回避复杂变化。因为它的搜索深度广度增加了,它认为自己算清了,坚定出手维护自己的判断,甚至会主动扑劫造劫。
        4. 机器的退让是在胜定的情况下,它认为反正是100%获胜了,就随机选了一手。后半盘出现这种情况不用太费劲去思考了,应该保留体力迅速下完,下一局再战斗。
        5. 机器的大局观仍然会很好,基于多次模拟数空,对于虚空的估计从原理上就比人强,这方面人要顶住但不能指望靠此获胜。还是应该在复杂局部中与机器进行战斗,利用机器价值网络的估值失误,以人对局面估计的自信与机器的自信进行比拼。机器是自信的,人类也必须自信。也许机器评估正确的概率更大,但是既然都不完美,人类也可能在一些局面判断更为正确。
        6. 机器对稍复杂战斗局面的评估是有庞大搜索树支持的,并不会发生简单的漏算,不应该指望找到简单的手段给机器毁灭性打击。由于人类的思考速度慢,时间有限,不能进行太全面的思考。应该集中思考自己判断不错的局面,围绕它进行论证。如果这个判断正好是人类正确、机器错误,那人是有机会占优的。
        通过以上分析,我对人机大战柯洁胜出一局甚至更多局还是抱有一定期望的。希望柯洁能够总结分析围棋AI的技术特点,增加自信,针锋相对采取正确的战略,捍卫人类的围棋价值观。
本文系观察者网独家稿件,文章内容纯属作者个人观点,不代表平台观点,未经授权,不得转载,否则将追究法律责任。关注观察者网微信guanchacn,每日阅读趣味文章。
回复 支持 反对

使用道具 举报

发表于 2017-2-11 00:25 | 显示全部楼层
Xie Xie.                             
回复 支持 反对

使用道具 举报

发表于 2017-2-17 01:56 | 显示全部楼层
用黎曼猜想可击败一切Go
回复 支持 反对

使用道具 举报

发表于 2017-3-14 21:35 | 显示全部楼层
Go借围棋证明自己,是科技,我们人与人的对弈是一种艺术创作,科技与艺术有相通的一面也有本质的区别,科技与艺术有互为印证的一面,也各有各的趣向。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|飞扬围棋网 ( 苏ICP备11029047号-1 )

GMT+8, 2024-3-29 04:39 , Processed in 0.479752 second(s), 22 queries .

since 2003飞扬围棋论坛 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表