當前位置: 華文星空 > 知識

AlphaGo 能戰勝李世石嗎?

2016-06-22知識

先直接回答這個問題,下面再分析AlphaGo和人工智能的未來。我認為AlphaGo這次的比賽打敗李世乭比較懸,但是1-2年之內必然完勝人類。

  1. 按照兩者的Elo(圍棋等級分),可以算出去年年底的AlphaGo打敗李世乭的概率相當低。 如何算出的呢?AlphaGo去年年底的頂級分布式版本的Elo是3168(見下面第一張圖),而李世乭的Elo大約是3532(全球圍棋手Elo: Go Ratings ,見下面第二張圖)。

    按照這兩個等級分的兩個棋手對弈,李世乭每盤的勝算為89%(\frac{1}{(1+10^{((3168-3532)/400))} )} ,公式見:How to Guide: Converting Elo Differences To Winning Probabilities : chess)。如果對弈一盤,AlphaGo尚有11%的獲勝的可能性,而整個比賽五盤勝出三盤或更多,AlphaGo就只有1.1%的可能性了。(當然,這是幾個月前的AlphaGo,也許今天已經超越了:見下面第三點)。
  2. AlphaGo不是打敗了歐洲冠軍嗎?有些 人認為AlphaGo去年底擊敗了歐洲冠軍樊麾,所以挑戰(前)世界冠軍應有希望。但是,樊麾只是職業二段(Elo 3000左右),而李世乭是職業九段(ELO 3532)。這兩位的差別是巨大的,完全不能混為一談。就比如說一個人乒乓球打敗了非洲冠軍,並不代表他就可以成功挑戰中國冠軍。
  3. AlphaGo有可能在這幾個月突飛猛進,進而擊敗李世乭嗎? AlphaGo的負責人說:」外界不知道我們這幾個月進步了非常多「。(來自:Odds favor machine over human in big Go showdown )。這點確實有可能。AlphaGo進步的方法有兩個:(1)增加硬件:我們從Nature的文章可以看到:從1202個CPU到1920個CPU,AlphaGo的ELO只增加了28,而且線性地增加CPU,不會看到線性的ELO成長。若要達到364 ELO積分的提升,需要的CPU將達到天文數碼(有篇文章估計至少要10萬個CPU:AlphaGo and AI Progress)。當然,谷歌有錢有機器,但是純粹加機器將會碰到平行計算互相協調的瓶頸(就是說假設有十萬萬台機器,它們的總計算能力很強,但是彼此的協調將成為瓶頸)。在幾個月之內增加兩個數量級的CPU並調節演算法,降低瓶頸,應該不容易。(2)增加學習功能:AlphaGo有兩種學習功能,第一種是根據高手棋譜的學習,第二種是自我對弈,自我學習。前者已經使用了16萬次高手比賽,而後者也在巨大機組上訓練了8天。這方面肯定會有進步,但是要超越世界冠軍可能不容易。最後,換一種分析方式:如果從過去深藍擊敗世界冠軍的「成長過程」來看,深藍大約1993年達到職業大師水平,4年後才在一場六盤的比賽中擊敗世界冠軍(大約500Elo積分點的提升)。今天的AlphaGo應該和1993年的深藍相似,剛進入職業大師水平。若要擊敗世界冠軍,雖然未必需要4年的時間,但是幾個月似乎不夠。
  4. 還有什麽以上未考慮的因素,導致AlphaGo獲勝嗎? 如果谷歌刻意未出全力和樊麾對抗,或者有其它學習或平行計算方面超越了Nature裏面的描述,那AlphaGo完全有可能獲勝。

