昨天,谷歌 DeepMind AlphaGo“最年幼後裔”AlphaZero 青出於藍而甚於藍,擊敗一眾棋類程式的事蹟迅速在業內擴散開。據悉,AlphaZero 在經過 8 個小時訓練後即擊敗戰勝過李世石的 AlphaGo,經過 12 小時訓練後擊敗世界頂級國際象棋程式 Stockfish,經過 14 小時訓練擊敗世界頂級將棋程式 Elmo。而這只是在一聲令下,告訴系統自己走棋並自學之後就可以做到。那麼,有沒有人對 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 個!
(AlphaGo 進階,DeepMind)
AlphaZero 自學國際象棋
挑戰國際象棋可能看起來仍然是個不同尋常的任務。畢竟,DeepMind 通過 Go 展示了在尚未被解決的遊戲裡近乎革命性的突破,然而,20 年前“深藍”已經戰勝了國際象棋,現如今,一款好的智慧手機也能擊敗國際象棋冠軍。這樣做的意義是什麼?
(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 的思考時間越長,效率比 Stockfish 更優)換句話說,AlphaZero 不像現在國際象棋引擎所使用的混合強制的方法,而是向另一個完全不同的方向,選擇一種模擬人類思維方式、極具選擇性的搜尋方法。一個頂尖的玩家可能在一致性和深度上超過較弱的對手,但即使是與最弱的計算機程式相比,人類的計算能力也仍然不能望其項背,因為人類走棋依靠的是純粹的知識。儘管加里·卡斯帕羅夫(Garry Kasparov)輸給了深藍(Deep Blue),Deep Blue 每秒鐘的計算速度可以達到 2 億個位置,我們仍不能確定它是否真的比 Garry Kasparov 聰明。如果 AlphaZero 真的能夠使用它的理解力,讓對手 900 倍的速度仍可以勝出,那麼它就可能是一個重大的正規化轉變。
由於 AlphaZero 沒有接受任何關於象棋的知識,這意味著不存在博弈或開放理論,它必須依靠自己發現開放理論。而且,這只是 24 小時自學的結果。DeepMind 團隊製作了圖表,展示了它從發現開放理論,到變得更加強大的圖表。
AlphaZero 的首席科學家 David Silver 教授解釋道,AlphaZero 在圍棋遊戲中學習開放理論,並逐漸擇優棄劣,在國際象棋中也是如此。
在上面的圖表中,我們可以看到,在比賽初期,AlphaZero 熱衷於使用法蘭西防禦(French Defense),但兩個小時後開始越來越少使用這種方法。
卡羅一坎防禦(The Caro-Kann)的效果更好,並在 AlphaZero 的開放選擇中佔據了首要位置,直到它也逐漸被淘汰。那麼,AlphaZero 在學習過程結束時喜歡哪些開放理論?答案是英格蘭開局(The English Opening )和後翼棄兵(Queen's Gambit)!
需要注意的是,這與一般的引擎遊戲有所不同。現代的國際象棋引擎專注於活動,並有特殊的保護措施,以避免被逼入死角位置,因為它們的理解力有限,常常在意識到情況之前就陷入了死衚衕。AlphaZero 沒有這樣的問題,可以向王蛇一樣置對手於死地,它令人印象深刻的地方還在於其能夠找到引擎都發現不了的策略。
那麼,這個結果物件棋 AI 和其他領域意味著什麼?恐怕只能用一個被濫用的詞“Game Changer”來描述了。深藍雖然可以被視作 AI 象棋對戰的一個突破性的里程碑,但其結果是得益於專門用於對付象棋的高度專業化的硬體裝置,只能玩象棋而不能玩圍棋或其他種類的遊戲。而 AlphaZero 這種完全開放式的人工智慧,能夠從最少的資訊中學習,並將其提升到很高的水平,它的價值並不在於能在多少比賽中戰勝人類,而是能夠產生實際的用途,如分析疾病、饑荒以及其他真正解決問題的方案。
(數月內,用於建立 AlphaGo 的革命性技術開始出現在 Go 的頂級 PC 程式中)對於國際象棋程式來說,這可能會幫助在引擎上有所突破。Go 就是這樣的,多年來,Go 程式已經無法取得任何有意義的進展,然後出現了 AlphaGo。一篇論文詳細介紹了開發和使用 AlphaZero 的所有技術和演算法,以供人們獲取資訊參考追隨他們的腳步。幾個月內,Crazy Stone 等頂級程式的新版本開始提供應用了深度學習的引擎,使得效率大大提高。
文章來源:en.chessbase.com/post/the-fu…
關注我們的微訊號"AI前線",後臺回覆“AI”可獲得《AI前線》系列PDF電子書