論藝160311 AlphaGO的技藝

論藝160311
AlphaGO的技藝
執筆人:蟬

AlphaGo-Lee-Sedol-Aja-Huang-550x3662016年3月9日和10日,Google Deepmind團隊開發的人工智能圍棋程式「阿花狗AlphaGO」挑戰傳奇韓國職業棋士 李世乭,在不被看好的情況下先勝二局。執筆時五局比賽尚餘三局,鹿死誰手尚未可知,但阿花狗先取兩局實在是人工智能了不起的進步。
早在1997年IBM電腦「深藍DeepBlue」便打敗了國際象棋世界冠軍Kasparov;2006年國際象棋軟件「Deep Fritz」只用一台普通家用電腦便打敗了世界冠軍Kramnik。但為何電腦要到2016年才能成功挑戰頂級圍棋手呢?又,阿花狗的勝利與深藍有何分別?
(不說不知,比賽中阿花狗的操作者正是團隊其中一位主要開發員 黃士傑Aja Huang,他是台灣業餘6段圍棋愛好者。)

即使不會下圍棋和國際象棋,只要了解遊戲規則,便很容易知道圍棋的複雜度遠比國際象棋高,棋盤較大加上規則較少,令圍棋的廣度(即每步棋的可能性)和深度(遊戲的長度)遠比國際象棋高(總可能棋路為250^150對35^80)。這個複雜性的差距,即使電腦的計算能力在過去二十年進步神速,也不是單憑大眾想象的「暴力試錯策略」可以輕易填平得了。***
固然電腦的記憶力和線性運算能力遠比人類選手占優,但若非人工智能技術和發展方法的突破,李世乭是不會輸的。(李世乭賽前表示有信心5:0完勝,但其實他也認為AlphaGO會在兩年後戰勝他。)

〈真‧人工智能〉
到底阿花狗是怎樣學習和下棋的呢?我們不妨先從牠如何“觀看”棋盤開始。
要將盤面的資訊轉化為數據,最直觀的方法是將整個棋盤看成一個「座標系統」,只要將棋子的位置座標化,棋譜便可以由一連串座標資料組成。這種簡潔和完整的資料轉換體系看似完美,但卻不是阿花狗的世界觀。
阿花狗看棋盤的方法比較像人看臉孔,即從不同的層次和區域去看:從全盤到局部,從實質到抽象,層次之間有互相覆蓋的地方。*** 這種名叫「深度卷積神經網絡Deep Convolutional Neural Network ( DCNN)」的“認知”方法經常應用在圖象和語言處理等方面。

透過卷積神經網絡,阿花狗看到的更接近人類棋手眼中的棋盤,除了能供稍後演算時將棋盤分解成局部,以便作出更快捷的分析,還讓牠更有“大局觀”,因為這網絡能夠“感受”到棋盤不同部分的情況,和部分與部分之間的關係。***

阿花狗與其他圍棋電腦程式最關鍵的差別在於它的行棋策略Policy Network。說得簡單一點,它先從KGS GO伺服器找來3千萬局高段棋手的棋譜,以這些資料去訓練阿花狗模仿高手***,此即「Supervised Learning (SL) Network Policy」。
然而下得像高手不一定會贏,且SL Network Policy往往太費時和單調,於是DeepMind在SL Network的基礎上面,再加上以贏棋為目標,發展出強化訓練策略「Reinforcement Learning (RL) Network Policy」。

DeepMind發現使用行棋策略雖然能找出“最好”的一步,但由於運算需求太高,要完全以這個方法來下棋是不現實的,所以發展了「快速下子Fast Roll-out」程式。
「快速下子」沒有像Policy Network那樣經過“審慎”細算,它依賴比較舊的區部特徵匹配local pattern matching加上綫性回歸logistic regression的方法,以比行棋策略快上1000倍(2微秒 vs 3毫秒),在1/4的機率下達到高手下棋的水平。用圍棋術語來形容,「快速下子」是依賴 “棋感”的策略,而行棋策略則是深度的細算。***

除了策略,阿花狗還擁有「估值網絡Value Network」,它基於盤面資料去評估優劣狀況,是一個補充性網絡,用以估算當前盤面優勢誰屬。根據阿花狗的對手「Facebook DarkForest」的發開人員田淵棟指出,估值網絡同樣是暴力地以3千萬局行棋資料訓練出來的,沒有對局部死活/對殺分析作出優化,其效果卻甚為理想,足以證明DCNN有將問題原子化的能力。***

在第二局開局的時候,Redmond九段 詢問DeepMind的開發人員,與李世乭比賽的阿花狗與去年10月跟歐洲冠軍 樊麾二段的有何差別?開發人員答道:雖然過去數月不斷作出改良,但對於阿花狗在比賽時會如果行棋及以何種策略應對,卻完全無法預料,工作人員也是在阿花狗下子後才知道它怎麼下。
開發過程中只給予系統修正遊戲目的和提供優化行棋策略的對局資料,對於它從“經驗”中掌握了甚麼知識卻是毫不知情。 就好像家長只能為子女提供教育,但對他們實際如何做人處世卻無法預測一樣道理。

阿花狗第二局第37手賽後被評為甚具創造性的一手,職業棋士 李喆甚至表示:「對於黑棋這步棋,作為棋手,我的震撼比看到外星人還要大。」可見阿花狗接下來可能還會有不少令人驚喜/訝的演出。
592f9dff353ac29140ffffcf5fa4d947_rP.S.筆者雖然努力嘗試閱讀相關技術文章,但由於學藝不精,難免有誤解之處,如有錯失,煩請指正。

參考:
《Mastering the Game of Go with Deep Neural Networks and Tree Search》from Nature issue 529 (Jan 2016)
《AlphaGO的分析》田淵棟 http://zhuanlan.zhihu.com/yuandong/20607684
《Neural Networks and Deep Learning》Michael Nielsen http://neuralnetworksanddeeplearning.com/