既然寫了這麽多,就對這個題目再發表一些看法:

  1. AlphaGo 是什麽? 在今年一月的Nature (http://www. nature.com/nature/journ al/v529/n7587/full/nature16961.html )有AlphaGo的詳細介紹,AlphaGo是一套為了圍棋最佳化的設計周密的深度學習引擎,使用了神經網路加上MCTS (Monte Carlo tree search),並且用上了巨大的谷歌雲端運算資源,結合CPU+GPU,加上從高手棋譜和自我學習的功能。這套系統比以前的圍棋系統提高了接近1000分的Elo,從業余5段提升到可以擊敗職業2段的水平,超越了前人對圍棋領域的預測,更達到了人工智能領域的重大裏程碑。
  2. AlphaGo 是科學的創新突破嗎? AlphaGo是一套設計精密的卓越工程,也達到了歷史性的業界裏程碑,不過Nature文章中並沒有新的「發明」,AlphaGo的特點在於:不同機器學習技術的整合(例如:reinforcement learning, deep neural network, policy+value network, MCTS的整合可謂創新)、棋譜學習和自我學習的整合、相對非常可擴張的architecture(讓其充分利用谷歌的計算資源)、CPU+GPU並列發揮優勢的整合。這套「工程」不但有世界頂級的機器學習技術,也有非常高效的程式碼,並且充分發揮了谷歌世界最宏偉的計算資源(不僅僅是比賽使用,訓練AlphaGo時也同樣關鍵)。
    AlphaGo的跳躍式成長來自幾個因素:1)15-20名世界頂級的電腦科學家和機器學習專家(這是圍棋領域從未有的豪華團隊:也許你覺得這不算什麽,但是要考慮到這類專家的稀缺性),2)前面一點提到的技術、創新、整合和最佳化。3)全世界最浩大的谷歌後台計算平台,供給團隊使用,4)整合CPU+GPU的計算能力。
  3. AlphaGo是個通用的大腦,可以用在任何領域嗎? AlphaGo裏面的深度學習、神經網絡、MCTS,和AlphaGo的擴張能力計算能力都是通用的技術。AlphaGo的成功也驗證了這些技術的可延伸性。但是,AlphaGo其實做了相當多的圍棋領域的最佳化;除了上述的系統調整整合之外,裏面甚至還有人工設定和調節的一些參數。AlphaGo的團隊在Nature上也說:AlphaGo不是完全自我對弈end-to-end的學習(如之前同一個團隊做Atari AI,用end-to-end,沒有任何人工幹預學習打電動遊戲)。如果AlphaGo今天要進入一個新的套用領域,用AlphaGo的底層技術和AlphaGo的團隊,應該可以更快更有效地開發出解決方案。這也就是AlphaGo真正優於深藍的地方。但是上述的開發也要相當的時間,並且要世界上非常稀缺的深度計算科學家(現在年待遇行情已達250萬美金)。所以,AlphaGo還不能算是一個通用技術平台,不是一個工程師可以經過調動API可以使用的,而且還距離比較遠。
  4. 如果這次AlphaGo沒有打敗 李世乭,那還要多久呢? IBM深藍從進入大師級別到比賽擊敗世界冠軍花了四年。AlphaGo應該會比深藍更快提升自己,因為深藍需要新版本的硬件,和針對Kasparov的人工調節最佳化,而AlphaGo是基於谷歌的硬件計算平台,和相對通用的深度學習演算法。所以,幾個月太短,4年太長,就預計1-2年之間吧。
  5. 從國際象棋到圍棋,到底是不是巨大的突破呢? 肯定是的,在這篇文章裏面(在國際象棋領域,電腦已經可以戰勝人腦,那麽圍棋領域電腦還差多遠? - 電腦 ),第一位回答者分析了圍棋的復雜度為10^{172} 而國際象棋則只有10^{46} 。在1997年深藍擊敗世界冠軍時,大家都認為:深藍使用的是人工調整的評估函數,而且是用特殊設計的硬件和」暴力「的搜尋 (brute-force) 地征服了國際象棋級別的復雜度,但是圍棋是不能靠窮舉的,因為它的搜尋太廣(每步的選擇有幾百而非幾十)也太深(一盤棋有幾百步而非幾十步)。而AlphaGo的發展讓我們看到了,過去二十年的發展,機器學習+平行計算+海量數據是可以克服這些數碼上的挑戰的,至少足以超越最頂尖的人類。
  6. AlphaGo 若打敗了世界冠軍,就意味著電腦超越人腦?或者可以思考了嗎?我的回答:
  • 在可以憑邏輯分析推算的問題上,機器即將遠遠把人類拋在後面。機器速度會越來越快,學習能力會越來越強,數據會越來越多。當年,大家討論「國際象棋輸給機器不算什麽,圍棋才是真正的智慧」只是我們人類維護自己尊嚴但是不實際的幻想!今天,我們該面對現實了!
  • 在大數據+機器學習+大規模平行計算的時代,我們將看到無數的商機和產品,能夠在預測、分析、推薦等方面,產生巨大的商業和使用者價值。不過,這些解決方案和人類相比,其實沒有什麽意義,因為人差太遠了(比如說:推薦引擎將能推薦你最可能會買的產品、想吃的菜,想認識的人;自動交易能得到更高的投資回報和風險比例。。。)。
  • 在感知方面,人類也將會被機器超越。今天的語音辨識,人臉辨識,未來的自動駕駛,都是例子。
  • 但是,以上都還是冷冰冰的技術,機器打敗了世界冠軍也沒有感到高興(甚至說不出為什麽)。對於那些科幻片的粉絲們:機器人是否會人性化?這還是未知的。畢竟,在情感、喜怒哀樂、七情六欲、人文藝術、美和愛、價值觀等方面,機器離人還差的很遠,甚至連基礎都沒有。對人工智能的研究者,這是下一個挑戰。對我們人類,在下個突破之前,我們還是多發展右腦吧!
  • P.S. - 也許有人好奇,為什麽這個話題我說了這麽多,因為在1986年,我在讀書時,曾經開發了一套黑白棋系統(復雜度10^{28} ),擊敗了黑白棋的世界團體冠軍,而當年的那套系統也有(非常粗淺的)自我學習的能力。有興趣的網友可以在這裏看到我當年的文章:

    A pattern classification approach to evaluation function learning

    ) 。