close

三千年圍棋隻用三天走過 最簡潔的AlphaGo最美

本文來源:知乎 作者:不會功夫的潘達

在2017年10月19日DeepMind發佈瞭其最新成果AlphaGo zero, 該算法不再需要學習人類棋手的下法,而直接采用自對弈進行訓練。AlphaGo zero在訓練效率與最終表現上相比之前都有瞭非常大的進步……

我讀著新論文,對比前一個版本的論文(即AlphaGo Fan版本)。直觀感受如下:

舊版AlphaGo:

AlphaGo Zero:

如果我對圍棋一無所知,讀初代AlphaGo的論文,可能會有以下疑問:

策略網絡和價值網絡,結構和功能很接近啊,為什麼不合並成一個呢?

為什麼要用專傢的棋譜作為初始訓練樣本?從一張白紙開始訓練豈不是更具有普遍性?

快速走子是什麼鬼?隻用價值網絡評估不是更有效率嗎?

為什麼要輸入圍棋知識?AlphaGo的強化學習過程難道學不到這些知識嗎?

舊版的AlphaGo,雖然神功小成,但斧鑿痕跡顯著。好似一隻機器人女友,雖有絕色容顏,卻長著機械手、聲音冷如谷歌娘(誤)。理想的圍棋人工智能,應該是簡潔、優雅、渾然天成,就像死宅們的老婆新垣結衣一樣(大霧)。

而新版的AlphaGo,真的造出瞭栩栩如生的Gakki(誤)。

具體地說,AlphaGo Zero相比於初代AlphaGo,有以下幾點改進:

1、將策略網絡和價值網絡合並,組成一個可以同時輸出策略p和價值v的新網絡。

1.1、簡化瞭新網絡的結構。新策略·價值網絡的輸入特征平面由48個減少到瞭17個。其中,涉及圍棋知識的輸入特征(氣(liberty)、征子(ladder))被刪去。

2、新策略·價值網絡隻需通過強化學習來訓練,無需監督學習。即無需輸入人類高手棋譜作為初始訓練樣本,隻需用隨機落子作為初始訓練樣本。

3、優化瞭蒙特卡洛搜索樹,主要是省去瞭快速走子(rollout policy),節約大量實戰計算成本。

3.1、 快速走子策略也需要輸入大量人類已知的圍棋知識,比如如何點死大眼(Nakade, 如點死直三、丁四、刀把五等棋型的唯一招法)。省去快速走子,也就省去瞭輸入這些知識的麻煩。

4、改卷積網絡為殘差網絡,提高訓練效率。

留下的,是一個從零開始訓練的神經網絡,以及用簡單到不能再簡單的MCTS算法行棋的AlphaGo Zero。

知易行難。這些改進貌似不難想到,是因為AlphaGo Zero本來就是研究者理想中的女神。而初版AlphaGo不夠女神,不是因為研究者不想,而是暫時做不到。舉個例子,AlphaGo Fan版本中,神經網絡的輸入由48個特征平面構成。其中兩個平面分別表示,某一步棋是否是成功的征子,和某一步棋是否是成功的逃征子。

這是征子的基本圖。白1逃跑,黑2、4以下分別從兩側叫吃白棋,使白方始終隻有一口氣。一直追到棋盤盡頭,白方最終無路可逃。黑棋大獲全勝。

而如果征子路上有對方的小夥伴接應,比如上圖右上角的黑棋。那麼征子就會失敗,並且白棋滿盤皆輸。

征子是圍棋的基本知識,初學者在前兩三節課就會學到。但實戰的征子可以非常復雜,甚至搞暈職業棋手。

這張圖來自職業棋譜,趙善津勝王銘琬。註意,白棋中央一大坨已經被征死瞭。白方看錯瞭引征,招致全盤皆輸。

白棋硬跑的後果如圖。。全軍覆沒

征子也能搞暈神經網絡。我剛才在某計算機圍棋的討論區看到Joona Kiiski網友的觀點,和大傢分享一下:

- The learning was based on self-play。 Understanding ladders is perhaps not so important if your opponent doesn‘t understand them either。。。 Every time a decisive ladder appears on the board, the result is practically a coin toss。- And as others have pointed out, unlike almost all other go features, ladders are not at all a local feature。 The features need to build up through a huge number of convolution layers, before it works。 And it’s difficult to build this understanding incrementally (unlike e.g。 life death where you can start with simple cases and then move to more difficult cases), so we lack bias to direct the learning to the right direction。

大意如下:

和絕大部分圍棋的特征(比如死活、官子、定式等)不同,征子完全不是局部特征,而是全局特征。這就意味著,在神經網絡能正確處油煙靜電機理征子之前,征子的特征需要通過大量卷積層來慢慢建立。這會給神經網絡的訓練帶來潛在的麻煩。

更要命的是,在征子上一旦出現失誤,大勝的棋局會直接變成大敗。

據此可以推測,征子的這些麻煩特性,使得初代AlphaGo不得不把征子作為輸入神經網絡的特征之一。(另一個軟件Zen,即使和初代AlphaGo做瞭類似的處理,實戰的征子依然會偶爾出錯,被人類棋手逆襲瞭好多盤。)

AlphaGo Zero的神經網絡,大膽省去瞭征子特征的輸入。細細品味訓練過程,略微吃驚:神經網絡直到訓練的(相對)後期才學會征子。

