[新聞] 木遙: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