[新闻] 木遥:AlphaGo离围棋之神还有多远?

楼主: oldTim (TIME WILL TELL)   2017-01-05 14:09:52
木遥:AlphaGo离围棋之神还有多远?
https://theinitium.com/article/20170105-opinion-AI-Go/
人类对人工智能发展速度的预期,常常既极端低估,又极端高估。
很多人都注意到,AlphaGo 的棋风有个有意思的特点:它很少下出“好棋”,也就是凶狠
的杀招,并且还时不时似乎下出缓手。它局面从未大幅领先过,永远只赢一点点。为什么
呢?
AI的棋风能不能更好看?
要训练一个神经网络,需要定义一个反馈函数,即告诉这个神经网络怎样的决策是好的。
在 AlphaGo 的设计中有个重要的细节:训练 AlphaGo 的神经网络时所采用的反馈函数只
依赖于输赢,而同输赢的幅度无关。换言之,对 AlphaGo 而言,赢一目的棋和赢十目的
棋一样好,它追求的只是单纯的胜负而已。
但单纯追求胜率,实际上就意味着放弃追求大胜。因为在多元优化问题中靠近边缘的地方
,不同的优化目标之间几乎总是彼此矛盾的。比方说,如果一个局面需要考虑三手可能的
棋,第一手可以赢十目,有 70% 的胜率,第二手可以赢一目,有 80% 的胜率。第三手可
以赢二目,有 90% 的胜率。第二手棋显然全面劣于第三手棋,不应该列入考虑。而值得
比较的第一和第三手棋之间,胜率高的选择一定是胜利幅度较低的那一个。——很显然,
这就是典型的帕累托优化问题。第二手棋不是帕累托最优的,或者说不够接近优化的边缘
。而在边缘处的第一手和第三手,两个指标的优劣一定彼此相反。
因此,AlphaGo 以单纯胜负作为反馈函数的结果,就是 AlphaGo 总是选择那些相对而言
更保证胜率而胜出幅度较小的棋。只赢一点点就够了。
为什么人类棋手(至少绝大多数)不这么下棋呢?
因为这和人的思维方式不符。AlphaGo 可以这么做的前提是极端精细的计算能力,从而得
以控制微小而稳定的盘面优势。像是贴着水面飞行的鸟,最危险但也最省力。但人无法永
远做出精确的计算,所以需要一次次努力扩大领先的幅度以维持一个安全的距离,防止一
着不慎胜负翻盘。所以 AlphaGo 会显得遇强则强,但也很少下出“好看”的棋。甚至可
能因为过于追求全局取胜机率,下出在人类的视角看来局部并非最优的招式。反过来,通
过一番搏杀来取得局部胜利,在人类看来总是一件好事,而在 AlphaGo 看来,这也许只
是毫无必要地增加不确定性而已。
于是我忍不住设想,如果 AlphaGo 在训练时采用不同的反馈函数会是什么结果。不妨假
设存在一个 BetaGo,一切都和 AlphaGo 设定相同,只是反馈函数定义为盘面领先的目数
。(换言之,从一个正负之间的阶梯函数变成线性函数。)可以猜测 BetaGo 的“棋风”
应该比 AlphaGo 凶狠许多,更追求杀着,更希望大赢。如果让 BetaGo 和 AlphaGo 反复
对战,AlphaGo 赢的次数会更多,但平均而言 BetaGo 赢的幅度会更大。
或者更极端一点,干脆采用盘面领先程度的平方乃至指数函数作为反馈,那会培养出什么
暴躁疯狂的算法呢?
AlphaGo 采用目前的设计是很好理解的,因为首先追求的目标还是证明 AI 能够战胜人脑
。但是从目前的情况来看,AlphaGo 似乎已经遥遥领先,那即使 BetaGo 胜率稍差,假以
时日应该也可以超过人类。而它的棋应该会好看很多。
好可惜,我们看到的不是 BetaGo。
人类的思考,和AI如何不同?
AlphaGo 是否会打劫,早就不成为争议了。
但它其实根本就不应当有争议。打劫只是围棋中“不得全局同形再现”这一条规则的推论
,而这条规则对 AI 来说,实现起来再简单不过:只要在搜索决策树的时候,跳过所有已
经出现过的局面就好了。
这当然不是说,AlphaGo 的实现细节中一定没有任何针对劫的专门逻辑存在。一些特定的
优化也许是有意义的。但是以为 AlphaGo 和人一样,有必要去辨认劫的特性,选择和保
存劫材,在多个劫同时存在的局面下做复杂的战略决策,只不过是把人的思维方式错误地
套用在遵循完全不同逻辑的神经网络上而已。神经网络自我学习的特性,保证了只要让它
遵循围棋的基本规则,它完全可以“显得”像是懂得复杂的围棋概念,但这绝不意味着它
真的“在乎”这些概念。AlphaGo 的主要作者中的两位 Chris Maddison 和 Aja Huang
在他们 2015 年发表过的一篇论文中写过这样一段话(原文为英文,以下是我的翻译):
“很明显,神经网络内在地理解了围棋的许多深奥的层面,包括好形,布局,定式,手筋
,劫争,实地,虚空。令人惊异的是这样一个单独、统一、直接的架构就能把围棋的元素
掌握到这个程度,而不需要任何明确的先导。”
归根结底,劫是一个完全人为构造的概念。人们用它来描述自己的战略,建构自己的思考
模式,就像别的围棋术语一样。但它只是刻画,并非本质。如果 AlphaGo 有意识,它也
许会在面对人类的询问时说:噢,原来你把我走的这一步叫做打劫啊。
但这是人类的缺陷么?我们是否是在把一个本来应该用纯粹的计算解决的问题毫无必要地
归纳于概念,然后又让自己的思维囿于这些概念而作茧自缚呢?
恰恰相反。能够迅速建立起高级抽象的概念,然后用它来简化和指引决策,这是人类在千
百万年间演化出的伟大能力,今天的人工智能还远远不能望其项背。借助这些抽象观念,
人们得以把全局问题分解为一系列局部的,可以简明描述和推理的子问题,做出也许未必
在数值上严格最优,但是相当接近最优的判断,从而取代人工智能需要耗费海量计算才能
作出的决策。更重要的是,这些抽象观念可以让一个人从极少数样本中辨认本质、总结经
验、汲取教训、获得成长。一个棋手从观摩一盘棋中得到的教益,可以多于 AlphaGo 千
万盘自我对局。AlphaGo 的神经网络自我反馈训练虽然有效,但是盲目。而人们知道自己
要学的是什么。
这是人类智能最耀眼的优势之一。
这引出了下面进一步的问题:这两种思维方式是否有可能对接?能不能让 AlphaGo 把自
己的决策过程翻译为人类可以理解的概念和语言呢?
这件事在应用上的潜力显而易见(用人工智能来辅助教学,当然不限于围棋),但更重要
的是它在理论上的挑战。AlphaGo 的决策过程是个黑箱,我们能够提炼出它用来提取棋局
特征的元素,但无法直接理解它们意味着什么。我们不知道它们如何对应于人所熟悉的概
念,或者在那里是否存在人们尚未总结出的新知识。我们当然可以看到它最终的结论,例
如一步棋是好是坏,可是仅有结论,并没有太多用处。
但这里仍然有做文章的余地。AlphaGo 可以看做是一个记录了自己每一次神经脉冲细节的
人工大脑,而机器学习的原理也可以应用在这些海量的记录数据本身之上。不难设想,也
许可以训练出另一个神经网络,来识别出这些数据中对应于人类高级概念的特征,从而设
法把 AlphaGo 的决策过程拆解和翻译为人类熟悉的观念模块。如果可以实现这一点,人
类就可以更直观地理解 AlphaGo。
我不知道这能否实现,但我希望可以。那将是一个重大的飞跃。
到那时,我们也许就可以看到人类棋手和 AlphaGo 在真正的意义上“覆盘”了。
我们离围棋之神还有多远?
AlphaGo 最大的未知数之一,是它自我对局训练的效率。按照目前公开的讯息,它的棋力
一直在随着时间稳定上升,假以时日,它的棋力还会进一步成长。
但这个预计完全在未定之天。事实上,过去这段时间以来它的棋力增长本身是个奇蹟,而
非必然。通过自我对局的输赢反馈来提升能力,最大的问题在于容易陷入机器学习中所谓
“过拟合”的状态。简单地说,就是因为自己的对手也是自己,从而陷入一个自洽的逻辑
圈无法自拔。其结果是缺陷变成了优势,盲点变成了禁区。初始经验中的噪音,逐渐固化
成了金科玉律。实际上并不存在的界限,因为从来没有试图跨越,结果变成了真的限制。
最后“自以为”自己下得很好,而且越下越好,其实只是越来越适应自己而已。
DeepMind 的团队当然想到了这个问题。他们的解决方案是不仅仅让 AlphaGo 自我对弈,
也不断让不同等级的 AlphaGo 之间互相越级对弈作为校准,以避免出现随着不断进化,
客观棋力反而萎缩的现象。问题在于,这种校准终究是在 AlphaGo 的“家族”内部进行
的。自己近亲繁殖的结果是有些 bug 永远都无法被自己意识到,只有在和棋风棋路截然
不同的对手的对弈中才有可能暴露出来。
譬如人类这个对手。AlphaGo 和李世石的对弈,可以看做是它第一次遇到和自己旗鼓相当
而截然不同的异类。于是它果然崩溃了一次。
其实和人类棋手相比,AlphaGo 也并非完全是天外来客。它最初的训练来自大量人类棋手
的网络围棋对局,血液里保存着人类棋手的基因。正因为如此,DeepMind 公司在过去几
个月里重新来过,在不依赖人类对局数据的基础上,从零开始训练新的围棋程序,以探索
不落现有围棋观念窠臼的新道路。
但即便如此,它仍然无法避免有一天终究会落入过拟合的陷阱。要逐渐接近围棋之神的境
界,可能需要不止一个竞争者出现,彼此切磋训练才有可能做到。甚至可以想像,人们最
终会找到随机生成新的围棋算法的方法,海量生成大量竞争者。但要做到这一点,需要人
们对围棋和人工智能有远比今日更深刻的理解才行。
长远来看,探索围棋的规律,和探索围棋算法的规律,在宏观的时间尺度下本来不就是一
回事么?
从某种意义上说,在遇到 AlphaGo 之前的人类围棋,整体上也是一个自我繁殖而逐步陷
入过拟合的家族。虽然江山代有才人出,但是作为一个集体,始终在继承着相似的传统,
遵循着统一的范式。现成的定式和规律,已经被研究地如此透彻,以至于任何新颖的想法
都会因为初生时的弱小而昙花一现。在千年围棋史上,也许只有本因坊秀策和吴清源曾经
以一人之力掀起过整个围棋观念的革命。绝大多数情况下,后来者只是在通过自己的努力
进一步强化既有的棋理而已。
直到 AlphaGo 的出现。
于是我们看到一个强大的传统遇到了新奇而健壮的挑战者。从一开始不屑的讪笑,变成了
敬畏的崇拜,直到最终勇敢的接纳。这并非一朝一夕之功,当然总是会有抗拒和怀疑,会
有恐惧、愤怒和绝望。更坎坷的部分也许还在后面。但是这一步一旦走出,就无法再后退
了。
归根结底,这是避免一个自我封闭的系统陷入衰败的唯一途径。固步自封,夜郎自大,筑
起墙来抵御想像中的危险,把自我适应的沉渣视为不可动摇的根本,绝无可能生生不息欣
欣向荣,而只会在自我满足的道路上越走越远。
当然,不止下棋是这样。
面对人工智能,人类要失败了吗?
有趣的是,人类对人工智能发展速度的预期,常常既极端低估,又极端高估。在
AlphaGo 挑战李世石,大多数人本能地拒绝相信人工智能可以达到这样的高度,认为
围棋中某些普遍被认为是属于人类的强项,例如大局观、直觉、平衡感、洞察力,是人工
智能不可逾越的高峰。甚至有些人在看到对局结果之后,还是固执坚信人工智能只是以暴
力和统计学堆叠出胜利,并没有真正展现出人类大脑特有的能力。但另一方面,很多人又
在一夜之间开始担忧人工智能统治人类的未来,似乎人工智能从学会下围棋到征服世界,
只有一步之遥。
而事实是,人工智能早就开始在许多关于直觉和美的领域里展现出创造性。三十年前,
Harold Cohen 已经开始能够让电脑自动画出人们误以为来自人类画家的画作。二十年前
,David Cope 编写的程序写出的肖邦风格的马祖卡舞曲已经传神到即使音乐专业的听众
也难辨真伪。归根结底,人的大脑在功能性的层面上只是一架精密的机器而已。既然是机
器,就有被数值计算模拟和逼近的可能性。AlphaGo 所展现出的围棋开局时良好的“棋感
”,再好不过地说明了所谓的直觉并非无法量化,只是无法被我们自己量化而已。
但这是人类的失败么?
从茹毛饮血的穴居时代到游弋太阳系的今天,人类的进步从来就不体现为本身生物能力的
优越,而体现于不断创造出工具成为自我的延伸。我们制作出的机器跑得更快,飞得更高
,算得更准,想得更深。但是归根结底,定义人性的并不是我们的能力,而是我们的弱点
,以及我们为了克服自身缺陷和拓展未知的边界所作出的艰苦卓绝的努力。在这个过程中
,在一次又一次失败里,我们砥砺心灵、认识自我、战胜蒙昧和愚蠢,然后成长。
我曾经和朋友谈及有哪些人工智能还做不到的事情。朋友说:人工智能至少无法设计出
LIGO 这样的科研工程来探测引力波。我说:我不相信。LIGO 当然是人类智慧的结晶,但
是考虑到人类所能掌握的资源的有限可能性,让人工智能设计出整套方案并非不可能。
我真正觉得人工智能无法做到的,是“想要探测引力波”这件事。
所以机器的发明从不曾阻止我们在健身房里挥汗如雨,或者寻求素数定理的一个又一个新
的证明。印刷术没有取代书法,数字音乐的普及也无法消灭演唱会现场的泪水和欢呼。在
围棋三尺天地的手谈之中,在须臾之间寸争胜败的纤毫境界里,人们所付出的长久凝视和
坚忍血汗,所寻找到的对世界和彼此的理解,绝不会因为 AlphaGo 的出现而烟消云散。
它是我们的进步的一部分。
(木遥,现居纽约)
作者: Aipr (阿伯)   2017-01-05 14:19:00
好文
作者: qoo30428   2017-01-05 14:21:00
好棒
作者: Aipr (阿伯)   2017-01-05 14:22:00
如果DM真的想"探索围棋", 该考虑考虑作这只BetaGo吧~
作者: birdy590 (Birdy)   2017-01-05 14:22:00
有可能做动态调整 但是训练量会变成原来的很多倍 未必好
作者: Astar5566 (一颗星5566)   2017-01-05 14:22:00
第一段就看不下去= = master明明各种先手
作者: birdy590 (Birdy)   2017-01-05 14:23:00
它评断每一手价值的时候 根本不包括赢多少在内 只有输赢
作者: ilw4e (可以吃吗?)   2017-01-05 14:39:00
蛮想看如果AG落后的时候会不会下"胜负手",还有选的点是跟人类相近还是可笑的无理手
作者: ginstein (迈向学术之路)   2017-01-05 14:40:00
好文,懂算法也懂棋的人才能写出来吧!!
作者: mapulcatt (cosi fun tutte)   2017-01-05 14:43:00
若偏向选高风险的点 Betago大概一盘都下不赢alphago
作者: semihumanity (沙漠之狐)   2017-01-05 14:44:00
中盘就大幅领先了好吗……
作者: wtl (比特)   2017-01-05 14:44:00
AG是机器学习 根本没有教AG如何下棋的算法 都是自己学的
作者: mapulcatt (cosi fun tutte)   2017-01-05 14:44:00
可能打职业棋士也输多胜少 因为爱选大好大坏的点
作者: sadmonkey (下雨天)   2017-01-05 14:47:00
本文留给职业棋手很大的面子阿,都是先假设人类长期累积下来的经验法则是正确的再来推论,问题是单就围棋来说好多局面就算给职业棋手来评都是"这样下算不清,就简单断定是两分吧",而以其它领域来看人类的经验法则造就的盲区错误率,远比统计或是科学数值计算下来的大的多
作者: semihumanity (沙漠之狐)   2017-01-05 14:53:00
Hassabis只是说过有考虑从零开始训练,之后都没说新版AlphaGO是从零训练的,怎么就直接认定是洗白的…
作者: MonkeyCL (猴总召)   2017-01-05 15:01:00
把打劫讲得这么轻描淡写,黄士杰:我论文写好玩的QQ
作者: moonlind (又多了敷脸卡跟觅食卡了~)   2017-01-05 15:02:00
确实 如果都只选高风险高报酬的点 肯定打不过稳稳打的
作者: birdy590 (Birdy)   2017-01-05 15:02:00
改动算法有可能做到 但是运算量增加棋力也不一定变强
楼主: oldTim (TIME WILL TELL)   2017-01-05 15:03:00
查了一下本文作者木遥是UCLA数学PHD,目前在google工作
作者: moonlind (又多了敷脸卡跟觅食卡了~)   2017-01-05 15:03:00
AlphaGO 应该是前期低风险 中期判断盘势 逐渐提升报酬这样才能符合 并且有打赢的可能
作者: birdy590 (Birdy)   2017-01-05 15:05:00
它现在的判断方式就只看输赢啊 这样怎么可能知道赢多少?
作者: ddavid (谎言接线生)   2017-01-05 16:14:00
这篇很完整

Links booklink

Contact Us: admin [ a t ] ucptt.com