深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

相信關注科技喜歡人工智能的盆友們前兩天一定看到一個消息,AlphaGo再次震驚所有人,谷歌DeepMind團隊以Mastering the game of Go

without human knowledge為題,發表於Nature,引起轟動。

去年,阿法狗讀遍人世所有的棋譜,辛勤打譜,苦思冥想,棋藝精進,4-1打敗世界冠軍李世石,從此人間無敵手。

今年,阿法元只靠一副棋盤和黑白兩子,沒看過一個棋譜,也沒有一個人指點,從零開始,自娛自樂,自己參悟,100-0打敗哥哥阿法狗。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

Nature上線的這篇重磅論文,詳細介紹了谷歌DeepMind團隊最新的研究成果。人工智能的一項重要目標,是在沒有任何先驗知識的前提下,通過完全的自學,在極具挑戰的領域,達到超人的境地。去年,阿法狗(AlphaGo)代表人工智能在圍棋領域首次戰勝了人類的世界冠軍,但其棋藝的精進,是建立在計算機通過海量的歷史棋譜學習參悟人類棋藝的基礎之上,進而自我訓練,實現超越。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

阿法狗元棋力的增長與積分比較

阿法元是如何實現無師自通的呢?

你可能還不知道為什麼這裡說是無師自通,先用數據大概解釋下。

新一代的阿法元(AlphaGo Zero), 完全從零開始,不需要任何歷史棋譜的指引,更不需要參考人類任何的先驗知識,完全靠自己一個人強化學習(reinforcement learning)和參悟, 棋藝增長遠超阿法狗,百戰百勝,擊潰阿法狗100-0。

達到這樣一個水準,阿法元只需要在4個TPU上,花三天時間,自己左右互搏490萬棋局。而它的哥哥阿法狗,需要在48個TPU上,花幾個月的時間,學習三千萬棋局,才打敗人類。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

怎麼樣,有沒有驚豔到你?反正看了這組數據嚇得我是驚呆啊,阿法元遠比阿法狗強大,因為它不再被人類認知所侷限,而能夠發現新知識,發展新策略。這樣玩下去還不知道會搞出多少事情,簡直想象不到。

回到正題,那麼AlphaGo Zero到底是怎樣煉成的?

杜克大學博士研究生吳春鵬向知社介紹了技術細節:

之前戰勝李世石的AlphaGo基本採用了傳統增強學習技術再加上深度神經網絡DNN完成搭建,而AlphaGo Zero吸取了最新成果做出了重大改進。

  • 首先,在AlphaGo Zero出現之前,基於深度學習的增強學習方法按照使用的網絡模型數量可以分為兩類: 一類使用一個DNN"端到端"地完成全部決策過程(比如DQN),這類方法比較輕便,對於離散動作決策更適用; 另一類使用多個DNN分別學習policy和value等(比如之前戰勝李世石的AlphaGoGo),這類方法比較複雜,對於各種決策更通用。此次的AlphaGo Zero綜合了二者長處,採用類似DQN的一個DNN網絡實現決策過程,並利用這個DNN得到兩種輸出policy和value,然後利用一個蒙特卡羅搜索樹完成當前步驟選擇。

  • 其次,AlphaGo Zero沒有再利用人類歷史棋局,訓練過程從完全隨機開始隨著近幾年深度學習研究和應用的深入,DNN的一個缺點日益明顯: 訓練過程需要消耗大量人類標註樣本,而這對於小樣本應用領域(比如醫療圖像處理)是不可能辦到的。所以Few-shot learning和Transfer learning等減少樣本和人類標註的方法得到普遍重視。AlphaGo Zero是在雙方博弈訓練過程中嘗試解決對人類標註樣本的依賴,這是以往沒有的。

  • 第三,AlphaGo Zero在DNN網絡結構上吸收了最新進展,採用了ResNet網絡中的Residual結構作為基礎模塊。近幾年流行的ResNet加大了網絡深度,而GoogLeNet加大了網絡寬度。之前大量論文表明,ResNet使用的Residual結構比GoogLeNet使用的Inception結構在達到相同預測精度條件下的運行速度更快。AlphaGo Zero採用了Residual應該有速度方面的考慮。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

我們可能對開發者更感興趣,他們是史上最強圍棋AI的兩位主要開發者,David Silver和Julian Schrittwieser。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

左:Julian Schrittwieser 右:David Silver

比較關注AlphaGo的朋友對其中一位應該不會陌生,David Silver是AlphaGo團隊負責人,也是上一代AlphaGo的主要作者。從首爾到烏鎮,都有他的身影。關於David Silver我們在之前報道黃士傑的文章裡也有提及。

名字更長的Julian Schrittwieser,是這次新一代AlphaGo的三位並列主要作者之一,而且非常年輕。2013年,Schrittwieser本科畢業於奧地利的維也納技術大學;同年9月,Schrittwieser加入DeepMind。

此前DeepMind關於AlphaGo和星際2的研究論文中,Schrittwieser也都有參與。

下圖顯示了在自我對弈強化學習期間,AlphaGo Zero的表現。整個訓練過程中,沒有出現震盪或者災難性遺忘的困擾。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

引自AlphaGo Zero論文

David Silver表示,AlphaGo Zero所用的算法,與策略梯度、Q-learning之類的傳統(無模型)算法完全不同。通過使用AlphaGo搜索,我們大大改進了策略和自我對弈結果,然後用簡單的基於梯度的更新來訓練下一個策略和價值網絡。

