算法的棋道

日期:2019-10-03编辑作者:动漫动画

开场白

AlphaGo两番赢下了人类围棋世界的真正高手,世界第二的韩国棋手李世石[[1]](https://www.jianshu.com/p/ca32e1e66a4b#fn1)

赛前,准确说是Google的DeepMind团队刚放出消息说战胜了欧洲围棋冠军樊辉并打算挑战李世石的时候,我个人是很谨慎地说这场比赛很难讲,但其实心里认为AlphaGo的赢面更大。只不过当时AlphaGo战胜的樊辉虽说是欧洲冠军,但全球排名都不入百,实在算不得是大高手。但AlphaGo的优势在于有半年多的时间可以不眠不休地学习提高,而且还有DeepMind的工程师为其保驾护航,当时的AlphaGo也不是完全版,再加上我所深知的人类固有的夜郎自大,这些战内战外的因素结合在一起,虽然嘴巴上说这事难讲,但心里是认定了AlphaGo会赢得。

结果,李世石赛前说比赛应该会5:0或者4:1而自己的使命就是尽可能阻止那1的出现,但实际的战况却是现在AlphaGo以2:0的比分暂时领先。且,如果不出意外的话,最终的总比分应该是AlphaGo胜出——只不过到底是5:0还是4:1,这还有待事态发展。

这一幕不由地让人想起了当年的吴清源,将所有不屑他的挑战者一一斩落,最终敢让天下先。

当然了,当今世界棋坛第一人的柯洁对此恐怕是不同意的,但让我说,如果下半年AlphaGo挑战柯洁,或者柯洁主动挑战AlphaGo,那我还是坚定地认为,AlphaGo可以战胜柯洁。

不过,这里所要说的并不是上述这些时代背景。

机器超越人类仅仅是一个时间的问题,当然还有一个人类是否肯丢下面子去承认的问题[[2]](https://www.jianshu.com/p/ca32e1e66a4b#fn2)

输赢不是重点,为什么会输怎么会赢,这才是重点。


  二程开着他新买的北京现代回家了,这是在暮春的一个上午,风和日丽,阳光照在脸上暖暖地舒服。二程的心里也是美滋滋的。在县城开装修公司一年多就赚了十多万,二程想金子必须贴在脸上,他就买了辆十多万的车,开着进村的感觉就是不一样。
  二程开始放慢了车速,见村人就说话撒烟,保持着应有的低调。可是他的车却泄露了他的秘密,看见的村人大都是羡慕的目光,十多万的车啊,在他们的村子里那可是一顶一的好车了。
  在村子中央的大槐树边上围着一班子人,二程知道是在看下棋呢。二程他们村子里的这棵大槐树有历史了,据说是古时他们的祖先从山西大槐树下迁民过来时栽下的,距现在已有千年了,据说这槐树在日本进中国那一年死了,可是第二年从槐树的中间生出一颗幼苗来,不几年就长成参天大树了,比原先的那棵老树还要高大。县志上记载这样的槐树在他们县里只有八棵,称为八大槐,他们县的景致有四隆庙、七古街、三大牌坊、八大槐之说。
  现在这些景观大都没有了,可二程村里的老槐树还在,槐树下面那一张磨得发光的青石桌子还在,经常有闲着无事的村人在这张石桌子上下棋,杀个天昏地暗的。
  二程也是个好下棋的,便停住车观战。下棋的是一个七十多岁的干瘦的老头,几根花白的头发凌乱的附在头上,乱草一样,一张多皱的黑瘦的脸,一咧嘴就露出两颗黄黄的门牙。二程知道这是陈老师,他们村的老校长,在他们村教学教了四十多年,这个村的五十岁朝下的人大部分都是他的学生。陈老师大半生不好烟不好酒,只喜欢摆弄这三十二枚棋子,陈老师在学校时参加过县里的象棋大赛,还拿了冠军的。
  这时村人看到了二程,知道他也是象棋高手,便让他来一局,二程不客气,就坐下了,和陈老师厮杀起来。
  二程摆棋子的速度极快,啪啪几下就完了,陈老师却很慢,陈老师说,到底年轻人,我老了,手都跟不上了,陈老师让二程先手,二程客气了一下,就使出了当头炮,摆出了一幅进攻的姿态。陈老师上了个士,做出一副守势。陈老师总是慢吞吞的,极简单的一步也要沉思一会。二程想真是人老了,思维也跟不上了。他不知道这是陈老师故意的,是想磨一磨二程的急性子。
  围在周围的村人们都没有走,静静地观战,观看这一老一少两代人的对决。
  在等陈老师走子的间隙,二程看陈老师胡子拉碴的浑身土气,明显老了许多。在他的印象里陈老师一直是这个样子的,好像陈老师没怎么穿过新衣服,穿的衣服老是皱巴巴的。现在他退休十多年了,儿女都有工作了,陈老师每个月三千多的工资,家里又有种着四亩地,村人没有不眼气他的日子的,陈老师还是一惯的生活习惯,连青菜也不舍得买,更别说常常的买些肉或鸡啥的改善一下生活了。村人笑他老鳖一,说他你攒这么多钱干啥呢,都留给你孙子吗,你别等到闭眼时哭说俺这肚子里可啥也没有哇,陈老师笑笑不答。
  几步下来,二程的棋也慢下来了,他发觉陈老师的棋是一个大气场,圆的,愈来愈大,在慢慢的压迫着他,一点点缩小着他的空间,他每使出一步杀手,陈老师看似随意的动一个子,便给他化于无形了,他根本找不到一个着力的点。看着有了一个破绽,当他走进去就发现是一个陷阱,陷进去是很难逃脱的。陈老师并不急于吃杀他的有生力量,仿佛一根无形的绳索把二程的兵马都困住了,愈困愈紧,二程像被武术高手点了穴道,一动不能动。
  旁边的观棋者谁也不出声,像是在观看一部情节曲折的电影。还是满盘的子,二程不情愿认输,下棋输棋再正常不过了,可在他的记忆里从没输的这么狼狈过。二程记得一年前他刚在县城里开公司时,和陈老师杀过几盘的,那时把陈老师杀了个三不沾的,把陈老师打败了,二程心里兴奋极了,信心满满的去县城了。现在是咋回事啊,二程感觉是思路出了问题。
  一连杀了四盘,二程盘盘皆是输,第三盘陈老师只出动了一边的车马炮,就杀的他车仰马翻,特别是第四盘,陈老师只用一个卒子作为主角,直杀到他的老营,任二程调动了全部的力量也拦不住。第五盘开始了,陈老师说,二程,天不早了,你是回家看你爸妈的,该回家了,最后一盘啊,二程说好吧。
  二程鼻尖上冒出细细的汗,他掏出烟让周围的村人,都不吸,他自己吸着一颗,透过吐出的烟雾里,他看陈老师仿佛高大起来,双目如电一样锐利,充满着智慧,陈老师的后面是那一棵千年古槐树。老辈人说过槐树上年纪了就是仙了。
  谁家有事常常来到槐树前,烧几张黄纸,点一炷香,许个愿或倾诉一下心里的苦恼,上学时二程问过陈老师说,这不是迷信吗,陈老师思索了一会说,说是,也不是,这棵槐树是咱的祖先栽下的,咱村人把他当成了主心骨,谁家有烦心的事了,来到这里诉诉苦,说出来心里就踏实了。二程问,那灵不灵呢,程老师笑笑,你说呢。
  第五盘二程又输了,散了,村人们说笑着都走了,陈老师把象棋收起,照例慢吞吞的,放在青石桌子的下面,他们的棋子是常年放在这青石桌子下面的,谁来杀几盘,拿出来就行了,多年了,从未少过一个棋子。二程还坐着没动,陈老师喊他,二程嗯了一声,若有所思,他问陈老师,记得一年前我刚去县城开公司时咱俩也杀了几盘,我记得那几盘都是我赢得你,可这……
  陈老师笑了,说,那时你刚开公司,我让你赢是给你自信和勇气的,现在你成功了,事业顺利,这时我要让你输,而且输的很惨,是杀杀你的锐气,让你看清前面的路,陈老师又说,棋如人生,输赢不重要,重要的是你得会享受这个过程,活动一下腿脚,真是老了,坐的时间长了,腿脚就麻木了。
  二程恍然大悟,明白了,谢谢您,老师。他向陈老师鞠了一躬,这下陈老师倒愣住了。
  二程没有想到,这是他和陈老师最后一次下棋了,在六月末陈老师走了,走得很安详,吃吧晚饭后睡下一觉不醒。当在县城的二程听说时已是十多天后了,令二程想不到还有陈老师不但没留下一分钱的存款,还留下了一万块钱的贷款,这张贷款单是在他的女儿收拾他的床铺时,在他的床头的被子下面找到的,夹在一本毛泽东选集里。
  钱呢,陈老师不舍得吃喝不舍得穿剩下的钱哪去了,二程还听说了陈老师所有的钱都匿名捐助了偏远穷山沟里三个孩子上学了,从小学直到大学,大学里陈老师的工资不够了,他就用工资本抵押贷了一万块钱。今年六月份,陈老师捐助的三个孩子都大学毕业了,陈老师的心愿完成了,他就走了,永远地走了。
  二程想现在那三个大学毕业的青年还不知道资助他们上学的是陈老师吧,更不知道陈老师在他们成才后就走了,二程想着,眼眶有些湿润,心里忽然有些疼的感觉……

AlphaGo的算法

第一局对弈中,李世石开局选择所有人都不曾走过的开局,是为了试探AlphaGo。而中后盘又出现了明显的恶手,所以人们普遍可以认为AlphaGo是捕捉到了李世石本身的重大失误,这才完成的逆转。

事实上李世石本人也是这么认为的。

但到了第二局,事情就完全不同了。执黑的AlphaGo竟然让李世石认为自己从来就没有真正地占有过优势,从而可以认为是被一路压制着走到了最后。

而且,无论是第一局还是第二局,AlphaGo都走出了所有职业棋手都叹为观止的妙手,或者是让所有职业棋手都皱眉不接的怪手。

很多时候,明明在职业棋手看来是不应该走的落子,最后却居然发挥了奇妙的作用。就连赛前认为AlphaGo必败的聂棋圣,都对第二局中AlphaGo的一步五线肩冲表示脱帽致敬。

职业棋手出生的李喆连续写了两篇文章来分析这两局棋,在对棋局的分析上我自然是不可能比他更专业的。我这里所想要说的是,从AlphaGo背后的算法的角度来看,机器的棋道究竟是什么呢?


AlphaGo的算法,可以分为四大块[[3]](https://www.jianshu.com/p/ca32e1e66a4b#fn3)

  1. 策略网络
  2. 快速走子
  3. 估值网络
  4. 蒙特卡洛树搜索

这四个部分有机结合在一起,就构成了AlphaGo的算法。

当然,这么说比较枯燥,所以让我们从蒙特卡洛树开始做一个简单的介绍。

当我们在玩一个游戏的时候(当然,最好是围棋象棋这种信息完全透明公开且完备没有不可知成分的游戏),对于下一步应该如何行动,最好的方法当然是将下一步所有可能的情况都列举出来,然后分析对手所有可能的策略,再分析自己所有可能的应对,直到最后比赛结束。这就相当于是说,以现在的局面为种子,每一次预判都进行一定数量的分岔,构造出一棵完备的“决策树”——这里所谓的完备,是说每一种可能的未来的变化都能在这棵决策树中被体现出来,从而没有跑出决策树之外的可能。

有了决策树,我们自然可以分析,哪些下一步的行为是对自己有利的,哪些是对自己有害的,从而选择最有利的那一步来走。

也就是说,当我们拥有完备的决策树的时候,胜负基本已经定下了,或者说如何应对可以获胜,基本已经定下了。

更极端一点的,梅策罗有条定理就是说,在上述这类游戏中,必然存在至少一条这种必胜的策略[[4]](https://www.jianshu.com/p/ca32e1e66a4b#fn4)

所以,原则上来说,在全知全能的上帝(当然是不存在的)面前,你不管怎么下围棋(或者国际象棋、中国象棋、日本将棋),上帝都知道怎么走必胜,或者最多最多就是你走的刚好和上帝所预设的一样。

但,上述完全的完备的完美的决策树,虽然理论上对于围棋这样的游戏来说是存在的,但实际上我们无法获得。

不但是说我们人类无法获得,更是说我们的机器也无法获得——围棋最后的局面可能有3361种可能,这个数量超过了人类可观测宇宙中的原子总数。

因此,现在的情况是:无论是人还是机器,都只能掌握完全决策树的一部分,而且是非常非常小的一部分。

所以,上述神之棋路是我们人类和机器都无法掌握的。

故而,人和机器就采用了一定的手段来多决策树做简化,至少将其简化到自己能处理的程度。

在这个过程中,一个最自然的方法(无论对机器还是对人来说),就是只考虑少量层次的完全展开,而在这些层次之后的决策展开则是不完全的。

比如说,第一步有100种可能,我们都考虑。而这100种可能的落子之后,就会有第二部的选择,这里比如说有99种可能,但我们并不都考虑,我们只考虑其中的9种。那么本来两层展开有9900种可能,现在我们就只考虑其中的900种,计算量自然是大为缩减。

这里,大方向人和机器是相同的,差别在于到底如何筛选。

对机器来说,不完全的决策展开所采用的是蒙特卡洛方法——假定对子决策的随机选择中好与坏的分布与完全展开的情况下的分布是相似的,那么我们就可以用少量的随机抽样来代表完全采样的结果。

说白了就是:我随便选几个可能的决策,然后最进一步分析。

这里当然就存在很大的风向了:如果正好有一些决策,是随机过程没有选中的,那不就蛋疼了么?

这点人的做法并不相同,因为人并不完全是随机做出选择。

这里就牵扯到了所谓的棋感或者大局观。

人们在落子的时候,并不是对所有可能的上百个选择中随机选一个出来试试未来的发展,而是利用棋形、定式、手筋等等通过对局或者学习而得来的经验,来判断出哪些落子的可行性更高,哪些位置的落子则基本可以无视。

所以,这就出现了AlphaGo与李世石对局中那些人类棋手很莫名的棋着来了——按照人类的经验,从棋形、棋感、定式等等经验出发完全不应该去走的落子,AlphaGo就走了出来。

在传统只利用蒙特卡洛树搜索的算法中,由于对落子位置的选择以随机为主,所以棋力无法再做出提升。这等于是说机器是一个完全没学过围棋的人,完全靠着强大的计算力来预测未来几百步的发展,但这几百步中的大多数都是随机走出的不可能之棋局,没有实际的参考价值。

Facebook的DarkForest和DeepMind的AlphaGo所做的,就是将原本用于图形图像分析的深度卷积神经网络用到了对棋局的分析上,然后将分析结果用到了蒙特卡洛树搜索中。

这里,深度卷积神经网络(DCNN)的作用,是通过对棋局的图形图像分析,来分析棋局背后所隐藏的规律——用人的话来说,就是棋形对整个棋局的影响规律。

然后,将这些规律作用到对决策树的裁剪上,不再是完全通过随机的方法来判断下一步应该往哪走,而是利用DCNN来分析当下的棋形,从而分析当下棋形中哪些位置的落子具有更高的价值,哪些位置的落子几乎毫无价值,从而将无价值的可能落子从决策树中减除,而对哪些具有高价值的决策进行进一步的分析。

这就等于是将学习来的棋形对棋局的影响规律运用到了对未来可能发展的选择策略中,从而构成了一个“学习-实践”的正反馈。

从AlphaGo的算法来看,这种学习经验的使用可以认为分为两部分。一个是估值网络,对整个棋局大势做分析;而另一个是快速走子,对棋局的局部特征做出分析匹配。

因此,一个负责“大局观”,而另一个负责“局部判断”,这两个最后都被用来做决策的剪裁,给出有足够深度与准确度的分析。

与之相对的,人的决策时如何制定的呢?


人类的弱点

我虽然不是棋手,只是知道围棋规则和简单的几个定式,但人的一大特征就是,人的很多思考方式是在生活的各个领域都通用的,一般不会出现一个人在下围棋时用的思路与干别的事时的思路彻底不同这样的情况。

因此,我可以通过分析自己与观察别人在日常生活中的行为以及如何导致这种行为的原因,来分析下棋的时候人类的普遍一般性策略是怎么样的。

那就是——人类会根据自身的性格与情绪等非棋道的因素,来进行决策裁剪。

比如说,我们经常会说一个棋手的风格是保守的,而另一个棋手的风格是偏向于激进厮杀的——记得人们对李世石的风格界定就是这样。

这意味着什么?这其实是说,当下一步可能的决策有100条,其中30条偏保守,30条偏激进,40条中庸,这么个情况下,一个棋风嗜血的棋手可能会选择那激进的30条策略,而忽略别的70条;而一个棋风保守的,则可能选择保守的30条策略;一个棋风稳健的,则可能是那中庸的40条策略为主。

他们选择策略的因素不是因为这些策略可能的胜率更高,而是这些策略所能体现出的局部的棋感更符合自己的风格——这是与是否能获胜无关的价值判断,甚至可以说是和棋本身无关的一种判断方法,依据仅仅是自己是否喜欢。

更进一步,人类棋手还可以根据对手的棋风、性格等因素,来筛选出对手所可能走的棋路,从而筛选出可能的策略进行反击。

因此,也就是说:由于人脑无法处理如此庞大的信息、决策分岔与可能性,于是人脑索性利用自身的性格与经验等因素,做出与处理问题无关的信息筛选。

这可以说是AlphaGo与人类棋手最大的不同。

人类棋手很可能会因为风格、性格、情绪等等因素的影响,而对某些可能性做出不够重视的判断,但这种情况在AlphaGo的算法中是不存在的。

其中,情绪可以通过各种手段来压制,但棋手个人的风格与更深层次的性格元素,却完全可能导致上述弱点在自己无法控制的情况下出现。但这是AlphaGo所不具备的弱点——当然,这不是说AlphaGo没弱点,只不过没有人类的弱点罢了。

究其根本,这种通过战局外的因素来筛选战局内的决策的情况之所以会出现,原因在于人脑的信息处理能力的不足(当然如果我们计算一个单位体积或者单位质量的处理问题的能力的话,那么人脑应该还是优于现在的计算机很多很多的,这点毋庸置疑),从而只能通过这种手段来降低所需分析的信息量,以确保自己可以完成任务。

这是一种在有限资源下的取舍策略,牺牲广度的同时来换取深度以及最终对问题的解决。

同时,又由于人脑的这种功能并不是为了某个特定任务而开发的,而是对于整个生活与生存来说的“通识”,因此这种舍去本身只能与人的个体有关,而与要处理的问题无关,从而无法做到AlphaGo那样完全只通过局面的分析来做出筛选,而是通过棋局之外的因素来做出选择。

这就是人与AlphaGo的最大不同,可以说是分别写在基因与代码上的命门。

更进一步,人类除了上述决策筛选的通用方案之外,当然是有针对特定问题的特定筛选方案的,具体在围棋上,那就是各种定式、套路以及各种成熟或者不成熟的关于棋形与大势的理论,或者仅仅是感觉。

也就是说,人通过学习来掌握局部与全局特征,并利用这些特征来做出决策,这个步骤本身和机器所干的是一样的。但不同点在于,人可能过于依赖这些已有的经验总结,从而陷入可能出现而无人注意的陷阱中。

这就是这次AlphaGo数次走出有违人类经验常理的棋着但事后发现很有用很犀利的原因——我们并不知道自己数千年来总结下来的经验到底能在多大程度上应用于新的棋局而依然有用。

但AlphaGo的算法没有这方面的困扰。它虽然依然是利用人类的棋谱所给出的经验,利用这些棋谱中所呈现出的全局或者局部的规律,但最终还是会通过蒙特卡洛树搜索将这些经验运用到对棋局的推演中去,而不是直接利用这些规律做出定式般的落子。

所以,不但定式对AlphaGo是没意义的,所谓不走寻常路的新棋路对AlphaGo来说威胁也不大——这次第一局中李世石的新棋路不就一样失效了么?因此即便吴清源再世,或者秀哉再世(佐为??),他们即便开创出全新的棋路,也不能作为必定能战胜AlphaGo的依据。

理论上来说,只要出现过的棋谱足够多,那么就能找出围棋背后的规律,而这就是机器学习要挖掘出来的。新的棋路,本质上不过是这种规律所演化出的一种无人见过的新现象,而不是新规律。

那么,AlphaGo的弱点是什么?它是不是全无弱点?

这点倒是未必的。


AlphaGo的弱点

从AlphaGo的算法本身来说,它和人一样不可能对所有可能的决策都做出分析,虽然可以利用各种手段来做出价值判断,并对高价值的决策做出深入分析,但毕竟不是全部,依然会有遗漏。这点本身就说明:AlphaGo的考虑不可能是完备的。

而且,很显然的是,如果一个人类可能进行的策略在AlphaGo看来只会带来不高的胜率,那么这种策略本身就会被剪除,从而这种策略所带来的变化就不在AlphaGo当下的考虑中。

因此,假如说存在一种棋路,它在前期的多轮思考中都不会带来高胜率,那么这种棋路就是AlphaGo“意料之外”的。

而如果这种每一步都没有高胜率的棋路在若干步后可以给出一个对人类来说绝佳的局面,从而让AlphaGo无法翻盘,那么这种棋路就成了AlphaGo思路的死角。

也就是说说,在AlphaGo发觉它之前,它的每一步铺垫都是低胜率的,而最后构造出的棋形却具有绝对的高胜率,这种低开高走的棋路,是会被AlphaGo忽略的。

虽然我们并不知道这种棋路是否存在,以及这种棋路如果存在的话应该长什么样,但我们至少知道,从理论上来说,这种棋路是AlphaGo的死角,而这一死角的存在就基于这个事实:无论是人还是AlphaGo,都不可能对所有策略的所有演变都掌握,从而无论如何死角总是存在的。

当然,这一理论上的死穴的存在性并不能帮助人类获胜,因为这要求极深的观察力和预判能力,以及要构造出一个即便AlphaGo察觉了也已回天乏力的几乎可以说是一锤定音的局面,这两点本身的要求就非常高,尤其在思考深度上,人类恐怕本就比不过机器,从而这样的死角可能最终只有机器能做到——也就是说,我们可以针对AlphaGo的算法研发一款BetaGo,专门生成克制AlphaGo的棋路,然后人类去学习。以算法战胜算法[[5]](https://www.jianshu.com/p/ca32e1e66a4b#fn5)

但这样到底是机器赢了,还是人赢了呢?

另一方面,上述方法虽然是理论上的AlphaGo思维的死角,本人们并不容易掌握。那有没有人们可以掌握的AlphaGo的死角呢?

这点恐怕非常难。我认为李喆的观点是非常有道理的,那就是利用人类现在和历史上的整体经验。

开创新的棋局就必须面对处理你自己都没有充分面对充分准备过的局面,这种情况下人类具有前面所说过的两个弱点从而要么思考不完全要么陷入过往经验与定式的坑中没能走出来,而机器却可以更均衡地对所有可能的局面尽可能分析,思考更全面周翔,那么人的局限性未必能在新棋局中讨到什么好果子吃。

反过来,如果是人类已经研究多年非常非常熟悉的局面,已经没有新花样可以玩出来了,那么机器的全面考虑就未必能比人的千年经验更占有。

因此,面对AlphaGo,人类自以为傲的创造力恐怕反而是绊脚石,回归传统利用传统积累才有可能获胜。

但,这样的获胜等于是说:我创造力不如机器,我用我的经验砸死你。

人类引以为傲的创造力被抛弃,机器本应更擅长的被定式却成了救命稻草,这不是很虐心么?

那么,创新棋路是否真的不可能战胜AlphaGo?这点至少从目前来看,几乎不可能,除非——

如果李世石和别的人类其实通过这两天,或者说在这几年里都演练过一个被推演得很充分的新棋路,但这套棋路从来没有被以任何形式公开过,那么这样的新棋路对AlphaGo来说可能会造成麻烦,因为原本创新中AlphaGo的均衡全面考虑可能会败给李世石等人类棋手多年的推演专修而来的集体经验。

因此,我们现在有了三条可以战胜AlphaGo的可能之路:

  1. 通过每一步低胜率的棋着构造出一个拥有极高胜率的局面,利用前期的低胜率骗过AlphaGo的策略剪枝算法,可以说是钻算法的漏洞;
  2. 利用人类千年的围棋经验总结,靠传统定式而非创造力击败思考均衡的AlphaGo,可以说是用历史战胜算法;
  3. 人类棋手秘而不宣地研究从未公开过的新棋路,从而突破AlphaGo基于传统棋谱而总结学习来的经验,可以说是用创造力战胜算法。

其中,算法漏洞是必杀,但人类未必能掌握,只能靠未来更先进的算法,所以不算是人类的胜利;用历史战胜算法,则可以说抛弃了人类的骄傲与自豪,胜之有愧;而用创造力战胜算法,大概算是最有范的,但却依然很难说必胜——而且万一AlphaGo自己与自己的千万局对弈中早就发现了这种棋路,那人类依然会惨败。

综上所述,要战胜AlphaGo,实在是一条充满了艰辛的道路,而且未必能走到头。


人相对AlphaGo的优势

虽然说,在围棋项目上,人必然最终败在以AlphaGo为代表的计算机算法的脚下,但这并不表示AlphaGo为代表的围棋算法就真的已经超越了人类。

问题的关键在于:AlphaGo下棋的目的,是预设在算法中的,而不是其自己生成的。

也就是说,AlphaGo之所以会去下围棋,会去尽力赢围棋,因为人类设定了AlphaGo要去这么做,这不是AlphaGo自己能决定的。

这可以说是人与AlphaGo之间做大的不同。

而,进一步来分析的话,我们不由地要问:人活在这个世界上是否真的是无预设的,完全有自己决定的呢?

恐怕未必。

包括人在内的所有生物,基本都有一个预设的目标,那就是要保证自己能活下去,也即求生欲。

人可以通过各种后天的经验来讲这个目标压制下去,但这一目标本身是写在人类的基因中的。

从这点来看,AlphaGo的问题恐怕并不是被预设了一个目标,而是目前还不具备设置自己的目标的能力,从而就更加谈不上以自己设置的目标覆盖预设的目标的可能了。

那么,如何让算法可以自己设定目标呢?这个问题恐怕没那么容易来回答。

而,如果将这个问题局限在围棋领域,那么就成了:AlphaGo虽然知道要去赢棋,但并不知道赢棋这个目标可以分解为前中后三期的子目标,比如人类经常谈及的争大势、夺实地以及最后的获胜,这类子目标。

虽说在某些小局部,DCNN似乎展现了可以将问题分解为子目标并加以解决的能力,但至少在设立总体目标这个问题上,目前的算法看来还无能为力。

这种自助设定目标的能力的缺失,恐怕会是一种对算法能力的制约,因为子目标有时候会极大地简化策略搜索空间的结构与大小,从而避免计算资源的浪费。

另一方面,人超越AlphaGo的另一方面,在于人具有将各种不同的活动共通抽象出一种通用的规律的能力。

人们可以从日常生活、体育活动、工作学习等等活动中抽象出一种通用的规律并收为己用,这种规律可以认为是人生观或者价值观,也或者别的什么,然后将这种三观运用到诸如写作与下棋中,从而形成一种通过这种具体活动而体现出自己对人生对生活的看法的独特风格,这种能力目前计算机的算法并不能掌握。

这种将各不同领域中的规律进一步融会贯通抽象出更深一层规律的能力,原则上来说并不是算法做不到的,但我们目前没有看到的一个最主要的原因,恐怕是无论是AlphaGo还是Google的Atlas或者别的什么项目,都是针对一个个特定领域设计的,而不是设计来对日常生活的方方面面进行处理。

也就是说,在算法设计方面,我们所持的是一种还原论,将人的能力分解还原为一个个领域内的特有能力,而还没有考虑如何将这些分解后的能力再重新整合起来。

但人在自然演化过程中却不是如此,人并不是通过对一个个项目的钻研,然后汇聚成一个人,人是在直接面对日常生活中的各个领域的问题,直接演化出了大脑,然后才用这个大脑去处理一个个特定领域内的具体问题。

因此,算法是由底向上的设计方式,而人类却是由顶向下的设计方式,这恐怕是两者最大的不同吧。

这也就是说,虽然在某个具体问题上,以AlphaGo为代表的计算机的训练样本是远大于人的,但在总体上来说,人的训练样本却可能是远高于计算机的,因为人可以利用围棋之外的别的日常生活的活动来训练自己的大脑。

这恐怕是一种新的学习算法设计方向——先设计一种可以利用所有可以探测到的活动来训练自己的神经网络演化算法,然后再利用这个算法已经生成的神经网络来学习某个特定领域的问题。

这种通用的神经网络算法相对于专门领域的算法到底是优是劣,这恐怕在那一天出来以前,人类是无法知道的了。


人与AlphaGo的不同

最后,让我们回到AlphaGo与李世石的对局上。

我们可以看到,在这两局中,最大的一个特点,就是AlphaGo所理解的棋道,与人所理解的棋道,看来是存在很大的不同的。

这也就是说,人所设计的下围棋的算法,与人自己对围棋的理解,是不同的。

这代表什么?

这表示,人为了解决某个问题而设计的算法,很可能会做出与人对这个问题的理解不同的行为来,而这个行为满足算法本身对这个问题的理解。

这是一件细思极恐的事,因为这表示具有更强能力的机器可能因为理解的不同而做出与人不同的行为来。这种行为人无法理解,也无法判断到底是对是错是好是坏,在最终结局到来之前人根本不知道机器的行为到底是何目的。

因此,完全可能出现一种很科幻的局面:人设计了一套“能将人类社会变好”的算法,而这套算法的行为却让人完全无法理解,以至于最终的社会可能更好,但中间的行为以及给人带来的局面却是人类根本想不到的。

这大概是最让人担忧的吧。

当然,就目前来说,这一天的到来大概还早,目前我们还不用太担心。


结尾

今天是AlphaGo与李世石的第三轮对决,希望能有所惊喜吧,当然我是说AlphaGo能为人类带来更多的惊喜。


本文遵守创作共享CC BY-NC-SA 4.0协议

通过本协议,您可以分享并修改本文内容,只要你遵守以下授权条款规定:姓名标示非商业性相同方式分享
具体内容请查阅上述协议声明。

本文禁止一切纸媒,即印刷于纸张之上的一切组织,包括但不限于转载、摘编的任何应用和衍生。网络平台如需转载必须与本人联系确认。


如果喜欢简书,想要下载简书App的话,轻戳这里~~
<small>私人推荐订阅专题:《有意思的文章》、《严肃码匠圈》</small>


  1. 对,是世界第二,因为就在年初他刚刚被中国围棋天才柯洁斩落马下,所以柯洁现在是世界第一,李世石很不幸地低落到了世界第二。当然了,AlphaGo背后的DeepMind团队打算挑战李世石的时候,他还是世界第一。 ↩

  2. 有一个很有趣的效应,称为“AI效应”,大意就是说一旦机器在某个领域超越了人类,那么人类就会宣布这一领域无法代表人类的智慧,从而始终保持着“AI无法超越人类”的局面。这种掩耳盗铃的鸵鸟政策实在是让人叹为观止。 ↩

  3. 这部分可以看Facebook围棋项目DarkForest在知乎的文章:AlphaGo的分析 ↩

  4. 策梅洛于1913年提出的策梅洛定理表示,在二人的有限游戏中,如果双方皆拥有完全的资讯,并且运气因素并不牵涉在游戏中,那先行或后行者当中必有一方有必胜/必不败的策略。 ↩

  5. 这方面,有人已经研究了一种算法,可以专门功课基于特定神经网络的学习算法,从而构造出在人看来无意义的噪音而在计算机看来却能识别出各种不存在的图形的图像。未来这种针对算法的“病毒算法”恐怕会比学习算法本身具有更大的市场和更高的关注。 ↩

本文由必赢437登录发布于动漫动画,转载请注明出处:算法的棋道

关键词:

必赢电子游戏娱乐写在四年之痒

紧凑的婆姨: 据他们说,人的细胞在每十15日的新故代谢。将一身细胞全体换掉,需求三年。也便是说,说着祖祖辈...

详细>>

马云融资最大的手笔是什么?融资的本质与核心

中国首富马云融资的最大手笔,正是融到五个牛人 咱们为什么要在平台付账 创办实业要求融资,供给借助资本市集的...

详细>>

罗永浩:创业所经历的委屈要比打工多无数倍

题图:锤子科技创始人 罗永浩先生 我身边最近多了很多出来创业的朋友,以前我觉得这是一件很牛逼的事情,但是时...

详细>>

【必赢优惠大厅官网】妇女富养也是祸,娶妻莫

陆眉依靠才貌双全的傲人资本,在她父母的精挑细选下,嫁给了叁个身家同样颇负、充满前途的军人王赓。不过,她...

详细>>