如果對局雙方(黑AlphaGo-白AlphaGo)都不懂征子,那麼總體結果也不會差太多吧。每個征子的結果就好像投硬幣一樣隨機,總的勝負加起來差不多是零(大誤)。

或許是開發團隊好運,更有可能是反復嘗試以後才成功。總之,在征子上,AlphaGo Zero涉險過關。

同理,分拆策略、價值網絡,以及采用快速走子,是舊版AlphaGo的暫時妥協,而在新版終於得以解決。

DeepMind,及其母公司谷歌的終極目標不是破解圍棋,而是造出通用人工智能。通用智能不需要額外專業知識。AlphaGo Zero在無圍棋知識輸入的前提下達到如此高度,可以說離通用智能又近瞭一步。

大道至簡。對於AlphaGo,最簡潔的,就是最美的。

說棋。

摒棄人類棋譜輸入,從零(Zero因此得名)開始訓練阿爾法狗。去年谷李大戰以來,棋迷翹首以盼的“純凈版”阿爾法狗終於問世。

更恐怖的是,Zero經過三天訓練就達到AlphaGo Lee的水平 (即去年戰勝李世乭的版本,ELO ~3750。對比今日柯潔ELO ~3660。),節約瞭90%+的時間。見下圖。

四十天之後,Zero甚至超越瞭姐妹版本Master,對Master實現90%勝率。Master和Zero的主要區別是,Master有人類棋譜輸入,經歷監督學習(SL)而非強化學習(RL)。

我在論文中學到瞭一句拉丁語,startingtabula rasa,從一張白紙開始。看Zero的訓練過程,就像看一個嬰兒成長,妙趣橫生。

第三個小時,如同幼兒堆石子。第二十小時,有板有眼。第70小時,復雜局面處理自如,已是頂尖高手。

看AlphaGo學會的定式,更是有趣。A行是AlphaGo在訓練過程中學會的人類定式。B行則是在訓練的不同階段,AlphaGo最喜歡的定式。

B行第一個,黑棋下在1,1,顯然是賣萌,此時大概是第10個小時。B行第二個,黑星位,白棋外靠(!),黑退,白扳粘的變化。此變化不在人類課本當中,白2略驚悚,直觀看也是白棋稍虧。果然,在40小時以後,本定式被無情淘汰(見下圖)。

第三變,點三三!千呼萬喚始出來。

20小時以後此變化出現頻率猛增,並一度達到3%,此後緩慢回落,最終穩定在0.5%。這是我曾經最喜歡的定式之一,也是定式書上必介紹的一個基本型。黑地白勢,各得其所。

作為對比,點三三的另一變如下:

在五十小時後,黑5飛的頻率大增。至70小時,此變頻率達0.2%。從最終的自戰對弈來看,此變的頻率似乎超過瞭黑5扳(有待查證)。很有意思,AlphaGo對此定式的認識過程和人類有些相似。長久以來,黑5扳都是點三三的標準變化。直到最近十年左右,黑5飛才開始變得頻繁起來。由於Master的影響,人類棋手開始頻繁點三三,並且把黑5飛作為標準變化。上圖的後續隻是此定式的一變,在Zero自戰譜中還看到瞭一些微小的改動。

下一個“定式”最有意思。

1-5正常。白6奇思妙想!人類絕少在開局階段往二路下。白10貼以後,黑棋需要補斷,白棋活角。局部尚未定型,得失不明。可惜此變曇花一現,不知AlphaGo是否發現瞭局部更好的手段。

欣賞一局完全體Zero的棋譜

37-41,瀟灑、放肆、不拘一格。狀態爆表的一流棋手偶爾也有如此表演,而這對於AlphaGo隻是正常操作。

白130。 官子同樣滴水不漏。(黑隻能在A位接。若在B位吃,白O17即可出棋。白棋點完以後,T17有先手味道。)

Zero的Elo等級分是5000分,人間已無敵手。但其左右互搏仍互有勝負,可見離圍棋上帝尚有距離。Zero當為近階段圍棋人工智能的高峰,但尚不是圍棋的終點。

於我,AlphaGo Zero還有以下幾個懸念:

1、Zero的策略·價值網絡是否對所有貼目值都生效,還是隻針對7.5目。(論文中未指明)再進一步,AlphaGo Zero心目中的最佳貼目是多少。

2、Zero的官子,特別是小官子階廚房油煙處理段,是否會犯錯。重點是,有無因為官子失誤而被翻盤的棋局。

3、以大貼目為前提,Zero會如何應對白方的模仿棋。

希望明天能在Reddit上得到解答。

三千年的圍棋,AlphaGo隻用三天走過。謹以《賀新郎·讀史》結束本文:

人猿相揖別。隻幾個石頭磨過,小兒時節。銅鐵爐中翻火焰,為問何時猜得?不過幾千寒熱。人世難逢開口笑,上疆場彼此彎弓月。流遍瞭,郊原血。

一篇讀罷頭飛雪,但記得斑斑點點,幾行陳跡。五帝三皇神聖事,騙瞭無涯過客。有多少風流人物?盜蹠莊屩流譽後,更陳王奮起揮黃鉞。歌未竟,東方白。

靜電油煙處理機

台灣電動床工廠 電動床

台灣電動床工廠 電動床

AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋

AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots

arrow
arrow

    lbu410f7j2 發表在 痞客邦 留言(0) 人氣()