返回列表 发帖

围棋AI的致命点在哪里?今后的发展方向又是如何?——大桥拓文聊AI(三、下)

来源:找借口安静  2018-08-26

原址:https://diamond.jp/articles/amp/178038?skin=amp
原题:グーグル、テンセント、フェイスブックが激突する「囲碁AI三国志」
摘自:Diamond Online
作者:大桥拓文 六段
翻译:找借口安静 明天内容好像也特别长


围棋AI的开源化,脸书复活的狼烟

如同AlphaGo Zero那样从零开始的学习,富有想象力让人觉得非常有意思,对不是开发者的笔者来说也不难想象。但是这个技术需要庞大的机械设备。因此衍生出了这样有意思的想法。比利时开发的LeelaZero程序,是从AlphaGo Zero发布之后才开始开发的程序。

他们的开发过程具体来说,将AI程序进行开源,通过全球开发者的协助进行自我对局。收集了这些数据之后对程序进行升级。就像龙珠里的“元气弹”一样的手段。

LeelaZero不仅利用了免费软件,同时开发了Lizzie程序方便棋迷进行研究,这一点做得非常出众。在此之前,围棋AI的思路经常用人类看不懂的符号显示出来,但是Lizzie的出现,围棋AI可以在棋盘上显示出变化图。将围棋AI的思路可视化,可以说是相当出色的一款工具。

事到如今,围棋AI的开源化可以说是改变整体流向的重大决定。Facebook也发布了自主开发的“ELFOpenGo”。Facebook在此之前和AlphaGo同期发布了“DarkForest(黑暗森林)”的AI程序,但是最近已经没有进展,据说已经放弃了开发。

但是进入2018年,受到了AlphaGo Zero的启发,再一次展开了开发。实力一下子突飞猛进,与韩国顶尖棋手的测试棋中收获了全胜。

在本次大会进入前列的LeelaZero,Facebook的ELFOpenGo等强劲AI,在网上与人类棋手的对局中几乎没有败绩。但是也会有非常少见的败绩。而这些败因基本上都出在一个问题上面。那么我们来讨论一下围棋AI才会出现的弱点。

围棋AI竟不知人类入门水平的征子问题

图1 围棋的基本规则


黑1之后,白棋周围的空格全部被黑棋占领,白子就被吃。

在围棋里面,只要包住对手的棋子就能吃掉。像图1一样,黑1之后白棋上下左右都被黑棋占领,所以这颗子就被黑棋吃掉了。但是围棋顾名思义还是根据最终地盘的多少才能决出胜负,所以即便吃掉一个子也不会就此结束比赛。

围棋的最终目的是围出更多的目数,而吃掉或者被对手吃掉正是围棋的一大乐趣。围棋有很多吃子的手段,在入门讲座的时候最先学习的就是征子了。

图2 征子的基本图


黑1之后,白A一子看上去可以跑出去。因为还留有一口气,并没有被黑棋完全包围。但是此后白棋即便跑出A子,最终白棋还是会被吃掉。我们可以考虑一下黑棋之后该如何吃掉白棋。

图3 怎么跑都跑不掉的征子


即便白2跑出去之后,黑棋就像楼梯一样地将白棋全部吃掉。这就是征子。黑棋只要像楼梯一样把白棋追到边缘后就能全部吃掉。征子也被写作“征”,还有“四丁”的说法。因为每一排都有4颗棋子,这就是“四丁”的来源。

在这里介绍了一下围棋入门阶段就会学习的征子。而星阵围棋战胜绝艺的一局棋中,出现了征子的局面。

图4 AI都没有察觉的征子


在世界AI围棋大赛上,绝艺和星阵围棋的一盘棋。绝艺执黑,星阵围棋执白,本局出现了征子。

绝艺在此时选择黑1的跑出,星阵围棋很快就下出了白2。从局面来看,这个图和图2的征子图基本一样。图4之后不久,绝艺就认输了。那么把这个征子继续下去会怎么样呢?

图5 征子的最终图


白棋即便选择跑出,在40手之后黑棋的26子就会被连根拔起。

现在的围棋AI虽然很强,但是在人类入门阶段的征子和大头鬼等手段是它们的弱点。而他们的共同点,都是要花很长的手数才能吃掉。

