近日,Jose Camacho Collados 在 Medium 上發表了一篇題為《Is AlphaZero really a scientific breakthrough in AI?》的文章,對 AlphaZero 在 AI 領域的真正科學價值提出質疑。作者本人是一名自然語言處理專家,同時精通國際象棋。他認為當下媒體對 AlphaZero 的壯舉存在誇大之嫌,因此作者從可用性/可復現性、4 小時訓練、自我對弈、泛化能力等多方面表達了疑慮,所有的疑慮聚合到一起形成了對 AlphaZero 的科學有效性的合理質疑。
DeepMind 最近發表了一篇關於 AlphaZero [1] 的論文,介紹了一個透過自我學習掌握國際象棋或將棋的系統。
進入正文之前,我首先做個自我介紹。我是一名人工智慧領域研究者,方向是自然語言處理;我同樣也是一名國際象棋大師,目前是韓國的頂尖選手,但是由於我全職科研最近幾年不是很活躍。因此,我會盡力提出一個合理的、有建設性的觀點。很明顯我會著重講國際象棋,但是一些論點是通用的,可推算至將棋或圍棋。本文僅代表個人觀點,可能出現錯誤或誤解,請見諒。
國際象棋可以說是在「人機對戰」和人工智慧中研究最為廣泛的遊戲。該領域的首個突破是 1997 年 IBM 深藍(Deep Blue)擊敗世界冠軍 Garry Kasparov [2]。在此之前,人們普遍認為在國際象棋上機器不如人,但自深藍勝利以後,人與機器的國際象棋之爭已勝負分明。
Garry Kasparov 對戰 IBM 深藍,1997。
2016 年,DeepMind 推出圍棋引擎 AlphaGo,可擊敗一些人類頂尖圍棋選手 [3]。值得注意的是圍棋的複雜性要遠高於國際象棋,正由於此,儘管計算機的算力有了很大提升,但機器依然無法在圍棋上戰勝人類。因此,AlphaGo 被認為是一次突破。AlphaGo Zero 在 AlphaGo 的基礎上更進一步,可透過完全自我對弈掌握圍棋 [4]。最近出現的 AlphaZero 是一個類似的模型,透過通用強化學習演算法訓練神經網路架構,並擊敗了最好的將棋和國際象棋引擎 [1]。
AlphaZero 的壯舉已被大眾媒體 [5,6] 和國際象棋媒體 [7,8] 大量報導,其中不乏對其突破的過分誇大。然而,透過仔細地閱讀 AlphaZero 的論文,我認為確實存在對其重要宣告有效性的合理質疑。有些質疑本身可能並不重要,並且作者可能也做出瞭解釋。但即便如此,所有的疑慮聚合到一起就形成了對其主要宣告的科學有效性的合理質疑。以下列舉了一些普遍的疑慮:
可用性/可復現性。DeepMind 開發的 AlphaZero 系統都沒有對公眾開放:程式碼沒有開源,甚至都沒有一個商業版本讓使用者進行測試。這是一個很大的阻礙,因為從科學角度看,這些方法既不能被驗證也不能被其他專家利用。這種缺乏透明度的做法使他們的實驗基本不可能被複現。
4 小時訓練。AlphaZero 的訓練量成為最難理解的因素之一。根據論文,AlphaZero 在 5000 個 TPU 上訓練了 4 個小時,就達到了超越開源國際象棋引擎 Stockfish 的級別(充分訓練的 AlphaZero 需要再多幾個小時的訓練)。這意味著如果僅使用一塊 TPU,AlphaZero 需要花費大約兩年的訓練時間,這個訓練時間大大超過了使用一塊普通 CPU 的訓練時間。因此,即使 4 小時訓練時間給我們留下深刻的印象(確實很深刻),這也主要是近幾年算力得到極大發展的功勞,特別是像 DeepMind 這樣對算力進行大量投資的公司。例如,到 2012 年,7 子以內的所有象棋局面已經可以使用數學方法和少得多的計算資源求解 [9]。計算能力的提升為新演算法的開發鋪平了道路,可能幾年後國際象棋這樣的遊戲甚至可以使用暴力求解方法來解決。
AlphaZero 和 Stockfish 的比賽實驗設定。為了證明 AlphaZero 相對於以前的國際象棋引擎的優越性,DeepMind 讓 AlphaZero 和 Stockfish 進行了 100 次比賽(AlphaZero 以 64:36 的成績打敗了 Stockfish)。選擇 Stockfish 作為對手看起來是挺合理的,Stockfish 是目前最強大的開源國際象棋引擎,且在最近的 TCEC(目前世界上水平最高的引擎競賽)中取得了第三名(排名在 Komodo 和 Houdini 之後)[10]。然而,AlphaZero 和 Stockfish 比賽的實驗設定看起來並不公平。他們使用的 Stockfish 版本並不是最新的,更重要的是,該版本還是在一個普通 PC 上執行的,而 AlphaZero 使用的計算能力要強大得多。例如,在 TCEC 競賽中,所有的引擎都必須使用相同的處理器進行比賽。此外,對時間的選擇看起來也很奇怪。每一個引擎被設定成每一手一分鐘的思考時間。然而,大部分人機競賽都只為整場比賽指定固定時間,每一手的時間由選手自行管理。正如 Stockfish 的最初開發者之一 Tord Romstad 指出的,這是影響 Stockfish 表現的另一項可疑決定,「研究者投入了大量努力使 Stockfish 能夠鑑別遊戲中的關鍵點,在走棋中決定什麼時候使用額外的時間 [10]。」Tord Romstad 還指出 Stockfish「執行的搜尋執行緒遠遠多於多次測試中的執行緒」。此外,AlphaZero 對戰 Stockfish 的超高勝率使某些頂尖的國際象棋選手非常驚訝,它挑戰了「國際象棋引擎幾乎不可戰勝」的普遍觀念(例如,世界排名第九的國際象棋選手 Hikaru Nakamura 質疑了 AlphaZero 和 Stockfish 比賽中的低平局率 [11])。
和 Stockfish 的 10 局比賽。DeepMind 的論文只分享了 10 場比賽樣本,10 場全是 AlphaZero 取得勝利 [12]。由於 AlphaZero 展示出的物件棋的「深度理解」,這些比賽獲得了象棋社群的一致讚揚:Peter-Heine Nielsen [13],象棋特級大師、世界冠軍 Magnus Carlsen 的教練;Maxime Vachier Lagrave [11],世界排名第五的象棋選手,二者均對 AlphaZero 在和 Stockfish 比賽中的表現做出了積極回應。但是,在科技論文中展示提出系統出現缺點或表現不太好的樣本是一種慣例,以使大家對該系統有一個全域性瞭解,也便於其他研究者基於此進行進一步研究。該論文另一個不明確的地方是比賽是從特定的開局開始還是從頭開始。鑑於這 10 場比賽的開局型別,似乎初始棋局是預先確定好的。
AlphaZero 和 Stockfish 的比賽。最後一手:26. Qh1!象棋特級大師 Francisco Vallejo Pons 稱這場比賽像「科幻小說」。圖片來源:chess24
自我對弈。AlphaZero 完全從自我對弈中學習的嗎?根據論文提供的細節來看是這樣的,但有兩個重要的地方需要注意:在開始自我對弈之前必須先教會系統遊戲規則和通常手數(typical number of moves)。這一點並不像看上去那麼無足輕重。要尋找可以對規則進行編碼的合適神經網路架構必須投入大量研究,正如 AlphaZero 論文中解釋的那樣。AlphaGo 使用的基於卷積神經網路的架構適合圍棋,但不適合其他遊戲。例如,國際象棋、將棋就和圍棋不同,它們是不對稱的,一些棋子根據局面進行不同的操作。最新的 AlphaZero 引入了更通用的 AlphaGo 演算法版本,適用於象棋和將棋。第二點(即教會 AlphaZero 棋類遊戲的通常手數)還需要遊戲的一些先驗知識。此外,超出最大步數的賽局被定為平局(DeepMind 未提供最大步數的資訊)。現在不清楚這種啟發式方法是否也用於對抗 Stockfish 的比賽中,還是僅用於訓練。
泛化。AlphaZero 稱其使用了可在多個領域中獲勝的通用強化學習方法。但是,在前面關於自我對弈的觀點之後,也出現大量爭論關於 AlphaGo 和 AlphaZero 系統泛化至其他領域的能力 [14]。假設現實生活的很多場景可以被簡化成固定的預製規則集,像圍棋、象棋、將棋那樣,這似乎不切實際。此外,這些遊戲不僅具備固定的規則集,而且是有限的,即可能的配置情況是有限的,儘管它們的複雜程度各有不同。這和其他也有固定規則集的遊戲不一樣。比如,網球比賽中需要考慮的變數很難量化,必須考慮速度和風向、球速、球和球面的角度、球面型別、球拍材質、場地問題等。
我們應該科學、審慎地觀察這些所謂的突破,尤其是在現在這個 AI 炒作的時代。準確地描述和推廣我們的成就是該領域研究者的責任,研究者不應助長不實資訊,把該領域神秘化。事實上,在月初的 NIPS 大會上,一些研究者表達了對近年來該科學領域缺乏嚴謹性的擔憂 [15]。
在這種情況下,我希望這些擔憂能夠得到解決,準確地評估 AlphaZero 的實際科學貢獻,而這一判斷並不是現在就能做出的。或許如果有更好的實驗設計和對復現的考慮,DeepMind 的結論就沒有現在那麼讓人震驚了,不過也說不準。但是我們很難對此做出評估,除非 DeepMind 真的在這方面做出努力。我個人非常希望 DeepMind 在 AI 領域實現更多相關發現,但是我也希望這些成績的取得是以一種同行可以輕鬆評價且對社會有所貢獻的方式進行。
參考資料
[1] Silver et al.「Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm.」arXiv preprint arXiv:1712.01815 (2017). https://arxiv.org/pdf/1712.01815.pdf
[2] https://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov
[3] https://www.theguardian.com/technology/2016/mar/15/googles-alphago-seals-4-1-victory-over-grandmaster-lee-sedol
[4] Silver et al.「Mastering the game of go without human knowledge.」Nature 550.7676 (2017): 354–359. https://www.gwern.net/docs/rl/2017-silver.pdf
[5] https://www.theguardian.com/technology/2017/dec/07/alphazero-google-deepmind-ai-beats-champion-program-teaching-itself-to-play-four-hours
[6] http://www.bbc.com/news/technology-42251535
[7] https://chess24.com/en/read/news/deepmind-s-alphazero-crushes-chess
[8] https://www.chess.com/news/view/google-s-alphazero-destroys-stockfish-in-100-game-match
[9] http://chessok.com/?page_id=27966
[10] https://hunonchess.com/houdini-is-tcec-season-10-champion/
[11] https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author
[12] Link to reproduce the 10 games of AlphaZero against Stockfish: https://chess24.com/en/watch/live-tournaments/alphazero-vs-stockfish/1/1/1
[13] https://www.twitch.tv/videos/207257790
[14] https://medium.com/@karpathy/alphago-in-context-c47718cb95a5
[15] Ali Rahimi compared current Machine Learning practices with「alchemy」in his talk at NIPS 2017 following the reception of his test of time award: https://www.youtube.com/watch?v=ORHFOnaEzPc
原文連結:https://medium.com/@josecamachocollados/is-alphazero-really-a-scientific-breakthrough-in-ai-bf66ae1c84f2