在2017年,深度學習和人工智慧都取得了驚人的進步,尤其DeepMind的AlphaGo系列,令人記憶猶新。其中,AlphaGo Zero這個版本更是取得了驚人的突破:三天內通過自我對抗賽,超過了AlphaGo 的實力,贏得了100場比賽的全勝;21天內達到AlphaGo Master的水平,並在40天內超過了所有舊版本。知名計算機科學研究員Xavier Amatrain稱它比「機器學習」中「過去5年的成果加起來都重要」。
那麼DeepMind是如何做到的呢?在這篇文章中,我將嘗試用最通俗易懂的語言來解釋AlphaGo Zero使用的技術、工作方式,以及對未來的AI研究產生的影響。讓我們從AlphaGo和AlphaGo Zero工作的一般方法開始吧。
一般方法
AlphaGo和AlphaGo Zero都是在棋盤上進行評估,並使用兩種方法組合來選擇落子位置:
執行 「 前瞻 」的搜索結果:通過模擬遊戲進行預判,從而了解哪些位置最有可能在未來成為一個「好」位置,也就是多看幾步。根據「 直覺 」來評估落子位置,即落子位置是「好」還是「壞」,落子會導致勝利還是失敗。
AlphaGo和AlphaGo Zero都巧妙地結合了這兩種方法。我們來分別看一看:
落子方法1:「前瞻」
圍棋是一個非常複雜的遊戲,電腦不能簡單地搜索所有可能,使用蠻力找到最好的答案(因為圍棋的變化實在太多,數不勝數)。
AlphaGo使用「 蒙特卡羅樹搜索 」(MCTS)克服這個問題。這種方法首先需要在棋盤上探索許多可能的變化, 然後隨著棋局的進行,把這些變化集中起來比較優劣, 就會發現某些著法比其他著法更有可能通向勝利。
AlphaGo 和 AlphaGo Zero簡單地使用MCTS搜索棋譜中的最佳著法,並羅列出來, 在大量最佳著法之間權衡比較,選擇新的落子點;並且更深入地探索棋譜中已經出現的變化。
其實在AlphaGo之前,MCTS就已經是所有棋類程序使用的核心技術了,但DeepMind將這一技術巧妙地與基於神經網絡的「直覺」相結合,使AlphaGo超越了人類水平。
落子方法2:「直覺」
DeepMind對AlphaGo的主要創新是利用深層神經網絡來理解遊戲的狀態,然後利用這種理解智能地指導MCTS進行搜索
更具體地說,他們訓練的網絡可以看到:
當前棋盤上的狀態。是哪位棋手正在下棋。棋手最近的一系列著法(必須排除那些不可能的著法)。
鑑於這些信息,神經網絡可以推薦:
應該採取的措施。目前的棋手是否有可能獲勝。
DeepMind如何訓練神經網絡做到這些? AlphaGo和AlphaGo Zero使用了非常不同的方法。我們先從AlphaGo說起。
AlphaGo的「直覺」:策略網絡和價值網絡
AlphaGo有兩個分開訓練的神經網絡。
1.第一個神經網絡(隨機初始化)從大量真實對弈的棋譜中學習,模擬人類高手。這個問題是深層神經網絡擅長解決的,看似困難,卻是很直接的模式識別問題; 事實上,一旦接受了訓練,這個網絡確實學會了一些人類高手的最佳著法。
2.DeepMind不只希望AlphaGo模仿人類玩家,他們也希望贏得勝利。為了選出對弈中更有可能取得勝利的著法,模擬人類高手的第一個神經網絡開始與自己對弈。
隨後DeepMind從這些「自我對弈」棋局中隨機抽取著法;如果一個選定的著法使當前玩家在對弈中最終獲勝,那麼網絡在將來更有可能採取類似的下法。
3.DeepMind將這兩個神經網絡與MCTS結合在一起——也就是說,程序的「直覺」加上強大的「前瞻」搜索——這是一種非常聰明的方式,即,使用已經訓練過的網絡預測一個著法,指導MCTS搜索,並判斷選擇的位置是否會取得最終「勝利」,用此結果評估搜索期間選擇的落子位置是否妥當。這讓AlphaGo智能地搜索接下來的動作,並最終擊敗了李世石。
然而,AlphaGo Zero把這些提升到了一個全新的高度。
AlphaGo Zero工作的三個技巧
從更高的層面上來說,AlphaGo Zero的工作方式與AlphaGo相同:具體來說,它也使用MCTS預測搜索,通過神經網絡智能引導。
然而,AlphaGo Zero的神經網絡——它的「直覺」——與AlphaGo的完全不同。
技巧1:如何訓練AlphaGo Zero
DeepMind認識到,神經網絡無論多麼智能,想要「理解」圍棋遊戲,都要藉助MCTS。
MCTS執行一種預測搜索,一個人類棋手,只要有足夠的時間,也能做出這些預測:智能地猜測所有變化,未來著法的優劣,那些著法是最有希望獲勝的,並模擬這些變化,來決定此刻的著法,以及接下來的走法。
下面是一個例子。假設有一個神經網絡正在讀棋盤,當前局面會導致平局,評估結果為0.0。然後,網絡智能地向前看一些著法,發現一系列下法可能獲勝,評估結果為0.5。然後,它隨時更新對當前棋局的評估,以保障自己下一次處於更有利的位置。
DeepMind的神經網絡無論和業餘愛好者還是職業高手對弈,採取的都是這樣的方式:通過「前瞻」查看當前哪個選項會產生更有利的結果。
另外,就像AlphaGo一樣,DeepMind也希望神經網絡能夠了解哪些著法可能會走向勝利。因此,與以往一樣,神經網絡和自己對弈,贏得一些經驗,並去除一些不妥當的著法。
這些數據純粹是通過預測和自我對弈生成的,是DeepMind用來訓練AlphaGo Zero的主要數據。
很多人認為,AlphaGo Zero的訓練沒有使用任何人類的棋譜有些不可思議,而這個「技巧」就是原因:對於對弈中的一個給定狀態,執行MCTS的前瞻預測,並利用結果來改善對弈情況。這就是AlphaGo Zero能夠不斷提高的原因,從擊敗業餘選手一直到擊敗人類的職業高手。
第二個技巧是一個新的神經網絡結構,我稱之為「雙頭怪物」。
技巧2:雙頭怪物
AlphaGo Zero的神經網絡架構,是一個「雙頭」架構。它的前20層是常見的神經網絡結構。這些層後面有「兩個頭」:其中一頭,利用前20層的輸出,產生下一步落子獲勝的概率,另一個頭利用前20層的輸出,推理出當前玩家在此情形下最終獲勝的概率。
這是很不尋常的。因為在幾乎所有應用中,神經網絡只有一個固定的輸出。如果一個網絡接收兩組信號,網絡如何學習?是選擇對大局的評估,還是選擇對下一步最有利的下法?
答案很簡單:請記住,神經網絡只是一些數學函數,大量參數決定了預測結果; 通過反覆向網絡展示「正確答案」,讓它更新參數,使產生的答案更接近正確答案。
因此,當使用雙頭神經網絡的頭1進行預測時,我們只需更新「身體」和「頭1」中的參數。同樣,當我們使用頭2進行預測時,更新「身體」和「頭2」中的參數。
這就是DeepMind用來指導MCTS的「雙頭」神經網絡,就像AlphaGo用兩個獨立的神經網絡一樣。這個竅門使AlphaGo Zero比AlphaGo增加了一倍的實力。
另一方面,AlphaGo Zero實力的增加還結合了該領域最新技術。
技巧3:殘餘網絡
AlphaGo Zero使用了比AlphaGo更「尖端」的神經網絡。具體來說,他們使用殘餘神經網絡,而不是純粹的卷積網絡。2015年末,就在AlphaGo第一個版本完成時,微軟研究院率先推出了殘餘網絡,所以,DeepMind並沒有在最初的AlphaGo中使用它,這是可以理解的。
有趣的是,這兩個與神經網絡相關的技巧——從卷積到殘餘,使用「雙頭怪物」神經網絡——導致了AlphaGo Zero比AlphaGo增加了一倍的實力,如下圖所示。
技巧總結
這三個技巧使得AlphaGo Zero能夠實現令人難以置信的性能,即使Alpha Go使用這三個技巧也一樣會增強實力。
值得注意的是,AlphaGo並沒有使用任何經典的,甚至「尖端」的強化學習概念,沒有深度Q學習(無模型強化學習),或者任何其他與強化學習相關的東西。它只是使用模擬來生成神經網絡的訓練數據,然後以監督的方式學習。在發布AlphaGo Zero之後,Denny Britz曾在推特中發表了自己的看法:
從零開始訓練AlphaGo Zero
1.初始化神經網絡。
2.進行自我對弈,每一步進行1600次MCTS模擬(大約需要0.4秒)。
3.隨著自我對弈的進行,從最近的50萬場比賽中抽取2048個落子位置以及比賽的輸贏情況作為樣本。
4.使用MCTS向前搜索,對著法進行評估,訓練神經網絡。
5.對步驟3、4每1000次進行迭代,評估當前的神經網絡與以前的最佳版本;如果勝率達到55%,就使用新的神經網絡生成遊戲,摒棄以前的版本。
重複第3、4步70萬次,而自我對弈遊戲不斷進行——三天後,你會有自己的AlphaGo Zero!
對AI其他研究的影響
DeepMind在人工智慧研究領域取得了令人難以置信的成就。這裡有幾個關鍵因素:
首先,模擬產生的自我訓練數據「足夠好」,DeepMind的神經網絡訓練表明,模擬的自我對抗數據可以訓練主體在極其複雜的任務中超越人類的表現,甚至從頭開始,完全從數據開始。而對於人類來說,想成為專家靠的可不是數據,因為我們的成長需要經驗的積累。
其次,「雙頭怪物」的技巧似乎可以幫助神經網絡執行多個相關性很強的任務,單獨的任務發揮不了它的優勢。DeepMind似乎非常喜歡這個技巧,並使用它及其高級版本,學習多個不同領域的多個任務。
很多機器人項目,特別是使用模擬教機器人用肢體完成任務的項目,正在使用這兩個技巧,以取得良好的效果。
Pieter Abbeel在最近的NIPS主題演講中就介紹了許多令人印象深刻的新成果,這些成果使用了以上技巧以及許多其他的出色的強化學習技術。
事實上,競技運動與「雙頭怪物」似乎完美契合:例如,同時訓練機器人用球棒擊球,並用拳頭擊打一個移動的目標,因為這兩項任務需要學習一些共同的常用技能(如保持平衡、軀幹旋轉)。
DeepMind的AlphaGo Zero是2017年人工智慧和深度學習方面最令人感興趣的進步之一。我迫不及待地想知道2018年他們會帶給我們什麼!
來源:Hackernoon作者:Seth Weidman智能觀 編譯
—完—
親愛的朋友:2017年,AlphaGo Zero驚豔了世界。我們感嘆人工智慧的發展之快,也好奇甚或恐懼Zero是如何自我修煉的。這篇文章裡,作者用通俗易懂的方式,給我們介紹了AlphaGo Zero的使用技術和工作方式;並教我們如何訓練自己的Zero。希望能對你有所啟發。安! 智能觀 一米 2018-1-16 於北京中關村
聲明:編譯文章旨在幫助讀者了解行業新思想、新觀點及新動態,為原作者觀點,不代表智能觀觀點。