前面的图3,需要有59手的计算。但是AI的计算算不到这么多手数的理由其实并不充分。因为现在的围棋AI,经常会显示50多手的变化图。

为了究其原因,我们可以发觉人类和AI的思考方式并不一样。

人类下围棋的话,为了获胜就要占得更多的地盘,吃子或者围地盘则是通往胜利的基本目标。而围棋AI虽然也知道围地多才能获胜,但是他们并没有把吃子等作为自己的目标。

我们整理一下。人类和现在的AI思考方式的区别如下:


人类的思考方式:① 胜利、② 为了胜利设立的目标(征吃等)、③ 为了达到②的目标进行计算。
围棋AI的思考方式:① 胜利、② 为了达到①的目标进行计算。
(译者注:Photoshop坏了直接翻译了)



人类棋手为了获胜,需要在对局中建立不少的目标。比如“通过征子吃掉这些子就能有利一些”、或者“右边的地盘如果都是我的话就很大”等情况。而每一手棋都会带有各种意义或者故事。

而围棋AI,则会通过局面上的情况,再选择一步步接近于胜利。而人类棋手并不能看得如此远,AI之所以强大正因为它们可以通过全盘进行思考。相反,它们很难像人类一样确立一些小目标,或者考虑与稍早局面时的连续性。最明显的就是前面的征子问题。

在AlphaGo Zero的论文上也提及了征子的问题,在自我学习的后半阶段才渐渐理解征子。可见对AlphaGo Zero来说征子也是一大难题。也就是说,在AlphaGo Zero出现之前的版本,为了解决征子问题,人类将征子的算法导入了进入。但是最近自我解决征子问题成为了开发AI程序时的一大目标。AI为了能进一步跨进新阶段,开发者正在摸索如何让AI自我学习征子的方法。

接近世界顶尖的日本国产AI,“AQ”竟然是个人开发

世界各大企业正在开发围棋AI的同时,日本的情况又是如何呢?2016年,为了能超越AlphaGo,“DeepZenGo”项目正式开始,开发出了可以战胜国内职业棋手的AI,并成为了日本国家队的研究工具。但是比较遗憾的是,这个项目在2018年5月宣告结束。

就在此时,出现了新的领军人物,那就是“AQ”。让人意外的是,AQ的开发者仅山口祐先生仅一人。他本人也表示,这是自己的一个兴趣罢了。但是这款AQ在本次大会的预赛上,战胜了Facebook开发的ELFOpenGo。

虽然自己非常爽快地表示,放眼世界,个人开发的围棋AI还没遇到过比我厉害的。就凭这点我们就值得评价一番。

一些企业正领跑于围棋AI的当下,日本企业正在开发的围棋AI,据笔者了解只有HEROZ的“棋神”和Triple IZE开发的“Raynz”这两只。虽然都集聚了非常优秀的开发者,但是都没能紧追整体的趋势,亲眼目睹世界AI开发现场的笔者感受到的只有危机感。

7月底,为期一个月的大会落下帷幕。决赛中绝艺在七番棋中获得全胜战胜星阵围棋夺得冠军。虽然绝艺在先前提及的1/4决赛中输掉一句,但是纵观本次大赛,绝艺展现出来了压倒性的优势。进入4强的还是有ELFOpenGo和日本的AQ。

但是笔者看来,第2到第4的差距仅在毫厘之间。夺冠的绝艺实力基本和AlphaGo Zero一样,预测在2018年后半段绝艺的实力有可能超越AlphaGo Zero。笔者最希望看到的是,AlphaGo Zero和绝艺之间的对决。

身为职业棋手的笔者,通过本次比赛感受到了世界AI竞争的激烈,受到了和我同年龄的开发者的启发,我和一些年轻棋手们一起开设了“AI程序”的研究团队。

围棋棋手目前应该是最希望和AI共同进步的一个职业。围棋AI不仅要在棋局上进行研究,在培养棋手上面围棋AI该如何运用,棋手们通过AI的研究以及与开发者之间的交流,相信大家都在思考,围棋AI和我们该如何共同发展下去。

人类的力量确实有极限。相信在AI崭露头角的现在,人与人之间的联络网将会变得越来越重要。
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

返回列表