回覆列表
-
1 # 機器之心Pro
-
2 # 文一直
勿庸置疑。阿爾法狗的突破超越了當時的蒸汽機。可以說比相對論更偉大。它可以解釋人類的意識,實際上是物質超複雜程度的堆積。機器創創造意識也是遲早的事。世界正向機器物種進化或演化。
勿庸置疑。阿爾法狗的突破超越了當時的蒸汽機。可以說比相對論更偉大。它可以解釋人類的意識,實際上是物質超複雜程度的堆積。機器創創造意識也是遲早的事。世界正向機器物種進化或演化。
近日,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]。計算能力的提升為新演算法的開發鋪平了道路,可能幾年後國際象棋這樣的遊戲甚至可以使用暴力求解方法來解決。
和 Stockfish 的實驗設定的對比。為了證明 AlphaZero 相對於以前的國際象棋引擎的優越性,DeepMind 進行了 AlphaZero 對戰 Stockfish 的 100 次比賽(AlphaZero 以 64:36 打敗了 Stockfish)。Stockfish 的版本選擇看起來是挺合理的,開源的並且是目前最強大的國際象棋引擎。Stockfish 在最近的頂級國際象棋引擎競賽(TCEC,被視為國際象棋引擎的世界錦標賽)中取得了第三名(在 Komodo 和 Houdini 之後)[10]。然而,其中的實驗設定看起來並不公平。他們使用的 Stockfish 版本並不是最新的,更重要的是,它是在一個普通 PC 上執行的,而 AlphaZero 使用的計算能力要強大的多。例如,在 TCEC 中所有的競賽引擎都必須使用相同的處理器進行比賽。此外,對時間的選擇看起來很奇怪。每一個引擎被設定成每一步一分鐘的思考時間。然而,人類競賽和引擎競賽大部分都是設定成為每個玩家分配整個比賽的固定時間,這個時間由玩家自行管理。正如 Stockfish 的最初開發者之一 Tord Romstad 指出,這是危害 Stockfish 的另一項可疑的決定,「Stockfish 需要花費大量的算力用於鑑別遊戲中的關鍵點,以及在走棋中決定什麼時候使用額外的時間 [10]。」並且,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 稱這場比賽像『科幻小說』。
自我對弈。AlphaZero 完全從自我對弈中學習的嗎?根據論文提供的細節來看是這樣的,但有兩個重要的地方需要注意:在開始自我對弈之前必須先教會系統遊戲規則和通常手數。這一點並不像看上去那麼無足輕重。要尋找可以編碼規則的合適的神經網路架構必須投入大量研究,正如 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