2月7日,Goolge旗下的人工智慧實驗室DeepMind研究團隊在《科學》雜誌上發表封面論文,公佈了通用演算法AlphaZero和測試數據。《科學》雜誌評價稱,透過單一演算法就能夠解決多個複雜問題,是創建通用的機器學習系統、解決實際問題的重要一步。該論文的作者包括AlphaGo的核心研發人員大衛·席爾瓦(David Silver)和DeepMind創始人戴密斯·哈薩比斯(Demis Hassabis)等。
AlphaGo首次為人們所熟知是2016年與圍棋世界冠軍李世乭進行圍棋人機大戰,並最終以4比1的總比分獲勝。實際上早在2016年1月Google就在國際學術期刊《自然》雜誌上發表封面文章,介紹AlphaGo在沒有任何讓子的情況下以5:0完胜歐洲冠軍、職業圍棋二段樊麾。
2017年10月18日,DeepMind團隊公佈了最強版阿爾法圍棋,代號AlphaGo Zero。彼時DeepMind表示,棋類AI的演算法主要基於復雜的枚舉,同時需要人工進行評估,人們在過去幾十年內已經將這種方法做到極致了。而AlphaGo Zero在圍棋中的超人表現,則是透過與自己下棋練習出來的。
現在DeepMind研究團隊將這種方法推廣到AlphaZero的演算法中,AlphaZero最長花了13天「自學成才」,隨後與世界冠軍級的棋類AI對決:
- 在西洋棋中,AlphaZero在4個小時後首次擊敗了第九季TCEC世界冠軍Stockfish。
- 在日本將棋中,AlphaZero在2小時後擊敗了將棋聯盟賽世界冠軍Elmo。
- 在圍棋上,AlphaZero經過30個小時的鏖戰,擊敗了李世乭版AlphaGo。
AlphaZero:一個演算法通吃三大棋類
AlphaGo的前幾代版本,一開始都是與人類棋手的棋譜進行上千盤的訓練,學習如何下圍棋。到了AlphaGo Zero則跳過了這個步驟,透過自我對弈學習下棋,從零學起。系統從一個對圍棋一無所知的神經網路開始,將該神經網路和一個強力搜尋演算法結合,自我對弈。在對弈過程中,神經網路不斷調整、升級,預測每一步落子和最終的勝利者。
與AlphaGo Zero一樣,從隨機小遊戲開始,AlphaZero依靠深度神經網路、通用強化學習演算法和蒙地卡羅樹搜尋,在除了遊戲規則外沒有任何知識背景的情況下,透過自我對弈進行強化學習。強化學習的方式是一種透過「試錯」的機器學習方式。
DeepMind在其部落格中介紹,一開始AlphaZero完全是在瞎玩,但隨著時間的推移,系統從勝、負和平局中學習,調整神經網路的參數,如此往復循環,每過一輪,系統的表現就提高了一點點,自我對弈的品質也提高了一點點,神經網路也就越來越準確。神經網路所需的訓練量取決於遊戲的風格和復雜程度。經過試驗,AlphaZero花了9個小時掌握西洋棋,花了12個小時掌握日本將棋,花了13天掌握圍棋。
AlphaZero繼承了AlphaGo Zero的演算法設置和網路架構等,但兩者也有諸多不同之處。比如圍棋中很少會出現平局的情況,因此AlphaGo Zero是在假設結果為「非贏即輸」的情況下,對獲勝機率進行估計和最佳化。而AlphaZero會將平局或其他潛在結果也納入考慮,對結果進行估計和最佳化。
其次圍棋棋盤發生旋轉和反轉,結果都不會發生變化,因此AlphaGo Zero會通過生成8個對稱圖像來增強訓練數據。但西洋棋和日本將棋中,棋盤是不對稱的。因此,AlphaZero不會增強訓練數據,也不會在蒙地卡羅樹搜尋期間轉換棋盤位置。
在AlphaGo Zero中,自我對弈是由以前所有迭代中最好的玩家產生的,而自我對弈也是與這個產生的新玩家對於。而AlphaZero只繼承了AlphaGo Zero的單一神經網路,這個神經網路不斷更新,而不是等待迭代完成。自我對弈是通過使用這個神經網路的最新參數產生的,因此省略了評估步驟和選擇最佳玩家的過程。
此外,AlphaGo Zero使用的是透過貝氏定理最佳化調整搜尋的超參數;AlphaZero中,所有對弈都重複使用相同的超參數,因此無需進行針對特定某種遊戲的調整。唯一的例外是為保證探索雜訊和學習率。
研究團隊展示了在AlphaZero執白、Stockfish執黑的一局西洋棋裡,經過1000次、10000次……直到100萬次模擬之後,AlphaZero蒙地卡羅樹的內部搜尋狀態。每個樹狀圖解都展示了10個最常搜尋的狀態。
DeepMind研究團隊介紹,每個AI的硬體都是定制的。例如,在TCES世界錦標賽上,Stockfish和Elmo使用的是44核CPU。而AlphaZero和AlphaGo Zero則使用了一台配備了4個第一代TPU和44核CPU的機器。雖然架構沒有可比性,但第一代TPU的處理速度與NIVIDA公司的Titan V型商用GPU相當。研究團隊在訓練環節裡,投入了5000個一代TPU來產生自我對弈遊戲,16個二代TPU來訓練神經網路。
卡斯帕洛夫:聰明地工作比拼命地工作更重要
西洋棋是電腦科學家很早就開始研究的領域。1997年,深藍(Deep Blue)擊敗了人類西洋棋冠軍卡斯帕洛夫,這一事件成為了人工智慧發展的里程碑。但彼時卡斯帕洛夫對深藍的印象並不深刻,認為深藍的智能水準和一個鬧鐘差不多。如今,他對棋類AI的看法也發生了轉變。他認為AlphaZero「像自己一樣」,下棋風格多變而開放。
在同一期《科學》雜誌上,卡斯帕洛夫撰文稱,「傳統的機器是透過不斷列舉來下棋,最終把棋局拖入無聊的平局。但在我的觀察中,AlphaZero會優先考慮棋子的活動而非盤面上的點數優勢,並且喜歡在相對風險更大的地方落子。」
儘管與傳統的冠軍級程式相比,研究人員用訓練好的神經網路指導蒙特卡羅樹搜尋,來選擇最有可能獲得勝利的一步,因此AlphaZero每秒計算的位置要少得多。據DeepMind介紹,在西洋棋中,AlphaZero每秒僅計算6萬個位置,相比之下,Stockfish則會計算6千萬個位置。但從比賽的結果來看,AlphaZero的思考顯然更有效率。
在西洋棋比賽中,AlphaZero擊敗了2016年TCEC(第九季)世界冠軍Stockfish,在1000場比賽中,贏得155場比賽,輸了6場(其餘為平局)。為了驗證AlphaZero的穩健性,研究團隊還進行了一系列比賽,這些比賽都是從「人類開局方式」開始的,而AlphaZero都擊敗了Stockfish。
在將棋比賽中,AlphaZero擊敗了2017年CSA世界冠軍版Elmo,贏得了91.2%的比賽。
在圍棋比賽中,AlphaZero擊敗了AlphaGo Zero,贏得了61%的比賽。
對於AlphaZero取得的戰績,卡斯帕洛夫認為這正是印證了一句老話——聰明地工作比拼命地工作更重要。
此外,卡斯帕洛夫表示,一個程式的特點通常反映了程式設計師思考的優先級和思維上的偏見,但由於AlphaZero是透過跟自己下棋來改善自己的思考方式,所以它的風格反映的就是它自己。
在進行馬拉松式比賽的過程中,DeepMind研究團隊發現,AlphaZero自己發現並掌握了一些人類下棋時摸索出來的套路,比如在西洋棋中,AlphaZero掌握了幾種常見的開局模式、保王(King Safety)的思維以及各種兵陣的佈局。但另一方面AlphaZero是自學成才的,不受到傳統觀念的影響,因此它還能為傳統策略的發展注入新鮮的血液。這一點得到了日本將棋史上第一個達成七冠王的羽生善治的讚同。
「AlphaZero會將王移到棋盤中央,從人類的角度來看,這是有違將棋理論的,它的一些路數走得也很危險。但令人難以置信的是,它始終控制著局面。 AlphaZero獨特的風格打開了日本將棋新世界的大門。」 羽生善治表示。
- 本文授權轉載自網易科技
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!