這似乎比漸進的、基於梯度的策略改進要穩定得多,梯度策略可能會忘記之前的優化。

至於AlphaGo的residual block輸入維度為什麼是19×19×17?相信很多人都不太理解為什麼每個玩家要用8個二值特徵plane。

David Silver解釋到,實際上,不是隻有8 planes這一種選擇,用其他形式的表示可能也沒問題,但我們用了觀察值的堆疊歷史,有三個原因:

  • 這和其他領域,比如說玩雅達利遊戲時的常見輸入表示一致;

  • 我們需要一些歷史記錄來呈現ko;

  • 歷史可以用來記錄對手最近在哪落過子,這些信息可以當作一種注意力機制來用,比如說集中在對手認為重要的位置上,第17個plane記錄的是我自己在用什麼顏色,因為有貼目規則,這個信息也很重要。

據說和柯潔對戰的AlphaGo,計算力的消耗只有對戰李世乭版本的十分之一。

(注:和柯潔對戰的AlphaGo Master,用了和Zero版一樣的算法和架構,不同之處在於引入了人類對局數據和特徵。)

那麼這中間做了怎樣的優化?

Julian Schrittwieser認為主要是因為改進了價值/策略網絡,訓練和架構都變得更好了,不同的網絡架構之間的對比如下圖所示:

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

D(David Silver)進一步解釋到:創造一個完全自學成才的系統,一直是強化學習中的一個開放式問題。我們一開始嘗試的方法,以及在文獻綜述部分提到的很多其他方法,都非常不穩定。我們做了很多實驗,最終發現,AlphaGo Zero的算法是最有效率的,好像攻克了這個特定的問題。神經網絡實在是很擅長用不同方式來表示同樣的信息,J(Julian Schrittwieser)認為在輸入特徵上,用delta featurization也是可行的。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

左:Julian Schrittwieser 右:David Silver

遇到的第一個大挑戰,是在跟李世乭比賽的時候。當時我們意識到,AlphaGo偶爾會產生“妄想”,也就是會系統地誤判盤面情況,並且持續數手。我們嘗試了很多想法來解決這個弱點。而引入更多圍棋知識,或者人類元知識一直是種誘惑。

但最終我們取得了巨大的成功,徹底解決了AlphaGo的問題。我們用的方法是,更多的依賴強化學習的力量,讓它自己找到更好的解決方案。

AlphaGo在行棋時間安排上是怎麼考慮的?

D表示實際上用了一個相當直接的時間控制策略,基於自我博弈中勝率的簡單優化。當然可以應用更復雜的策略,性能也應該可以再提升一點點。Facebook更專注於監督學習,這是當時最厲害的項目之一。我們選擇更多地關注強化學習,是因為相信它最終會超越人類的知識。最近的研究結果顯示,只用監督學習的方法的表現力驚人,但強化學習絕對是超出人類水平的關鍵。

AlphaGo Zero並沒有特殊的特徵來處理徵子,或者任何其他圍棋中的特定問題。在訓練早期,Zero偶爾會因為徵子下滿棋盤,就算它對全局有很複雜的理解也沒用。但在我們分析的棋局中,經過完全訓練的Zero能正確識別所有無意義的徵子。

目前阿發元還沒跟人類選手下過讓子棋,我們想專注在整場的圍棋比賽中。然而,在讓子條件下測試不同版本的AlphaGo很有用。在Zero的論文中我們提到了各個版本的棋力:AlphaGo Master > AlphaGo Lee > AlphaGo Fan,每個版本都讓三子擊敗了它的前一代。

值得注意的是,因為這些神經網絡沒有專門為讓子棋訓練過。此外,由於AlphaGo是自我對弈訓練的,特別擅長打敗自身較弱的版本。因此,我認為我們不能以任何有意義的方式將這些結果推廣到人類的讓子棋中。

深入解讀AlphaGo Zero是怎樣煉成的,完爆阿法狗?

談到人工智能的未來,美國杜克大學人工智能專家陳怡然教授做了進一步的思考:

AlphaGo Zero沒有使用人類標註,只靠人類給定的圍棋規則,就可以推演出高明的走法。有趣的是,我們還在論文中看到了AlphaGo Zero掌握圍棋的過程。比如如何逐漸學會一些常見的定式與開局方法 ,如第一手點三三。相信這也能對圍棋愛好者理解AlphaGo的下棋風格有所啟發。

除了技術創新之外,AlphaGo Zero又一次引發了一個值得所有人工智能研究者思考的問題: 在未來發展中,我們究竟應該如何看待人類經驗的作用。在AlphaGo Zero自主學會的走法中,有一些與人類走法一致,區別主要在中間相持階段。AlphaGo Zero已經可以給人類當圍棋老師,指導人類思考之前沒見過的走法,而不用完全拘泥於圍棋大師的經驗。也就是說AlphaGo Zero再次打破了人類經驗的神秘感,讓人腦中形成的經驗也是可以被探測和學習的。

陳教授最後也提出一個有趣的命題:

未來我們要面對的一個挑戰可能就是: 在一些與日常生活有關的決策問題上,人類經驗和機器經驗同時存在,而機器經驗與人類經驗有很大差別,我們又該如何去選擇和利用呢

不過David Silver對此並不擔心,而對未來充滿信心。他指出:

If similar techniques can be applied to other structured problems, such as protein folding, reducing energy consumption or searching for revolutionary new materials, the resulting breakthroughs have the potential to positively impact society.


分享到:


相關文章: