從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

AI前線發表於2017-12-08
本文由 【AI前線】原創,原文連結:t.cn/RYFc2bm


昨天,谷歌 DeepMind AlphaGo“最年幼後裔”AlphaZero 青出於藍而甚於藍,擊敗一眾棋類程式的事蹟迅速在業內擴散開。據悉,AlphaZero 在經過 8 個小時訓練後即擊敗戰勝過李世石的 AlphaGo,經過 12 小時訓練後擊敗世界頂級國際象棋程式 Stockfish,經過 14 小時訓練擊敗世界頂級將棋程式 Elmo。而這只是在一聲令下,告訴系統自己走棋並自學之後就可以做到。那麼,有沒有人對 AlphaZero 的原理感興趣?它憑什麼能輕易打敗天下棋類程式無敵手(當然是目前)?


DeepMind 和 AlphaZero

大約三年前,Google 旗下的一家專門從事人工智慧開發的公司 DeepMind,將其注意力轉移到古老的圍棋遊戲上。曾經,圍棋遊戲是所有電腦程式躋身世界級地位需要攀登的一座高峰,甚至被認為是未來十年不會實現的目標!當電腦程式與韓國傳奇人物李世石進行公開挑戰賽時,幾乎所有人都認為在這場別開生面的遊戲裡,人類必勝。世界頂級圍棋選手李在石的歷史記錄,讓他成為有史以來最偉大的圍棋棋手之一。當然,這次比賽 AlphaGo 是贏或輸不重要,人們在乎的是離這個神聖的目標有多接近。但是結果讓人大跌眼鏡,AlphaGo 以 4-1 戰勝李世石,掀起圍棋界的革命。不能接受這個結果的精英人士,終於開始承認,雖然並不是無與倫比,但 AlphaGo 是一臺好機器。

一年後,傳奇繼續,AlphaGo 的新版本與世界圍棋冠軍柯潔對戰。身為一名年輕的中國人,他的天才與馬格納斯·卡爾森(Magnus Carlsen)不相上下。16 歲,他贏得了自己的第一個世界冠軍;17 歲,他成為世界冠軍;19 歲,儘管表現非常好,但他仍以 0-3 敗給了 AlphaGo,證明了新 AI 的驚人能力。

許多國際象棋棋手和權威人士都想知道,在國際象棋中這個程式的效果怎樣,是不是能像在圍棋遊戲中一樣有效?圍棋由 19x19 的巨大網格組成,所有的子相同,並且不能移動,遊戲中,提前計算是徒勞的,而模式識別才是王道。國際象棋則非常不同,在國際象棋中,知識和模式識別的價值毋庸置疑,但這個遊戲非常講究戰術,只要簡單地計算出對手就可以彌補知識的缺失。不僅電腦是這樣,人類也是如此。

DeepMind 打敗圍棋冠軍之後還能做什麼呢?僅是能把比賽結果做得更好,比如把戰績從 3-0 提高到 20-0?當然不是。AlphaGo 已經成為了一種內部測試試金石,如果想要測試一個新的自學 AI 效果如何,只需要把它丟給 AlphaGo,看孰勝孰負就可以了。

DeepMind 訓練的最新版本 AI 被稱為 AlphaZero,與“前輩”相比,它有幾個重要的不同。首先,它並沒有經過大量訓練,從零開始。其次,它只接受了簡單的規則,除此之外沒有任何其他資訊輸入。然而,結果卻令人震驚,在短短的三天內,完全自學成才的 Go 程式比曾經擊敗過李世石的版本更強大,而這是之前的 AI 一年時間才能完成的。三週內,它又擊敗了曾打敗柯潔的 AlphaGo 版本。值得注意的是是,李世石版本的 AlphaGo 使用了 48 個高度專業的處理器來建立程式,而這個新版本只用了 4 個!

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

                                    (AlphaGo 進階,DeepMind)


AlphaZero 自學國際象棋

挑戰國際象棋可能看起來仍然是個不同尋常的任務。畢竟,DeepMind 通過 Go 展示了在尚未被解決的遊戲裡近乎革命性的突破,然而,20 年前“深藍”已經戰勝了國際象棋,現如今,一款好的智慧手機也能擊敗國際象棋冠軍。這樣做的意義是什麼?

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

           (Garry Kasparov 和 DeepMind 創始人 Demis Hassabis)

DeepMind 的創始人德米斯·哈薩比斯(Demis Hassabis)與國際象棋的淵源頗深,他本身就是一名神童,13 歲時在全球 14 歲以下象棋選手中的世界排名為第 2,僅次於 Judit Polgar。他最終離開了國際象棋去追求其他的東西,比如 17 歲建立自己的電腦遊戲公司。但人們仍然會有疑問:專注於國際象棋的 AlphaZero 能做到多好?它難道僅是一個聰明的,只論輸贏的 AI?還是會有什麼特別的地方?

David Silver 教授解釋道,AlphaZero 能夠獨立學習以提高演算法速度,而不是依靠分析大量資料,其中,原理演算法的效率是最重要的因素。


成為一個新的範例

12 月 5 日,DeepMind 團隊在康奈爾大學發表了一篇名為《使用通用強化學習演算法自我掌握國際象棋和將棋》(《Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm》)的新論文,結果令人咋舌。AlphaZero 能做到的不僅是掌握這個遊戲,而且以不可思議的方式達到了新的高度。在與 Stockfish 的對戰中,它以 64:36 的比分贏得比賽,而且是零敗績(28 勝 72 負)!

值得注意的是,Stockfish 是在執行速度快 900 倍的計算機上執行的!事實上,AlphaZero 每秒鐘計算大約 8 萬個位置,而用 64 個執行緒(可能是一個 32 核心計算機)在 PC 上執行的 Stockfish 每秒可以計算 7000 萬個位置。為了更好地理解 Stockfish 如何一敗塗地,設想如果另一個版本的 Stockfish 執行速度慢了 900 倍,這相當於大約少走棋 8 步!

《使用通用強化學習演算法自我掌握國際象棋和將棋》論文中講道:“AlphaZero 通過使用其深層神經網路更有選擇性地集中在最優變體——類似 Shannon 最初提出的更加”類人“的搜尋方法上,來彌補評估數量較少的缺陷 。圖 2 表示,AlphaZero 每個玩家以 Elo 規模計算的思考時間,與 Stockfish 和 Elmo 40 毫秒的思考時間相比的可擴充套件性。AlphaZero 的 MCTS 思維時間比 Stockfish 和 Elmo 效率更高,這使得人們普遍認為 alpha-beta 搜尋在這些領域本質上是優越的。

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

(此圖表明,AlphaZero 的思考時間越長,效率比 Stockfish 更優)換句話說,AlphaZero 不像現在國際象棋引擎所使用的混合強制的方法,而是向另一個完全不同的方向,選擇一種模擬人類思維方式、極具選擇性的搜尋方法。一個頂尖的玩家可能在一致性和深度上超過較弱的對手,但即使是與最弱的計算機程式相比,人類的計算能力也仍然不能望其項背,因為人類走棋依靠的是純粹的知識。儘管加里·卡斯帕羅夫(Garry Kasparov)輸給了深藍(Deep Blue),Deep Blue 每秒鐘的計算速度可以達到 2 億個位置,我們仍不能確定它是否真的比 Garry Kasparov 聰明。如果 AlphaZero 真的能夠使用它的理解力,讓對手 900 倍的速度仍可以勝出,那麼它就可能是一個重大的正規化轉變。


AlphaZero 如何走棋?

由於 AlphaZero 沒有接受任何關於象棋的知識,這意味著不存在博弈或開放理論,它必須依靠自己發現開放理論。而且,這只是 24 小時自學的結果。DeepMind 團隊製作了圖表,展示了它從發現開放理論,到變得更加強大的圖表。

AlphaZero 的首席科學家 David Silver 教授解釋道,AlphaZero 在圍棋遊戲中學習開放理論,並逐漸擇優棄劣,在國際象棋中也是如此。

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

在上面的圖表中,我們可以看到,在比賽初期,AlphaZero 熱衷於使用法蘭西防禦(French Defense),但兩個小時後開始越來越少使用這種方法。

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

卡羅一坎防禦(The Caro-Kann)的效果更好,並在 AlphaZero 的開放選擇中佔據了首要位置,直到它也逐漸被淘汰。那麼,AlphaZero 在學習過程結束時喜歡哪些開放理論?答案是英格蘭開局(The English Opening )和後翼棄兵(Queen's Gambit)!

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

需要注意的是,這與一般的引擎遊戲有所不同。現代的國際象棋引擎專注於活動,並有特殊的保護措施,以避免被逼入死角位置,因為它們的理解力有限,常常在意識到情況之前就陷入了死衚衕。AlphaZero 沒有這樣的問題,可以向王蛇一樣置對手於死地,它令人印象深刻的地方還在於其能夠找到引擎都發現不了的策略。

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

未來在哪裡?

那麼,這個結果物件棋 AI 和其他領域意味著什麼?恐怕只能用一個被濫用的詞“Game Changer”來描述了。深藍雖然可以被視作 AI 象棋對戰的一個突破性的里程碑,但其結果是得益於專門用於對付象棋的高度專業化的硬體裝置,只能玩象棋而不能玩圍棋或其他種類的遊戲。而 AlphaZero 這種完全開放式的人工智慧,能夠從最少的資訊中學習,並將其提升到很高的水平,它的價值並不在於能在多少比賽中戰勝人類,而是能夠產生實際的用途,如分析疾病、饑荒以及其他真正解決問題的方案。

從零自學,AlphaZero以4個處理器,8小時訓練秒殺AlphaGo v18!

(數月內,用於建立 AlphaGo 的革命性技術開始出現在 Go 的頂級 PC 程式中)對於國際象棋程式來說,這可能會幫助在引擎上有所突破。Go 就是這樣的,多年來,Go 程式已經無法取得任何有意義的進展,然後出現了 AlphaGo。一篇論文詳細介紹了開發和使用 AlphaZero 的所有技術和演算法,以供人們獲取資訊參考追隨他們的腳步。幾個月內,Crazy Stone 等頂級程式的新版本開始提供應用了深度學習的引擎,使得效率大大提高。

文章來源:en.chessbase.com/post/the-fu…

關注我們的微訊號"AI前線",後臺回覆“AI”可獲得《AI前線》系列PDF電子書


相關文章