AlphaGo 能戰勝李世石嗎?

本題已收錄至知乎圓桌 ? 對弈人工智慧,更多關於李世石對戰人工智慧的解讀歡迎關注討論。

-----

1月28日上午消息,谷歌今日召開全球電話會議,旗下 Deep Mind 創始人戴密斯·哈薩比斯 (Demis Hassabis) 宣布了谷歌在人工智慧領域的重要進展:開發出一款能夠在圍棋中擊敗職業選手的程序—— AlphaGo,後者能夠通過機器學習的方式掌握比賽技巧。將於三月份同李世石競技。
-----
2016年3月9日 第一局,AlphaGo 執白勝 李世石
2016年3月10日 第二局,AlphaGo 執黑勝 李世石
2016年3月12日 第三局,AlphaGo 執白勝 李世石
2016年3月13日 第四局,李世石 執白勝 AlphaGo
2016年3月15日 第五局,AlphaGo 執白勝 李世石
最終結果,AlphaGo 4:1 戰勝 李世石。


先直接回答這個問題,下面再分析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/journal/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 ) 。


李開復老師的預測很慎重。趁著賽前我寫一個短分析。
個人認為,這次頂峰對決戰成勢均力敵的可能性極小。很多人設想中的勢均力敵很難出現。六種比分里最有可能的是,4:1/1:4,其次5:0/0:5,最次才是3:2/2:3。

我思考的主要是兩點。
首先,圍棋棋力的差距比國際象棋更容易帶來局勢上的碾壓,積分差400基本上可以認為是橫掃了。歐洲冠軍樊老師差不多是3000分,世界冠軍李老師是3600分。之前的閉門對戰中,alphago橫掃了歐洲冠軍。也就是說,幾個月前,alphago應該至少有了3300分。李需要一定概率才能橫掃當時的alphago。以400分為一階段的話,alphago和李大約只差一階了。

第二,深藍是需要堆硬體和針對對手的訓練才需要四年的時間。alphago沒有在這兩方面動心思,處理器數目這幾個月也沒有多少改變。單純地只需要時間靠訓練提升自己。國際象棋AI用了四年完成職業級到世界冠軍的超越,現在的alphago可能只需要4個月。alphago的進步速度相對於人類和深藍都是爆炸性的。

這兩者加起來,alphago和世界冠軍實力相當的窗口極短。
Google正好給自己留下了充裕的時間。如果Google那邊沒有遇到瓶頸的話,應該會完成4:1/5:0的壓倒性勝利。如果遇到了什麼瓶頸,實力到了目前演算法的極限,沒有爆髮式的進化,那麼就是反過來被李4:1/5:0碾壓。3:2/2:3?不太會出現。

ps.以及並不擔心被打臉。能讓思考中的錯誤暴露出來是極好的。一個好的cost function是會讓錯誤更明顯的函數。
--------------------------------------------------------------------------

5%。

寫在第一局之後。

算是對早上短分析的整合。早上是早餐時間一邊吃飯一邊寫的。有些地方可能跳得很快,讓一些知友覺得迷糊了。


我的中心觀點還是,最可能出現局面是AlphaGo壓倒性地以4:1或5:0取勝,最不可能的局面是3:2或2:3。(達成這個效果,AlphaGo對李的單局勝率要高於83%,大約要高出280分,也就是在3800分以上。)


我對圍棋的理解就5%。


首先,圍棋棋力的差距比國際象棋更容易帶來局勢上的碾壓。
同樣是400分的差距,同樣是90.9%的單局勝率,圍棋的棋力差距比國際象棋更小。(更容易完成0:5到5:0的飛躍。)而去年10月AlphaGO橫掃了大約3000分的Fan Hui老師,說明那時的AlphaGo離李世石大約只差300分,還不到一階(400分)。

第二,當初深藍用了四年,時間主要耗在了堆硬體計算能力和針對對手的訓練上。這兩點都需要人為干涉,非常消耗時間。AlphaGo的處理器數目與去年10月相比沒有提示,說明Google不走堆硬體的老路。AlphaGo自己和自己訓練,以百萬局為單位的訓練,也不走針對對手開小灶的邪路。這樣的,進步一階速度何止深藍的10倍。深藍用4年完成一階的飛躍。而AlphaGo可能只需要4個月。從去年10月到現在已經5個月了。這段時間看似短暫,如果AlphaGo能在目前的模型下完成400分以上的提升,那麼5個月應該是很充足的。也就是說,AlphaGo能超車的話,那麼一般來說,已經把人類選手摔在身後了。

一輛已經起步的小跑車超過行人是必然的,但正好經過行人李的時間窗口卻極短。正好差100分以內,考慮到第一個原因,可能性更小了。再考慮到下面這句話,Elo分差100以內的可能性又更低。

當年日本棋聖藤澤秀行老師接受採訪時說:我對圍棋的理解就5%。


今天早餐時,我一看到這句話便覺得豁然開朗。

圍棋是一個被規則定義的世界。數千年來,我們一直在努力發現這個世界。圍棋不是臣服於我們的工具,是一個被明確定義的客觀存在。
(Literally)如果圍棋有100個層次,最頂尖的棋手大約站到了5層。而這個世界還有95層等著人類去探索。

AlphaGo呢,真的很像一條狗啊(當然也只有很小的可能性滯留在第五層 ;))。人類應該牽著它繼續向前走。


現在的比分是 0:2,小李的狀態很不佳,這次也完全可能被零封。但目前的 AlphaGo,可能並非人類不可戰勝。


【UPDATE:對 AlphaGo 和圍棋人工智慧有興趣的朋友,我最近在寫一個系列,介紹如何自制你的"AlphaGo",請點擊:知乎專欄】

UPDATE:第四盤,電腦盲點出來了。我在下面說過,邏輯性是 DNN 的盲點,可以誤導 MCTS 的展開,某些怪招是走入了錯誤的變化,而不全是什麼神之一手天外飛仙。同時 AlphaGo 也會出現盲區。正是如此。之前我在這裡還說 Google 很雞賊,不公開 AlphaGo 失敗的棋譜,也不開放任何對弈,避免顯示自己的弱點,下面不時有人出來噴「憑什麼要求Google公布」云云,言辭非常不客氣,我就編輯掉並關閉評論了,各位現在理解了嗎。許多做機器學習的朋友不了解電腦圍棋,如果真研究過近年來的電腦圍棋文獻,會發現和跑個 ImageNet 的程度不一樣,需要的邏輯知識更豐富。電腦圍棋未來會完美戰勝人類棋手(且必須加入更多Domain-dependent的方法),但恐怕不是今天。NOT TODAY。我們看看 Google DeepMind 的 Hassabis 怎麼說吧:
@demishassabis 26m26 minutes ago
Lee Sedol is playing brilliantly! #AlphaGo thought it was doing well, but got
confused on move 87. We are in trouble now...
@demishassabis 7m7 minutes ago
Mistake was on move 79, but #AlphaGo only came to that realisation on around
move 87
這就正是我在此所說的「電腦吃驚」。其實即使對於AI研究,最完美的情況也並不是碾壓李世石,而是我們看到人機之間的此消彼長,互相學習。圍棋是一個極其有趣的問題,希望看到它能為AI研究貢獻更多世界的奧秘,而不是如此輕易地被徹底解決。

AlphaGo的核心是 MCTS + DNN + RL。之前沒有說 RL,但它其實是很有意思的部分,因為在從前的對弈程序研究中,RL 的效果一般並不好。RL 的弱點是 overfit,也就是雖然小道消息公布目前這個版本的 AlphaGo 面對去年的戰勝樊麾的版本的勝率是 100%,估計 ELO 分已經超出 4000,號稱天下無敵,但這裡面實際是會有很大的水分的可能。在其他棋類的例子上,有這樣的例子: RL 後的程序秒殺 RL 前的程序,但面對其它不同棋風程序的勝率反而略微降低。下面我們看 MCTS 和 DNN 的缺陷。
================================================

身為人類,恰好對於電腦圍棋、General Game Playing、機器學習有過一點研究,希望在此為形勢不利的一方支招。冀望研究AI的朋友們此時都開放一點,告訴公眾和棋手,目前AI所存在的缺陷,而不是有意無意地只想搞個大新聞。很理解Google等公司作為利益相關者,大談AI的長處,不會自揭短板。Google這次取得的成就也非常偉大。但即便從公司利益出發,現在為人類棋手支招,事實上也有利於進一步促進AI水平的提高。如果人類不在最佳狀態,那麼對於機器的測試又如何能測試出機器的極限?下文如有錯漏,請各位不吝補充。


1) 複雜的劫爭、複雜的對殺(Semeai)、"看似有利實際不成立的棋"、"看似不利實際合理的棋"(做過對弈程序的朋友會清楚,這些反應出來就是"漏看","過分樂觀")等等,一言喻之,所謂 trap,一直是蒙特卡洛樹搜索(MCTS)甚至對弈樹搜索的軟肋,如 International Conference on Computers and Games 2013 論文集中,多篇都討論過這類缺陷的表現。


AlphaGo 通過運用深度神經網路評估和選點、tree與playout的知識共享、歷史知識共享、暴力增加搜索速度和節點數,等等,彌補了大部分"漏看"的情況,但"漏看"仍會存在。對於圍棋,尤其如此。


這首先來自於,由於對弈樹太大,所以MCTS在每一層都會儘快選中少數點集中搜索。如果一開始的選點全部或大部分錯了,根據合格的MCTS的設計,仍然可以在後續搜索中找回正確的選點,但需要的時間會很多,有可能就會漏看;其次,在playout中,也同樣會有覆蓋不夠的盲點,影響局面評估。

一個具體的例子。AlphaGo 在局勢均衡時,出現的怪招,如果是在短兵相接的情況下出現的,一部分會是算路極深的妙手,但也會有一些屬於這樣的誤算(就是沒看到後續雙方的正解,而是陷入了錯誤的變化),表現出來就是損棋。後文會繼續談電腦的怪招問題。


2) 同樣,深度神經網路(DNN)也存在盲點,且這種盲點屬於此方法的根本問題,現階段無可能解決。下面是一個普通人不了解的事情:DNN與目前的絕大多數機器學習演算法,所學習到的,其實都是統計知識,而不是精確的邏輯知識。


舉個圖像識別的例子。給DNN一群人在一起的照片,DNN現在可以數出裡面有多少個人,且有時比人類還要強。比如只露了某個身體部位,也可能識別出來。但是,也永遠會有人類看上去一目了然,但DNN識別錯誤的情況,因為DNN完全沒有辦法學到什麼是人的精確定義!


這方面經典的文章是 Deep neural networks are easily fooled: High confidence predictions for unrecognizable images ,下圖左邊精心構造的噪音圖像會被DNN以非常高的置信度判定為存在某某物品(有趣的是,可以在右邊看到,我們也可以構造出「有點像這個物品」的假圖像,說明DNN學到了許多東西,只是不精確)。

如果我們拿到 AlphaGo 的網路權重數據,同樣可以構造許多類似的欺騙局面。但是,我們拿不到。不過,目前看來,這種問題已經在對局中顯現了。


一個典型的例子是布局部分,所謂的"走錯定式"。


與普通人的想像不一樣,DNN雖然學習過無數局棋譜,但是絕不會簡單地死記硬背棋譜。這是DNN的勝利,它有能力大致學習到棋譜中所反應的更有趣的精神,如布局的方向選擇,某個局部和另一個局部之間的聯繫,等等;而另一方面,DNN所學習到的圍棋知識,也存在著同樣的"不精確性"與"邏輯性缺陷",正如霧裡看花。


那麼,布局走錯次序、走錯位置、不同布局的雜糅等等,在了解的人看來,就很可能是DNN的簽名(MCTS也有類似的缺陷,因為在它看來布局的許多不同位置的勝率都差不多,結果實際行棋就會有不精細之處)。人類所應該做的,就是不要想太多,按照棋理與布局理論給予還擊(是的,人類的布局理論一定還有缺陷,但以 AlphaGo 目前的水準,恐怕還達不到這一層)。


如果不了解這件事,把電腦想得太神秘莫測,只求穩,如小李在第二局的一些應對,則會正中電腦的下懷,把自己繞進去了。關於此,柯棋渣的直播和孟主播的復盤 圍棋TV_極速點評之人機大戰特別版都說得很好。

電腦的某些怪招,也同樣是這麼來的,不一定都是什麼天外飛仙。此前舉的複雜劫爭、對殺等等,也存在精密的邏輯成分(如每個劫材的精確大小、先後手,全棋盤各個局部之間的複雜關係,等等),會是電腦的弱項。另一方面,官子部分雖然也要精確算,但以 AlphaGo 目前的運算能力恐已足以暴力搜索解決(團隊應該會在此時接入精確的搜索樹而非蒙特卡洛樹),不能指望它出錯了(看似出錯的地方,都是棋局大幅領先時MCTS的簽名而已,不改變勝負)。


3) 關鍵的部分來了。怎麼應對 AlphaGo


單從對局來說:


第一,自己不能出錯,每步棋要達到 80 分的質量。 因為電腦抓漏抓棋形缺陷等等的能力有時會很強(就看MCTS是否剛好考慮到了那個變化),不能給它機會。


第二,如果看到 AlphaGo 的怪招(特別是棋局開局與中前期的怪招),先想想是否是自己看漏了,如果似乎不是,那麼不要把它想得太高明,應該用正常的方法反擊,而不要心虛求穩。這樣才可慢慢積聚起優勢。否則就是安樂死,彷彿不知道輸在哪裡。


第三,同樣,AlphaGo的行棋有時會有不精細之處。發現時,都應積極抓住處理。


第四,一些需要了解的地方:


1. 從 AlphaGo 的 DNN 設計來看,它會略微更喜歡走離 自己上一手 / 對方上一手 很近的點。


2. 目前的MCTS演算法,電腦容易略微高估自己,低估人的戰鬥能力和活棋能力。如果人表現得好,電腦是會吃驚的(評論有朋友問什麼叫電腦吃驚,這個做過對弈程序的朋友都知道,就是起初認為局勢一片大好的評估函數,突然就開始急轉直下了,哈哈)。


3. 許多人都已經知道,目前的電腦圍棋程序在領先的時候都會求穩,下緩手(因為實際測試,這樣的勝率確實更高)。

以上是對局的方面。而更重要的事情是在對局之外

上面是媒體報道使用的一張圖片。這張圖片看了令人覺得挺難過。李世石和從前的卡斯帕羅夫一樣,現在面對的心理壓力,前所未有的巨大。希望能有機器學習專家找到李世石,介紹 AlphaGo 的演算法和可能存在的缺陷,讓他能夠調整狀態,奮力再戰!


此次對局,是 AlphaGo 在暗,人類棋手在明。AlphaGo 看過所有人類棋手的棋譜,而人類棋手卻始終蒙在鼓裡。有些不厚道的是,Google 故意放煙霧彈,只公布了去年的較弱的版本的對局譜,並且絕不談最新版本的棋力情況,有心理戰的嫌疑。


這並不改變 Google 取得了偉大成就的事實,不過也留下了口實。心理因素,對於人類而言太重要了。打個比方,如果換成愛虐電腦,與機器鬥爭經驗豐富的羅洗河,局面會是如何,會比較有趣。


如果 Google 不是僅僅為了追求宣傳效應,那麼建議在此次或此一系列對局事件後,開放與 AlphaGo 對弈的介面,讓所有人類頂尖棋手前來實驗。即使收費,也會有許多人願意。


人類的學習能力,在許多方面仍然遠強於機器學習。通過反覆測試,完全可能試出 AlphaGo 的缺陷,學會 AlphaGo 學習棋譜與自我對局所生成的經驗(DNN 裡面的經驗也是有辦法直接顯示給人類的,不是純粹的黑箱)。這與象棋的情況不同。圍棋很特殊,可以說是最適合人類的一種棋類,比象棋等要適合得多。樊麾在與 AlphaGo 多次對弈後長棋了,其他人類棋手也會有類似的發現。電腦能進步,人也一樣。一個強大的對手,可以推動圍棋的新發展。


(要找到AlphaGo 的缺陷所在,最直接的,是看 AlphaGo 自我對弈的棋譜。自我對弈,就總有一方會輸,那麼就看看是如何輸的。說起這個,許多人可能不知道,對局程序里有大量的內部信息,比如程序估計的選點,每個點的勝率,以及每個點的變化圖解。如果再略微分析一下,還可以顯示程序認為哪裡是局勢的關鍵點,哪裡已經塵埃落定,哪裡是未來可能爭鬥最激烈的區域,以及DNN的形式判斷理由,等等等等。如果 Google 願意把這些數據顯示出來,那就更有意思了。)


行文至此,東方漸白。我相信在圍棋這個畢竟是人類創造的棋盤遊戲上,機器在不久的將來會徹底戰勝人類,斷絕一切幻想,正如現在的象棋,但我只想說,NOT TODAY!如果您同意本文的意見,請記得給本文 up vote 一下吧,對,就是點一下左上角那個向上的剪頭。


何況,這只是 AI 漫漫長路的一個小小驛站。別的不說,前沿的理論數學的證明,很難想像現在的 AI 怎麼理解,更不談怎麼推導。代數拓撲和代數幾何有希望。數論最難。更簡單的例子,AI 什麼時候能寫出我們在這裡的回帖?目前的電腦架構,恐怕希望不大。生物計算機,量子計算機,分子計算機,可能才是正解。不說了,先睡了...

彭博 於 2016年3月11日晨

補充:


對於電腦圍棋關注過很多年,大部分這方面的文獻都讀過,也寫過程序。此處寫下的 MCTS 和 DNN 的漏洞,既是許多文獻的意見,也是自己的經驗所得。如果哪位有不同意見,很歡迎指正。


但是,這裡的所有評論,居然沒有一個人正面談論這個問題(如這些漏洞是否存在,該如何解決),一群人去爭論些邊邊角角的雜事,如 Google 是否應該公開權重公開棋譜之類,有沒有可能解讀出權重裡面的信息等等,各路人瞎吵,令人無語。這是新一代的中醫vs西醫之爭嗎?信噪比太低了,全清空罷。


最後,點名批評之前評論中的許多人,學了一點機器學習課本知識,就開始 show,太可怕了。世界很複雜,我們都還得虛心學習一個。實際的問題千變萬化,不是課本可以涵蓋。是的,我對於喜歡人身攻擊的人就是這麼不留情。討論問題很好,有些人一上來就人身攻擊,這是什麼路數?


我還搜索了一下,好像很多人都在知乎吐槽噴子,還有人總結說噴子最喜歡抓住他們懂的那點東西死纏爛打。比如 MCTS 這麼簡單,但對於機器博弈又極其重要的東西,他們很多就不懂,很多課本也不教,所以他們就啥都不會說。關於本文說的主要論題,他們也啥都不會說(真令人失望),就會反覆糾纏一些細節。很多時候,我特別特別不想回他們的評論,因為感覺在免費教他們。但是看他們在下面吧,又覺得很容易誤導觀眾(他們會互相點贊!很牛的),怎麼辦呢?現在我學會了,就是拉黑+關閉評論......


-

寫在前面的話:

1. 本答所有內容,均經過答主深思熟慮,答主對文中的每一句話負責。

2. 以答主專業水平之差,眼界之限,謬誤在所難免,故本文僅具參考意義。

3. 答主歡迎來自任何人的一切態度友善的正當指教。

4. 本答不是科普文,而是寫給特定人群看的,見諒。


謹希望所有看下去的朋友明晰以上四點。


-

人機大戰本身造成人與機器對立的天然屬性,使其能吸引所有人的目光。

但大家容易忽略的是,一切最核心的因素,歸根結底都是人的因素。

這裡面重要的不僅僅是人與機器之間的關係,更是人與人之間的關係。


這次的人機大戰,很容易讓身處漩渦中央的圍棋界和人工智慧界產生莫名的對立感。

儘管理智的圍棋人和AI研究者,都明白這技術進步的重大意義,部分人也明白一些可能的合作的重要性。

但落到比賽本身上,產生對立的態度就在所難免。


當然,包括答主在內的很多人,起初對待預測賽果的態度,不過只當個輕鬆的猜測,頗有笑看天地翻覆的見證感。

可隨著許多心態保守而態度激烈的相關從業者的不斷發聲,某些對立的存在感越來越強。

而近來答主見到的幾乎所有媒體的刻意推波助瀾,進一步助長了公眾眼中的這種對立感。


隨著某些可見對立在輿論中宣傳度的升級,眾多友好合作的聲音漸漸被壓了下去。

不僅公眾眼中只見大戰之硝煙四起,漩渦中央人群也普遍感到了更大的壓力感。

很多受到媒體過當助推的激烈言辭,已經難言到底是傲慢與偏見,還是追求傳播。


答主私以為不妥。


-

三日後的大戰本身極具「符號」意義,筆者且盡量拋開主觀因素,討論一下可能出現的各種賽果。

以下我們先只討論理論上的所有可能,不談概率(畢竟沒法判斷概率),請大家盡量保持冷靜客觀的看待。

  • 李世石5:0 AlphaGo

這大概說明AlphaGo在最近六個月內對高手棋譜的學習以及自對弈的學習過程中,沒有取得突破性的大幅度進步。

而李世石發揮正常,故在讓先到讓兩子的水平差距下,李世石將AlphaGo橫掃。

  • 李世石4:1 AlphaGo

這種情況和第一種情況的差距其實極大,因為AlphaGo能否贏一盤是一個重要的標誌。

但這也有兩種可能,一種是AlphaGo取得了不小的進步,已經有了接近一流職業棋手的水平,故而硬碰硬的從李世石手中搶下了一盤勝利。

另一種可能是李世石在某一盤棋中出現了不可思議的失誤,或者在連勝幾盤後為了挑戰自我或是試探AlphaGo的水平,採取了開局變相讓子之類的冒險下法,而遭遇一敗。

後一種情況下,說明AlphaGo或者進步不大,或者有較小幅度的進步,但未能接近一流職業棋手的水平。

  • 李世石3:2/2:3 AlphaGo

不論棋局過程如何,一旦出現了這等比分,基本就說明AlphaGo在六個月內取得了大幅度的進步,已經具有了和李世石這等頂尖棋手爭勝的實力。

對人和人之間的爭棋來說,3:2和2:3決定了勝負方,區別極大。但對此次的人機爭棋來說,兩者其實沒太大區別。

如果出現了這種情況,那麼任何人類棋手,哪怕是現在較之李世石更強的柯潔,在面對AlphaGo時也難言必勝。

  • 李世石1:4/0:5 AlphaGo

如果李世石的發揮基本正常,沒有受到極不正常突發事件的影響,那麼這種比分說明AlphaGo已經達到或者超越了人類頂尖水平。

老實說,這種水平可能已經距離「圍棋上帝」不遠了。


-

對於李世石,很多媒體都將之宣傳為「世界第一人」,但準確的描述應該是「曾經的世界第一人」。

(正當答主完成本答時,柯潔已在農心杯最後一局中戰勝李世石,並將數月以來兩人的交手戰績改寫為8:2,一個放在舊時代十番棋里已將對手降級的比分)


針對李世石二十年職業生涯中,所有世界比賽的成績,以及與其他所有頂尖棋手的對比,我在一年前寫過如下回答:如何評價李世石? - 高飛龍的回答


因為是一年前的回答,故而不包括最近一個賽季的數據。

但考慮到李世石最近一年來的水平、狀態、成績與棋壇地位與一年前相比,沒有發生重大改變,故而以上文章的結論仍然適用於現在。


-

依據答主現在之見聞,圍棋界與人工智慧界對比賽結果的預判有著極大的分歧。

答主個人淺見,這分歧的存在本身原屬尋常,也算不上什麼激烈的對抗。

但是,一些朋友在堅持自己判斷的情況下,還對與自己相反的意見加以嘲諷和鄙斥,就顯得心胸略有不寬了,答主私以為這值得我們引以為鑒。


圍棋界中,大家的判斷方差不大,沒聽說有人認為AlphaGo能夠取勝甚至橫掃李世石。

大家判斷的分歧主要在於AlphaGo是否能夠取得一勝。

正如李世石所言,AlphaGo贏和不贏是重大的分水嶺,其只要贏下第一盤,可能就意味著人工智慧在圍棋盤上超越人類的時刻不遠了。


說一個八卦,圍棋界內私下開盤,基本為李世石讓4.5局開盤,同時設定李世石低賠率和AlphaGo高賠率。

哪怕在這種情況下,據答主所知,大部分人仍然押李世石獲勝,也就是說很多人認為AlphaGo贏哪怕一盤的概率連一半都不到。

相對於此,答主個人的主觀態度較為激進,認為AlphaGo贏得一盤的概率能夠達到甚至超過五成。


要說人工智慧界的聲音,答主所聞則要混亂一些。

也有小部分人認為李世石將輕鬆獲勝,但筆者聽到的大部分聲音都支持AlphaGo獲勝,甚至還有一些聲音認為前文所言的最後一種可能會出現,也即李世石一勝難求。


來自這兩個領域之外的聲音,答主所聞則完全混亂,判斷兩方獲勝的人數可能不相上下。


-

對此,答主謹談一些個人主觀看法。


我們對賽果的判斷,當成笑談即可,沒必要上綱上線。

大家鬧著玩玩能夠增進友誼,爭得臉紅脖子粗則大可不必。

畢竟三日後即將開賽,我們靜候事實就是了。


更何況,無論比賽本身被賦予的「符號」意義有多強,也只是一場比賽而已。

不論哪方獲勝,比分如何,更重要的都是我們未來的發展。

無論是人工智慧的發展,還是圍棋的發展。


有些人工智慧領域的朋友嘲諷那些堅信李世石會獲勝的朋友,認為他們不懂深度學習,分析棋譜也走入了歧路。

這話有道理。


還有一些人工智慧專家認為這次AlphaGo沒有用到很多圍棋知識,而一定程度上接近通用機,並且理論上沒有瓶頸或上限。

這話一定程度上可能也沒錯。


可是另一方面,這麼說的朋友可能也不太懂圍棋。

深度學習神經網路加蒙特卡洛演算法,本身從程序角度來說可能沒有瓶頸,但圍棋學習的規律本身是有瓶頸的。


圍棋的規則簡單純粹,雖為人類所定卻渾然天成。

規則已定之後,圍棋盤上的規律就是客觀存在的,不依人類的主觀看法而轉移。


圍棋的發展史,其實就是一部人類不斷探索圍棋本身規律的歷史。

人類圍棋水平的進步,其實就是體現了人對圍棋本身規律的掌握程度,而並不是什麼「藝術創造」。


而規律盤旋向上,到一定程度自然出現難點和瓶頸。

雖然對人和機器來說,彼此間可能遇到的難點和瓶頸不一定完全相同。


-

這也引發了進一步的問題,AlphaGo所代表的人工智慧圍棋程序的意義。

答主私以為,容易想到的意義有兩層。


一者,為通用機的意義。

AlphaGo雖然不是純粹的通用機,但和二十年前戰勝人類的堪稱傻大笨粗的國際象棋程序相比,簡直不可同日而語。

通用機對其他諸如醫療、社會安全以及自動駕駛等各種大小領域的意義,已經有很多專家進行了闡述,答主非此專業,不敢贅言。


二者,為圍棋工具的意義。

一旦AlphaGo,或者其他的類似程序在將來超越人類,就意味著那個特定程序對於圍棋客觀規律的探索可能已經走在了人類的前面。

當然,機器本身可以發現和遵循規律,總結提煉的工作卻須人類來做。

這樣,特定的超級圍棋程序就可能成為人類探索圍棋規律的強大工具,而這對圍棋發展的意義不言自明。


這第二點,近來少有聞及。

這意義雖然比不上第一點的意義那麼影響廣泛、深遠,不那麼現實和偉大,但也很有價值。

答主很希望大家清楚這一點,無論你來自圍棋界,還是人工智慧界,或是其他旁觀者。


-

不多談通用意義,將討論範疇縮回圍棋領域。


拋開這次人機大戰的賽果討論而從長遠來看,人工智慧圍棋程序的發展前景無非兩種可能:

1. 超越人類,不管是這次就超越還是將來超越。

2. 短期內遇到瓶頸而未能超越,並且長遠的超越時間點因遙遠而未知。


從現在的形勢來看,第一種可能的概率也許較大,但第二種可能性在理論上也一樣存在。

如果第一種可能在短期內發生,答主認為其不會對圍棋及圍棋界的發展造成毀滅性的影響。

甚至,人工智慧在圍棋盤上超越人類,對圍棋發展的影響很可能是正面居多,而負面較少。


答主認為,這取決於我們對待此事的態度,以及將來處理問題的方式,對此答主先不做過多展開。

正如有些頂尖棋手所言,也許我們應該重新思考「圍棋是什麼」。

同時我們也需要認真思考,圍棋的未來發展應該如何,我們對待圍棋的態度應該如何,我們又應該如何在人力所能及的範圍內對發展進行導向。


-

我們正在見證歷史,但歷史不是一個個節點,而是連綿不絕的。

歷史也不是完全自動向前移動的,而是要由我們推動和導向的。


我們不是觀眾,而是主人公。

-

註:本答首發於答主在雷鋒網的個人專欄,轉載須經授權。


「國際象棋電腦程序想要在人類大師級(Master)選手中贏得一場比賽的唯一可能,是等到這位大師喝得爛醉、同時在下著50盤棋、並且犯下一個他一年才可能犯一次的錯誤時。」

上面這段話是1976年一位高級國際象棋大師(Senior Master)對當時的國際象棋程序所作出的評價。(這種說法是不是聽起來很耳熟?20年前,人們差不多也是這麼評價圍棋電腦程序的。)

但在接下來的20年中,隨著電腦演算法和硬體的不斷升級,電腦程序在與人類選手的比賽中戰績越來越好,國際象棋大師們對電腦程序的評價也在一次次改變:

「電腦永遠也不可能擊敗特級大師(Grand Master)。」

「電腦永遠也不可能擊敗實力強勁的特級大師。」

「也許電腦可以擊敗實力強勁的特級大師,但它永遠也無法擊敗國際象棋世界冠軍卡斯帕羅夫。」

1996年2月,世界冠軍卡斯帕羅夫作為人類棋手的最後一道防線在美國費城迎戰IBM的「深藍」電腦,雙方一共進行了六局的較量。在比賽的第一天,深藍在第一局中擊敗了卡斯帕羅夫,這也是電腦第一次在標準比賽規則下戰勝世界冠軍。

在第一局比賽結束的當晚,卡斯帕羅夫和他的助手在費城的街道上一直散步到深夜。期間,心煩意亂的卡斯帕羅夫曾經問他的助手「如果那玩意兒是不可戰勝的,那怎麼辦?」

不過,在次日進行的第二局比賽中,卡斯帕羅夫扳回了一局。在比賽結束後的採訪中,他對深藍做出了很高的評價:「在某些局面中,它(深藍)看得非常深,就像上帝在下棋。」

在隨後的四局比賽中,卡斯帕羅夫兩勝兩平,最終以4:2的總比分擊敗了深藍,捍衛了人類象棋大師的尊嚴。雖然深藍失敗了,但4:2的比分讓深藍的製造者們心裡很清楚,用電腦程序戰勝世界排名第一的人類棋手將只是一個時間問題了。

要想明白在這20年內人們是如何將國際象棋程序的水平提高到足以跟世界冠軍較量的,我們得先來看一下電腦程序下棋的原理。

電腦下棋的基本原理其實一點都不複雜,在這裡我們用簡單的井字棋(Tic-Tac-Toe)來舉例說明:

井字棋是一種非常簡單的二人棋類遊戲。棋盤上一共有九個格子,對戰的雙方依次在格子中畫下圓圈或者叉叉。當一方的三個棋子以橫、豎或對角的方式連成一條線時即為勝利。

想要讓電腦下井字棋,最簡單的方法就是讓它對所有可能的走法逐個推演一遍。比如說對於井字棋來說,第一步一共有三種走法,分別是下在角落上、邊上和棋盤中間。對於這三種走法中的每一種,對手又會各有數種應對走法,從而形成更多數量的局面。電腦所要做的就是一步步計算下去,把每一種局面都推演一遍:

上面這張圖片中顯示了電腦推演過程的前兩步。其中叉叉選手一共有三種開局,分別顯示在圖片的第二行中。圖片的第三行中顯示的是圈圈選手的應對走法。對於叉叉畫在在中間的開局,圈圈選手一共有兩種應對方法。對於另外兩種開局,圈圈選手各有五種對應的走法。

這種推演每多推演一步,我們得到的不同局面就會越來越多。上面圖片中只推演了兩步,或者說兩「層」(Ply)。由於井字棋最多也只能下上9步,並且每步的變化都十分有限。從第一步下到最後一步,井字棋一共只有26830種不同的棋局。電腦可以很容易地將每一種情況都推演到底並記錄下輸贏結果,下面的圖片是一個簡化的示意圖:

在上面的圖片里,最後一行中藍點代表的是選手一獲勝的結局,紅點代表的是選手二獲勝的結果。對於可以直接「看穿」每一步棋的最終結果的電腦來說,在和人類下棋時只要盡量選擇自己顏色獲勝的分支去下就可以了。如果雙方都按照最優方案去下,將永遠是和棋的結果。

讓電腦下國際象棋的基本思路其實和下井字棋是一樣的。但其中一個重要的區別是國際象棋的變化要比井字棋多得多。在國際象棋的中局階段,平均每一步都有30-40種不同的選擇,這意味著電腦往下推演一個回合(雙方各走一步)就要計算一千種可能的情況,並且每多推演一個回合計算量就會增加一千倍。推演兩個回合就要計算一百萬種情況,四個回合就是一萬億種,八個回合就是一億億億種……

由於計算量隨著推演回合數的增多呈指數式的增長,電腦是無法像面對井字棋那樣直接計算到最後一步的。人們只好做出一定程度的妥協,讓電腦在推演到一定數量的回合數就停止計算。由於無法直接推演到分出勝負,所以人們又在電腦程序中增加了評分系統,好讓電腦從千千萬萬個推演結果中選出最優的一個。例如人們可以在評分系統中設定皇后=9分、車=5分、象=5分、兵=1分等等,然後再根據棋子的不同位置對得分進行修正。電腦程序會按照這個評分系統對推演出的每一個局面進行評分。

接下來要做的事情顯然是根據推演結果來選擇下一步要走的棋了。假設電腦剛剛往下推演了兩個回合,一共產生了一百萬個可能的局面,並對它們一一進行了評分。我們現在是不是應該直接找出評分最高的那個局面,然後向上倒推出我們下一步應該要走的棋呢?

當然不是。

別忘了,在這兩個回合一共四步棋中,只有兩步是由電腦程序這一方來走的,還有兩步是由對手來走的。對手走出的這兩步棋一定是會儘力讓電腦一方的評分降低的,所以電腦計算出的最優局面很可能只是存在於理論上而已,對手才不會乖乖地配合你走出這樣一個局面。

在計算出N個回合後的所有局面後,我們需要用到一個特殊的演算法來確定下一步要走的棋。下面的圖片中是一個非常清晰的簡化示例:

在上面的例子中,電腦一共進行了兩個回合共四步棋的推演,得到了9個可能的局面,也就是第4行中的9個圓圈。圓圈中的數字是電腦對於這個局面的評分,正無窮大為電腦獲勝,負無窮大為對手獲勝。

在得到第4行的九個推演結果並對它們進行評分後,我們需要根據這個評分對第3行的局面評分(圖片中紅色箭頭)。在這個過程中,我們需要把第3行中每個方框的評分值取為它下面所有結局評分中的最小值。這很容易理解,因為從第三行局面變為第四行局面的這一步是由對手來走的。對手當然會選擇讓我們的分值最小化的走法。所以第3行最左邊的方框被賦予了10的評分,因為對手不可能在這個局面下配合你走出下一步讓你取勝的棋,它下面的那個正無窮大局面也是根本不可能發生。

在對第3行完成評分之後,我們接下來要根據第3行的評分對2行進行評分。請注意從第2行局面變為第3行局面的這一步是由我方來走的,所以第2行中的每個圓圈的評分值取為它下面所有評分中的最大值。按照這種方法依次類推,我們可以得到對第1行兩種走法的評分,分別是-10分和-7分。這兩個評分的意義是,如果我們選擇左邊的走法,四步之後得到的最好結果將是-10分,如果選擇右邊的,四步之後得到的最好結果將是-7分。根據這個推演結果,我們當然選擇右邊的走法(圖中藍色箭頭)。

由於這個演算法對於每一行的評分輪流進行最小和最大取值,所以被叫做Minimax演算法(Minimax Algorithm)。

有了搜索系統評分系統這兩個最核心的模塊後,電腦就可以開始下象棋了。電腦用兩個步驟來決定自己的下一步棋:

  • 首先,電腦按照設定好的搜索深度向下搜索出所有可能的走法,並得到這些走法所形成的所有局面(Position)。
  • 接下來,評分系統對按照規則對這些局面逐一進行評分,然後按照上面講的Minimax演算法將評分一層層向上返回。當評分返回到第一層時(也就是電腦要走的下一步棋時),評分最高的走法被電腦選走作為下一步棋。

雖然可以下棋了,但這時的電腦搜索效率很低,完全無望戰勝人類的大師級選手。

為了讓電腦在相同的時間內達到更大的搜索深度,人們又想出很多方法來改進象棋程序的搜索系統。例如用剪枝演算法(alpha-beta pruning)來切除那些顯然不是最優解的路徑以節省計算資源,或者把一些搜索結果儲存起來(transpostion table)供以後調用……等等等等。

除了改進演算法以外,另一個更加粗暴的方法就是直接提高計算機的運算速度。同樣的一個象棋程序在普通電腦上運行時可能只相當於人類Class C的水平,但放到超級計算機上運行時立刻會上升到人類Class A的水平(Class A選手對Class C選手有90%以上的勝率)。這是因為超級計算機可以使得象棋程序在同樣的時間內完成更大的搜索深度,即「看到」更多回合後的情況。

電腦象棋程序以上面的兩種方式發展了20年後,實力已經越來越接近人類頂尖棋手的水平。等到開發深藍的時候,IBM團隊中技術人員的象棋水平已經根本無法跟上深藍的水平了。於是IBM又特意雇了一位國際象棋特級大師Joel Benjamin,讓他來與深藍進行對戰練習,並對深藍的參數進行修正。

在IBM團隊研製深藍之前,其實電腦已經在一些方面顯示出了超越人類的勢頭。一個叫做Ken Tompson的人在80年代利用計算機對國際象棋的殘局進行了研究。對於雙方棋子總數少於5個的殘局,由於變化相對較少,Ken乾脆用計算機對這些殘局進行了暴力破解(即把雙方所有可能的走法窮盡一遍)。

在得到結果後,他驚訝地發現,對於一些人類長期以來認為是和棋的殘局,計算機竟然找到了需要走50步以上的獲勝方法。在這些殘局中取勝的步驟中包括一些看起來完全沒有任何意義的走法,這已經徹底超越了人類在國際象棋上的思考能力,更不要提後來計算機又找到了一些需要走500步以上才能取勝的殘局。

2005年,人們用計算機暴力破解了雙方棋子總數不超過6個的所有殘局,生成的數據大小有1200G。2012年,人們又暴力破解了雙方棋子總數不超過7個的所有殘局,生成的數據大小為140000G。

用Ken的話來說,這意味著現在當人類和計算機對弈到雙方棋子總數不超過7個的時候,人類等於是和上帝在下棋。

在科技人員和象棋特級大師的共同努力下,1996年的深藍雖然輸給了卡斯帕羅夫,但已經具有人類頂尖棋手的實力。僅僅一年後,經過升級後的深藍就又向卡斯帕羅夫發出了第二次挑戰。升級後的深藍可以評估出6個回合內的所有走法,對於部分重要的路徑則可以計算到20個回合以後。

在雙方1997年的第二次交鋒中,深藍以3.5:2.5的比分戰勝了人類的世界冠軍卡斯帕羅夫,創造了歷史。

上面這張圖片是卡斯帕羅夫在1997年對陣深藍的最後一場比賽時的情景。

電腦象棋程序第一次戰勝人類世界冠軍在1997年的中國也是一個大新聞,各大中文媒體都進行了報道,印象中答主就是那個時候才第一次聽說IBM這家公司。但奇怪的是,在當時很多中文媒體的報道中,講完這條新聞後都會話鋒一轉強調說雖然電腦在國際象棋上戰勝了人類,但下圍棋是絕對下不贏人類的。文章的最後通常會附上一些論述得意洋洋地證明中國人發明圍棋比國際象棋要複雜得多。答主當時正在讀中學,思想有一點中二,對當時的報道非常失望,覺得為什麼沒有一篇報道鼓勵中國人搶在西方人之前先攻克這個難題,為什麼這些人只盯著幾千年前的歷史而不想著去創造新的歷史。

當然,讓計算機下圍棋確實要比下國際象棋困難得多。前面講過的國際象棋中兩個最核心的模塊「搜索系統」和「評分系統」在面對圍棋時都會遇到很大的挑戰。

  • 搜索系統:國際象棋只有8X8=64個格子,而圍棋有19X19=361個點;國際象棋每回合大約有30-40種走法,而圍棋有200-300種;國際象棋一局的長度大約是40個回合,而圍棋可以長達150個回合。這些都會導致需要進行的計算量指數級的增長。一個常見的比喻是「圍棋中可能的棋局數比可見宇宙中的原子數還多。」如果單純採用暴力計算的方法,別說1997年的電腦,即使用今天的超級計算機也是毫無希望的。
  • 評分系統:國際象棋的評分系統很簡單,每個棋子都有一個分值,越重要的棋子分值越高,重要的棋子越多分值越高。電腦可以很容易地按照簡單的規則對某個局面進行評分。而在圍棋中,每個棋子的價值都是相等的,但棋盤上的棋子數目多少又與局勢沒有必然的聯繫。人類可以靠經驗、靠感覺,但電腦就很難對局勢的優劣進行判斷。如果無法對局面進行可靠的評分,上面講過的演算法都將不再成立。

這些困難當然每個人都知道,只不過一些人看到這些困難就直接放棄了,而另外一些人會努力找到各種方法來克服這些困難。

讓李世石和Alphago之間的圍棋人機大戰成為現實的,正是這群「另外一些人」。

鑒於應用在象棋程序上的演算法無法被直接使用在圍棋程序上,開發圍棋程序的人又想出了一些新的辦法,例如蒙特卡洛樹搜索(Monte Carlo Tree Search)。大家不要被這個逼格滿滿的名詞嚇到,蒙特卡洛是世界三大賭城之一,所以「蒙特卡洛」這個詞在這裡就是隨機的意思。

在蒙特卡洛方法中,圍棋程序在下棋時會首先判斷出下一步可能的走法,假設有A和B兩種。接下來,對於A和B兩種走法,程序會分別按照隨機的走法繼續把這盤棋一直下到底,然後記錄輸贏結果。

假設程序在A之後按照隨機的走法模擬下完了100局棋,贏了50盤。然後程序又在B之後按照隨機的走法模擬下完了100局棋,贏了60盤。根據這個結果程序會得出結論:雖然都是隨機亂走,在走了B之後亂走的勝率比走了A之後亂走的勝率要高那麼一點點,那麼想必B這步棋是比A要好那麼一點點的。

這種演算法乍一看有點詭異,但它很好地避開了前面提到的電腦程序下圍棋中最大的兩個困難。第一,這種方法不需要對某一層的可能下法進行窮盡計算,而只是隨機選取一些路徑進行模擬,因此大大減少了計算量。第二,這種演算法在模擬中會直接將整盤棋下到最後分出勝負,然後再根據勝率來判斷一步棋的優劣,因此也不需要設計任何評分系統對未結束的局面進行評分。

雖然這種演算法可以繞開圍棋程序中一些難以克服的困難,但一開始人們用這種演算法編製的圍棋程序水平也很爛,只能可憐兮兮地在9X9的棋盤上下棋。但隨著技術人員的耐心改進,圍棋程序的水平也一直在緩慢地提高。

2010年,圍棋程序MogoTW與職業五段選手Catalin Taranu在全尺寸棋盤上對陣,在受讓7子的情況下依然落敗。

2012年和2013年,圍棋程序Zen和Crazy Stone分別在受讓4子的情況下戰勝了職業九段選手。

2015年10月,谷歌的Alphago又把圍棋程序提高到了一個新的高度,在沒有讓子的情況下以5:0的比分戰勝了職業二段選手。

從網上幾篇非常有限的報道來看(Nature的那篇文章我看不到,看到估計也看不懂),谷歌的Alphago的大概工作原理是這樣的(下面的內容來自於這篇報道How AlphaGo Works):

在Alphago中有兩個模塊,第一個是「落子選擇器」。谷歌的在落子選擇器中輸入了上百萬人類對弈的棋譜供它學習。在完成學習後,當你往這個落子選擇器中輸入一個新的局面時,它可以預測人類棋手在這種情況下會在哪個位置落子。

下面這張圖片顯示的就是這個模塊對於下一步落子位置的預測,以概率表示:

在這裡請大家注意這個落子選擇器除了「猜測」下一步棋的位置之外,並不會做其他的事情。但是如果有兩個版本的落子選擇器來交替猜測黑白方的下一步棋時,它們之間就可以進行對戰了,然後再根據的勝負結果修正自己的預測。這也就是很多報道里講到的Alphago可以通過與自己對弈不斷提高水平。

Alphago中的另一個模塊是「棋局評估器」。根據Alphago自己和自己對弈的無數棋局的結果,谷歌的工程師可以訓練「棋局評估器」對一個局面的黑白勝面進行評估。換句話說,通過學習海量的棋局,谷歌開發出了一個相對靠譜的圍棋的評分系統。

有了上面的兩個模塊,Alphago在對戰中通過一下步驟來決定下一步棋的位置:

  • 首先通過落子選擇器來產生下一步棋的備選走法(不一定只有一個位置);
  • 在得到下一步棋的可能走法後,程序會利用前面介紹過的蒙特卡洛演算法確定其中的最優走法;
  • 利用棋局評估器對於這些可能的走法產生另外一個完全獨立的評估,並得到相應的最優走法;
  • 在得到上面這兩個相互獨立的結果後,利用一定的權重將它們相組合,產生最終的最優走法。

在谷歌發布的視頻中,谷歌的工程師在接收採訪時表示對三月份的比賽很有信心。他表示李世石是一名很強大的對手,但是人類與電腦相比也有其自身的弱點(還記得前面講過的電腦發現的需要走500步以上才能取勝的國際象棋殘局嗎?)。在視頻的最後,這位研發人員說:「李世石每年可以下多少盤棋作為練習?也許一千盤?Alphago可以下一百萬盤……每天。」

==========賽後更新==========

3月9日,第一場比賽結束,Alphago 1:0 領先。

各方反應:

Deepmind的CEO Demis Hassabis發表了推文:「Alphago贏了!!!我們登月成功了。為我們的團隊感到自豪!當然李世石也棒棒噠~~」

李世石在賽後接受採訪時說:「我很吃驚。我從來沒有想過我會輸……即使在落後的時候。我沒想到它能下出這麼精彩的棋……我聽說Demis Hassabis將我視作值得尊敬的棋手。我同樣也非常尊重製作出這個程序的人們。」

最後,李世石表示他十分期待接下來的比賽。

3月10日,第二場比賽結束,Alphago 2:0 領先。

比賽的懸念由賽前的「Alphago是否能至少贏下一局」迅速變成了「李世石是否能至少贏下一局」。

3月12日,第三場比賽結束,Alphago 3:0 領先。


在2016年前,人們說:「圍棋是一種極其複雜的遊戲,它的變化比宇宙中的原子數還多,所以電腦是不可能贏過人類的。」


在2016年之後,人們可能說:「圍棋是一種極其複雜的遊戲,它的變化比宇宙中的原子數還多,所以人類是不可能贏過電腦的。」


3月13日,第四場比賽結束,李世石奮力扳回一局,Alphago 3:1 領先。

今天李世石九段成功逆襲,戰勝了Alphago!今天的比賽可謂是這場人機大戰之中的莫斯科保衛戰,打破了Alphago不可戰勝的神話。

==========分割線==========

今天(3月9日)在微博上看到不少人說Alphago贏了李世石之後就會繼續挑戰擊敗了李世石的中國棋手柯潔。我認為這幾乎肯定不會發生。如果Alphago真的在後面的比賽中擊敗了李世石,谷歌很有可能會對繼續開發任何圍棋程序徹底失去興趣,因為他們已經在全世界的鎂光燈下證明了自己的程序可以擊敗人類頂尖高手,也證明了自己的技術是全世界最牛逼的。

卡斯帕羅夫1997年輸給深藍之後,曾經提出過要複賽,但IBM根本就沒有興趣。

柯潔可能永遠都沒有機會了。


根據David Silver剛剛在UCL最新演講,三月對戰版本的alphago棋力已經到了4500左右,遠超人類職業九段!

下面是與lee sedol對戰的每局alphago的局勢評估,alphago有兩個勝率的評估,上面淺色那條是alpha更相信的勝率:


立個FLAG,能戰勝。
雖然AlphaGO和樊麾比賽的時候,棋力是弱職業選手水平,但已經證明這條路走對了(更重要的是,終於有大公司投錢搞圍棋AI了),接下來提高水平只是時間問題。

打個比方,好比汽車剛發明的時候,時速大約是30公里(可能不精確,不影響論證),百米12秒的水平。假設當時人類的頂尖水平是百米10秒多。12秒和10秒,在百米賽跑界,比圍棋界李世石和樊麾的水平差距還大。但是汽車的原理,已經決定了它將來必然能通過逐步改良,提速到200碼甚至更高。從百米12秒提高到百米10秒,對人類來說已經是天塹,但對汽車來說從30碼提升到40碼並沒有什麼不可克服的障礙,並且會很快繼續提升到50碼、60碼……汽車提速的瓶頸和人類並不一樣。

雖然從去年10月到今年3月,AlphaGO是否已經進步了足夠多能夠戰勝李世石,我也沒有100%的把握,但這不重要。是今年3月超過,還是再過幾個月超過,長期來看無關緊要,重要的是在不遠的將來,AI和人類圍棋水平的差距,必將達到賽跑水平的差距。所以我這次先大膽投給AlphaGO了。

附一個我2014年立的FLAG,當時大家對圍棋AI的前景還很悲觀:
圍棋作為唯一一種電腦下不贏人的大眾棋類,是何原因導致?以及量子計算機出現後有無可能? - 馬駿的回答


我賭AlphaGo贏

Google是市值第一或第二的大公司,這樣在全世界面前大張旗鼓地約戰,肯定是經過周密的評估,如果輸得很慘,公司的威望和魅力就大打折扣。肯定用其他高段職業棋手測試過了,贏不了會繼續改進,直到覺得有贏面才會公開約戰,要不然不成莽夫了。樊麾就是測試用戶之一,肯定不止這一個測試用戶。

圍棋是個規則、範圍、目的很明確的一個求解問題,這方面根本就不是人的智力長處。計算機的計算、記憶以及其他棋類等能力超過人,是很平常的事,圍棋也沒看出有質的區別。AI下圍棋擊敗人類是定數,只是時間點的問題。頂尖高手總是能贏,就說明圍棋有規律,就可以形成演算法和資料庫,只要規律被認識,人腦在強大計算能力的計算機面前就不堪一擊。

既然AI贏人類只是時間的問題,至於這個時間是多長?有人說兩年內都沒戲,有人說20年,這都沒有依據,都不了解AlphaGa的具體情況。我猜會很快,理由如下:
二段與九段職業棋手間的差距從人的視角來看很大,但與機器相比,這種差異是微乎其微的。比如百米賽跑11秒是渣,9.8秒是冠軍,但機器的能力能跑到12秒,很快就能跑到6秒,跨度是很大的。Alphago不是人下圍棋的方法下圍棋和增進棋藝,而是另外一套方法,這套方法的瓶頸和增長速度與人類有原理性區別。去年贏樊麾離3月有5個月的時間,演算法可以做很多改進,而且在正式比賽時會調整
參數,使用強大的集群去加強100倍以上的計算能力。AlphaGo的棋力正好落在樊麾和李世石這個狹小的區間的可能性是很小的。

----------------------------------------------------
3月9日更新:
第一局已贏。圍棋專業人士覺得李世石前面有一定優勢,後面沒下好,AlphaGo也有失誤,覺得輸得遺憾。
不過,AlphaGo既然不是人,對它的判斷未必準確,人類下圍棋有定式,思維定勢,AlphaGo的失誤未必是失誤,它算的是概率。接下來更看好AlphaGo贏。

其實這件事也沒什麼,影響主要在於大家的心裡,對人類智能是靈性、靈感、神秘、獨一無二的想法會有動搖吧。人是自然的產物,智能也只是自然法則的結果而已,任何遵循規律的事物都能擁有智能,人和機器沒有不可逾越的區別,人也不可能是智能的盡頭。


這次比賽不管輸贏,google都是穩賺不賠的,輸是大家的預期結果,因此輸了不會對google聲譽有什麼影響,大家只會覺得ai在圍棋方面還欠火候 ,而且google已經博得了足夠多的眼球 ,證明了自己在ai上的頂尖實力。如果贏了,那就是一個有歷史意義的大新聞了。
可以說google現在的宣傳策略非常成功。


讀了論文,其中有一點值得注意。神經網路的訓練過程分為三段:
一、以真人對局訓練落子函數(Supervised learning, SL)
二、左右互搏訓練落子函數(Reinforcement learning, RL)
三、以RL落子函數進行左右互搏(自學習),以其結果訓練局面評估函數
而AlphaGo對弈的過程是這樣的:
一、根據SL落子函數選擇勝率最大的點,重複該過程一定次數;
二、達到迭代最大限制後,用兩種辦法評估這次迭代結果:

    1. 局面評估函數;
    2. 用一個簡化版落子函數(比上述落子函數計算時間短1000倍)繼續迭代,直到終局,返回結果。

三、兩種結果的平均值向上回饋,然後用更新的數據結合第一步SL落子函數的結果,重複上述步驟;
四、當某一種局面出現次數很多的時候,基於該局面再次展開迭代,以得到更精確的估計。
在這我們看到,在實際下棋過程中AlphaGo使用的落子函數並不是自學習得到的,而是僅通過真人對局得到的SL版。團隊解釋說可能是因為人會選擇較好的幾個落子點,而自學習後的神經網路只會選擇最好的一個點。
可見,自學習並不是萬能的,仍然有局限。


首先關於Alphago會不會打結這件事已經水落石出了。這一盤李世石可以說是輸的一敗塗地。
像我之前回答所說,AlphaGo太強了。第三盤看下來完全有能力讓李世石2子,而且至今我們沒有發現他的任何弱點。
如果第一盤李世石輸棋是因為他大意,那第二第三盤看下來,可以看出李世石基本從頭被動到尾,沒有大失誤卻走著走著中後盤就落後十幾二十目。特別是今天這一盤,首先是77首靠右下大飛角令人大跌眼鏡,然後是125首的打入之後的攪活,有種窮途末路死馬當活馬醫的感覺了。這麼多年來,還沒看過任何一名職業段位的的棋手能在一盤棋中如此被動而且毫無機會,更不要說是十三屆世界冠軍得主李世石了,反擊的幾首棋只讓人感覺到一種絕望時的無力掙扎。
整盤棋看下來,更像是一名職業棋手在跟業餘棋手下指導棋。可見水平差的不是一兩個檔次,我依然覺得AlphaGo可以讓李世石兩三子。
還是很想看一看AlphaGo的自我對弈是怎麼樣的ˊ_&>ˋ。

還要補充一句,小李好樣的!無論最後結果如何,你永遠都是那個十三冠天才少年!為人類尊嚴而戰的勇士!


更新下,第一局 AlphaGo贏了


===================

更新視頻,後面有提到alphago的進步速度 ,以及其開發者的信心,個人估計,alphago vs 李世石的勝率要提升到95%了


https://www.youtube.com/watch?v=4fjmnOQuqao

規則出來了,特別期待AlphaGo 5:0 完勝李世石

AlphaGo will play Lee Sedol in a five-game challenge match to be held from Wednesday, March 9 to
Tuesday, March 15 in Seoul, South Korea. The games will be even (no handicap), with $1 million USD in
prize money for the winner. If AlphaGo wins, the prize money will be donated to UNICEF, STEM and Go
charities.

The matches will be held at the Four Seasons Hotel Seoul, starting at 1pm local time (4am GMT? day before
11pm ET, 8pm PT) on the following days:

1. Wednesday, March 9: First match

2. Thursday, March 10: Second match

3. Saturday, March 12: Third match

4. Sunday, March 13: Fourth match

5. Tuesday, March 15: Fifth match


The matches will be played under Chinese rules with a komi of 7.5 (the compensation points the player who
goes second receives at the end of the match). Each player will receive two hours per match with three lots
of 60-second byoyomi (countdown periods after they have finished their alloted time).
Each match is
expected to take around 4-5 hours.


The tournament will be livestreamed on DeepMind』s YouTube channel as well as broadcast on TV
throughout Asia through Korea』s Baduk TV, as well as in China, Japan, and elsewhere.


https://storage.googleapis.com/deepmind-data/assets/media/GDM%20Press%20Release%20Google%20DeepMind%20Challenge%20Match.pdf

https://deepmind.com/alpha-go.html

個人感覺alphago的勝率在80%以上

對於樊輝的對弈,alphaGo勝了,這個代表著一個答案: 在這個方向上,AI使可以戰勝圍棋的職業選手的。 無他,之前的所有圍棋AI都沒完成這個任務,而alphago完成了。

從10月到次年三月,有接近半年的時間,這半年的時間對於人類來說,可能只能下幾百最多幾千局棋,但是對於alphaGo來說,可以做很多事情,包括:
1、計算力上的增加,比如從現在的幾千個cpu+gpu,增加到幾萬個cpu+gpu,匹配上相應的演算法,對每步棋的計算廣度,可以增加幾百幾千甚至幾萬倍
2. 對弈,自我對弈以及和其他ai,人類以及人類已有的棋譜。半年你的時間,對弈的局數,以google擁有的計算資源,估計可以超過billion
3. 演算法上的優化,更多的參數、更多層的神經網路,以及可能加入的其他一些演算法
4。 還有很多點,不寫了

最重要的是,如果發現這個方向是可行的,那麼,其進步的速度是加速的


國內圍棋 AI 挑戰世界冠軍,並非嘩眾取寵,而是深度學習的勝利 - 深圳灣 | ShenzhenWare - 知乎專欄
來源:知乎
本文作者:楊作興 來源:深圳灣原創

編者按:人工智慧 ALPHAGO 與圍棋選手李世石的世紀之戰開賽在即,國內人工智慧異構神機也趁機向另一位圍棋冠軍柯潔宣戰。那兩者的區別是什麼?開發時間僅一個多月的異構神機是否在嘩眾取寵?本文作者楊作興親身參與了異構神機的比賽過程,對於它的實力,以及人工智慧均有獨到的看法。感興趣的朋友可以在他於深圳灣的主頁,與他交流。


3月7日,我參加了由異構智能公司,極客幫和聶衛平圍棋道場三方共同主辦的「異構智能挑戰未來」發布會。相關報道可閱讀深圳灣此前的文章。


作為 AI 領域的行業人士,我很有興趣了解吳韌博士異構神機演算法的獨到之處,以及硬體實現的獨到之處,在媒體提問時間,我搶先問吳博士這個問題,吳博士好像沒有給到我答案。


發布會結束後,大家意猶未盡,吳韌,俞斌,華學明,蔣濤等仍在發布會邊上的一個房間繼續熱聊。俞斌九段是應該是圍棋界最懂軟體的,他之前有寫過圍棋方面的軟體(蔣濤曾經買過俞斌的圍棋軟體),現在也在做關於圍棋教育方面的 APP。他一直試圖做一個高水平的對弈軟體用於圍棋教學,但效果不好。吳博士的圍棋智能軟體在 3 月 6 號贏過一個職業四段一局,俞斌對這個事情很有興趣,問吳博士演算法原理,並希望能看看吳博士的源碼。看到俞斌如此有興趣,有人建議俞斌跟吳博士的圍棋智能軟體切磋一下,找找感覺。儘管第二天俞斌要以嘉賓身份坐早上 8 點的飛機參加 ALPHAGO 跟李世石的對弈,但對於圍棋智能的強烈興趣,他欣然前往吳博士下榻的 Westin 酒店考察一下圍棋智能的實力。


第一局俞斌執白,10秒走1步,大約50步左右,圍棋智能認輸。第二局,俞斌繼續執白,讓兩子,30秒走1步,大概用了1個多小時,結果如下:

俞斌的評價是,走了一步臭棋,兩步好棋,讓兩子情況,他還佔些優勢,如果讓三子,結果還很難說。總的來說,他覺得實力還不錯,超過他的預期。我當時的感覺也比較吃驚,我一直認為圍棋智能需要用到 ALPHAGO 那樣的 170 個 GPU 加上 1200 個 CPU 那樣的計算能力,才可能跟職業選手對弈,但吳博士智能圍棋硬體就是一個蘋果筆記本。而且吳博士就兩個人花了一個月的業餘時間,寫了這個演算法和軟體,當時感覺:吳博士真厲害,人工智慧真的很棒。


作為一個人工智慧行業人士,我一直在思考這是如何做到的,ALPHAGO 是大神,吳博士是大神?聶棋聖認為圍棋最難的是棋局判斷,這就是所謂的棋感,就是頂尖九段對一個局面也可能有多個看法,計算機是不可能做到這一點的,圍棋智能能做到這點么?


之後,結合我對計算機硬體和人工智慧演算法的了解,以及俞斌九段在 3 月 7 日晚上跟圍棋智能下棋過程中的一些講解,我好像想明白了,把我的想法跟大家分享一下。


在下面闡述之前,我需要申明一下,我是晶元的專業人士,對人工智慧演算法有一點了解,但不是專業的,對圍棋連業餘都算不上。因此對於我闡述中不太對的地方,歡迎大家拍磚(微信號:yangzuoxing001)。


人工智慧搞了好幾十年了,人們一直寄予了很高的期望,但失望大於期望。直到 2005 年 HILTON 發明了神經元卷積網路(CNN):

這個網路的基本原理是對物體特徵的逐層抽象,它有三個重要的意義:

  • 1)物體特徵是通過計算抽取出來的,不是模式識別年代由專家假定的特徵。採用 CNN 抽取出來的特徵,設計者自己也不知道它應該出來什麼特徵。
  • 2)卷積神經元的參數對於每一個小窗口的參數是一樣的,這個極大的降低了特徵提取的計算量。
  • 3)提取特徵的模型參數是通過學習出來的,隨著學習樣本的增多,模型參數會越來越準確,特徵的提取也越來越準確,使用者會感覺它越來越聰明。

採用以CNN為代表的深度學習方法以後,人工智慧開始取得突破性的進展:

人工智慧在語音和圖像識別方面開始超越人:

  • 1)語音識別(錯誤率):機器(6%) &< 人 (8%)
  • 2)人臉識別(錯誤率):機器(0.23%) &< 人 (0.8%)

AlphaGo 完勝歐洲圍棋冠軍、職業二段選手樊麾,進一步顯示了深度學習在方法學上的成功。那圍棋智能是如何使用深度學習做到這一點的?他未來還會做到多好?它的軟肋在哪裡?

圍棋最難的是什麼?是棋感,聶棋聖如此說,很多下過圍棋的也這麼說。為什麼難呢?因為當前的局面說不清楚是好是壞,一個人一個感覺。一顆子下去,好還是不好,大部分情況由感覺決定。為什麼出現這種情況,大家下棋不是要計算么,為什麼不是棋手算出來的?圍棋每一個子下去有 361 個位置,凡是空的地方理論上都可以下子,如果我們能看兩步棋,那我們就需要在腦子裡邊考慮 361*361=13.0321 萬個棋局,如果考慮四步,那就是 312.7704 萬種棋局,如果 361 步都能算出來,那就是——抱歉,採用 EXCEL 算不出這麼大的數。因此圍棋很難通過計算來下棋,大家在訓練和實戰中,通過定式和感覺來下棋。這個人搞不定的事情,計算機可以搞定么?計算機的計算力能力遠大於人,但很遺憾目前的計算機也搞定不了這麼大的計算量。

但是深度學習改變了這個局面,計算機通過訓練,可以培養出來棋感。具體情況見下圖:

這裡邊有三個重要的要素:

  • 1)海量的棋局,幾十萬,幾百萬的對局,越多越好。
  • 2)CNN計算網路,可以設計成不同的層數,每一個的大小可以不同,中間還可以加入各種保證收斂的非線性層。
  • 3)網路模型參數,這個最重要,這個就是棋感。

訓練的過程是這樣的,輸入海量棋局,調整 CNN 網路結構和網路模式參數,使計算出來的局面判斷結果跟人判斷的結果一致。最後局面的結果是確定的,但從第一子到最後結局之前的局面如何判斷?初期的局面的確很難判斷,但一個基本的傾向是,凡是最後結果好的,前面走的局面都做正向判斷,哪怕有幾步明顯是臭棋。如果我們採用同一套 CNN 網路結構和同一套模型參數,讓海量棋局的計算機局面判斷和人為判斷是一致的,那從原理上來說一個計算機沒有見過的棋局它也能以極大的概率判斷正確。這樣計算機的棋感就訓練出來了。

有了這個棋感模型,計算機下棋就簡單了。在當前局面下,計算機可以採用蒙特卡洛方法隨機設定幾個落子點,根據這幾個落子點評價一下局面,選擇幾個對自己有利的落子點(根據局面判定),然後假設幾個對手的落子點,為對方做局面評估,選幾個對對方有利的下子點,如此繼續,這樣計算機就可以看到後面的多步棋。

上圖是例示了黑棋四個可能下子點,白棋根據黑棋情況的相應兩個可能落子點。

那麼採用深度學習方法後,計算機能算多少步呢?

  • Step:計算機能算的步數
  • T:落子限定時間
  • N1:第一步的可能落點
  • N2:第二步可能的落點
  • Nm:第m步的可能落點
  • CNN_time:採用CNN網路評估一個棋局需要的時間

舉例來說,如果 CNN_time = 0.5 mS, T = 30 S, 那總共可以計算 6 萬次 CNN。我們可以採用如下策略:

  • N1:50,50個局面判斷完成後,我們選擇其中20個最好的落子點
  • N2:30,根據第一步優選的20個落子點,第二部每個點嘗試30次,從30次裡邊選擇最好的10個落子點
  • N3:20, 根據第二步的10個落子點,第三步每個點嘗試20個落子點,從中優選10個落子點
  • N4:15,根據第三步的10個落子點,第四步每個點嘗試15個落子點

那總的計算次數為:50+20*30+20*10*20+20*10*10*15=34650 次 CNN。也就是說在 CNN_TIME = 0.5 S,每步限定時間為 30 S的情況下,計算機可以算出 4 步棋。

根據上面的知識,那我們現在回頭看看吳博士的圍棋智能:

  • 1)關於計算能力。吳博士採用蘋果筆記本,而 ALPHAGO 採用 170 個 GPU 和 1200 個 CPU,這兩者的計算能力可以初略認為差距是 1000 倍,那 1000 倍的計算能力對圍棋智能意味著什麼呢?如果下一步選擇都是 10 個可能的話,1000 倍的計算力就相當於 ALPHAGO 可以比吳博士的圍棋智能多算三步棋。但吳博士的程序跟 ALPHAGO 是差三步棋么?這個還不一定,因為 CNN 的計算時間除了跟計算機的性能相關外,還跟 CNN 的結構複雜程度,模型參數大大小有關。而由於 CNN 的結構和模型參數的大小,可能造成一個數量級的計算時間差異(在圍棋局面評估結果差不多的情況下)。
  • 2)關於圍棋直覺。這個主要來源於深度學習和 CNN 網路。但如果 ALPHAGO 跟吳博士的圍棋智能比較,那就是模型結構和輸入圍棋局數和質量的差異了。那我們再想,如果一個做深度學習的資深工程師,給他海量的圍棋數據,他是不是也可以很快造一個挑戰圍棋職業選手的神機?這個是可能的,但是要打敗 ALPHAGO 或者吳博士的圍棋神機,就不一定了。

到這裡,相信大家對圍棋智能應該有所認識了。圍棋智能還是沒有思維,他不是我們普通人想的那種智能,他是計算機,他會的只有計算和存儲。但他又有智能表象,他會學習,他可以準確分析棋局。

今天就是 ALPHAGO 跟李世石的世紀大戰了,我想根據上面的分析,對這個比賽預測一下:

  • 1)第一局至關重要,如果第一局李世石贏了,那後面幾局 ALPHAGO 基本沒有什麼機會。因為在短短几天智能 ALPHAGO 很難大幅度調整它的計算能力,模型結構和模型參數。ALPHAGO 應該會準備很多版本,但這些版本跟第一局用的版本應該沒有太大差別。ALPHAGO 當然知道第一局最重要,第一局使用的應該是最好的 ALPHAGO。不過這次 ALPHAGO 即便輸了也沒有關係,他很快可以繼續提高計算能力,繼續更大的海量數據訓練,它可以在一個月內提高一個量級,但李世石一個月提高不了一個量級。因此計算機打敗頂尖棋手就是這一兩年的事情。
  • 2)如果第一局李世石輸了,他通過第一局的較量,能摸到 ALPHAGO 的規律,做出調整,他能贏下後面的四局。我想有一個簡單的調整辦法。ALPHAGO 會對李世石的所有棋局做充分的學習,如果李世石不採用自己通常的走法,甚至不採用普通棋手慣常的走法,ALPHAGO 面對自己沒有學習過的東西,會比較愚蠢的,這就是圍棋智能的軟肋。我想李世石作為圍棋頂尖高手,他應該可以發現 ALPHAGO 更多的破綻。

我認為,吳韌做出的圍棋人工智慧,是深度學習的進步,他可以做到,別人也可以做到,這是方法學上的成功。

對於文章中的錯誤和不足之處,歡迎到文章原文頁留言區討論。

版權聲明:本文系深圳灣原創文章,轉載請註明來自深圳灣,並標明網站地址 http://shenzhenware.com。轉載、採訪、投稿、團隊報道聯繫公眾號:shenzhenware


Google想搞個大新聞,才贏了恆大就想要菜巴薩了。

比賽還有八天就要開始了,非常的期待,也希望能看到掛盤講解。

還是比較看好小李,畢竟高手不是短時間就能練成的,這個AI在已經完成的棋譜中沒有表現出足夠的實力,因此對小李這樣的頂尖高手估計希望不大。

之前看到不少文章說這個AI可以不斷研究棋譜,並自我訓練,可以在幾個月內快速提高自己,但是這招在象棋這種計算能力可以窮盡所有變化的棋類中是有很大的作用的,對圍棋不行,因為目前的計算能力,無法窮盡所有的變化,更加不要說在有時間限制的比賽中了。

也就是說,就算十個業餘棋手一起研究下棋,也就可能贏一些很弱的職業棋手,但是讓他們對付職業高手,還是輸。要贏小李這樣的頂尖高手,一百個業餘棋手一起上也沒用。
就像讓中超,中甲所有球隊的球員都聚到一起,挑出來一個隊出來,還是不可能贏巴薩一樣。

在沒有辦法窮盡所有變化之前,暴力的計算不能解決問題。圍棋的實力不是簡單的計算能力堆砌可以解決的。這就是為什麼很多職業棋手努力一輩子也無法達到一些天才棋手很年輕就能達到的高度。這些天才棋手顯然找到了一些無法準確描述,但是可以極大簡化計算的演算法來幫助自己下棋,專業的稱呼就是棋感。有些天才棋手的棋感就是比普通棋手高很多。

目前好像還沒有聽說哪些頂尖棋手參與了這個項目,我覺得靠一幫業餘水平的圍棋愛好者,想短時間解決圍棋AI似乎不太靠譜,Google應該學習深藍的策略,請一些更高水平的棋手幫忙研究演算法才對。

----------------------------------------------------------------
圍棋TV-大賽直播,領先精品原創圍棋內容生產者!會有有比賽的講解,感興趣的棋友,可以通過職業棋手的講解,看看AG的實際水平怎麼樣,期待中......
像李世石這麼喜歡打劫的棋手,如果跟AG打起劫來,不知道AG會不會亂找劫材 :)

----------------------------------------------------------------
真心不是黑Google。
Google這次的廣告策略還是很成功的,突然讓大量不懂圍棋的人開始關心圍棋了,堪稱中日圍棋擂台賽和李昌鎬稱霸以後,圍棋界的最大事件!實際上不少的非棋迷對圍棋的認識還停留在聶衛平和李昌鎬時代。有了這次事件,大家至少能記住還有李世石。

Google這次對推廣圍棋有莫大的幫助。希望Google的人機大戰可以一年一次甚至半年一次,直到打敗所有世界冠軍為止,這樣可以吸引更多人學棋。 :)

----------------------------------------------------------------
2016.3.9 : 全程看了第一盤李狗大戰,看來AI的水平還是進步巨大。雖然小李在右下錯過了簡單取勝的方法,但是整盤AI表現出了很好的大局觀,在開局和官子都沒有太大失誤。反而小李在多個局部出現虧損。 總的來說小李沒有發揮的足夠好,但是AI卻表現出了很強的判斷力。

小李的主要問題:
1. 小李這盤棋下得太快了,比AI還快,平常比賽三個小時,他都要下到讀秒,這次兩個小時,他居然還剩了半個小時,有可能是不太適應跟電腦比賽,不由自主的下快了。
2. 棋的內容太平淡,沒有大的攻殺,特別是沒有一個劫爭,平平穩穩的就收官了。本來很想看看AI如何找劫材,看來只有等下盤了。

下完這一盤,可以肯定的說阿狗已經是職業高手的水平了。以後,網棋高手就不值得相信了 :)

----------------------------------------------------------------
2016.3.10 : 第二盤李狗大戰剛結束,這次小李認真多了,下到了讀秒,但是盤面差距太大,還是投子了。阿狗還是下得四平八穩,很少出現低級失誤。

小李這盤的問題似乎比上盤更大了。雖然下得認真,但是過於保守,讓黑棋在中間圍到了很大一塊空,實地差距拉開了很多。看來圍棋也進入了人不如狗的時代了!!!

最大的疑問是:小李這樣酷愛打劫的棋手,居然在兩盤大戰中沒有打過一次劫,是巧合還是其它,很有疑問!希望下一盤能夠出現劫爭。

很多專業棋手已經不看好小李了能贏了(上一盤輸了還覺得小李有希望的也反水了),看來小李凶多吉少。谷歌應該準備在中國辦一次比賽了,不過按照谷歌的玩法,估計會找古力而不是柯傑 :)

----------------------------------------------------------------
2016.3.11 : 今天休戰一天。昨天看了三個不同的大盤實時講解,主要想看看不同的職業棋手對棋局的評價。其中柯潔,古力,孔傑,周睿羊,俞斌等職業頂尖高手都在評棋。

有趣的是,越是年輕的棋手,對小李越悲觀,柯潔在官子開始不久就判斷白輸定了,只有一個打劫有機會爭取翻盤,周睿羊也很早就判斷小李不行了。古力稍晚一點,判斷小李落後了,這時候,俞斌還在希望小李能翻盤 :) 賽後,從網上看到,老聶也對小李不抱希望了。

目前最大的疑點是:
小李同學在前兩場比賽中一劫未打,相當的讓人懷疑,以至於有記者質疑小李是否簽了保密協議,不準打劫。實際上,小李是很愛打劫的,而且打的很誇張,我記憶中有兩次看他的打劫名局。

其中跟古力下過一盤四劫連環無勝負,還有一次一局七劫翻盤的比賽,可想而知他有多喜歡打劫了。但是李狗戰前兩盤多處可以引起劫爭得地方他都繞過了。

實際上,打劫是落後一方翻盤的重要武器,領先一方避免打劫正常。作為阿狗,如果兩盤都認為自己是領先的,有可能避免打劫。但是小李明顯兩盤都落後,連輸兩盤都不打劫,實在很奇怪,希望後面三盤會有打劫棋局出現。

如果阿狗贏了小李,谷歌應該請出真正的最強三人組:柯潔,朴廷桓,和井山峪太出場了。畢竟這三個人才是公認的中韓日第一人。 人家深藍20年前都知道要贏排第一的小卡,而不是過氣的大卡才有說服力,谷歌也應該有這個覺悟。

----------------------------------------------------------------
最新看到的消息:
AlphaGo開發者:不存在秘密協議 請尊重李世石
看來打劫的問題大家多慮了,可能是小李自己的選擇,但是阿狗不是一隻狗,是一群狗。它居然是聯網的

  2。這次比賽我們使用的是分散式版的AlphaGo,並不是單機版。分散式版對單機版的AlphaGo勝率大約是70%。

70%的勝率,大概是吳清源,李昌鎬這兩大巨頭對其他高手的勝率。

這個消息之前都不知道。大家一直以為阿狗是一台或者一組機器,全都搬到比賽現場,現在才知道人家是用數目不詳的大量伺服器在遠程計算的。之前的圍棋AI都是單機版的,基本上無法跟職業棋手抗衡。 現在大家應該對阿狗背後到底有多少台伺服器在幫忙感興趣了 :)

----------------------------------------------------------------
2016.3.12 : 今天看李狗大戰第三盤,小李很拼,下出了不少非常強的求戰手段,但是阿狗顯然不怕,非常穩定的把自己走厚以後,狂圍實地。這種任你狂擊,自己安然圍地的風格,真像李昌鎬。

從各處網上的講解來看,中盤開始以後,除了古力還很認真的講棋,為小李出招以外,其它的幾個地方都不看好小李了,大家講棋不多,倒是YY了不少棋盤以外的東西。

小李今天拼了,下出了好幾手讓古力都驚訝的棋。不過古力還是很強,也預測對了不少小李和阿狗的招法,不愧是小李一生的對手。

最讓人激動的是,等了4天,小李終於祭出了自己的最強手段,打入和打劫。小李打入白棋大模樣,靠打劫來破空,一旦成功,可能完全逆轉。這對一直期待著劫爭的人來說,無疑是一個非常好的消息。但是,李世石在讀秒階段,沒有下出最好的次序,打劫失敗,最後投子了。通過這盤可以看出,阿狗會打劫,而且是那種很穩的打法,它會先把自己的劫材補掉,然後開劫。果然是大李的棋風。

哎,小李悲劇了!賽前大多數職業棋手認為這一百萬是白賺的,現在才發現,谷歌花了點小錢就請了個世界冠軍當測試人員!

再問柯潔對阿狗有幾成把握的時候,他開始呵呵了。古力也明確的說人類需要組團上了。 這三盤棋,對其它的頂尖高手也是巨大的打擊啊 !

後面兩盤無論輸贏,都沒有太多可以期待的東西了,只能期待下次有更強的棋手來衝擊阿狗了,因為阿狗後面用到了遠程伺服器,人類似乎也應該一次上三個棋手才比較合理,單挑實在勝算不高 :)

----------------------------------------------------------------
2016.3.13 : 小李今天只是為了榮譽而戰了,我想他的心裡一定不願意接受被零封的結果。觀戰的棋手都希望他能放開一搏,不用考慮勝負問題了。

中盤的時候,力戰派古力一直希望小李斷開黑棋作戰,覺得不戰太虧,柯潔倒是覺得先搶實地也不錯,果然是棋風不同,評棋也不同。不過最後的結果是小李一直拚命的圍地,讓阿狗取勢,然後在黑模樣中騰挪治孤。這一局的內容比之前好看多了。小李在沒有輸贏的負擔以後,完全放手一搏了。

中盤的轉折點來臨之前的局勢是,白棋在邊角上圍了不少的空,從實地上領先,而黑棋在中間,豎起了兩道鐵壁,中間只有孤立無援的幾顆白子。一點黑棋鯨吞白棋中間數子,那麼白棋將在實地上遠遠落後,加上阿狗的官子那麼強,白棋基本上沒有希望取勝了。

小李在輸無可輸的第四局終於爆發出最高水平的殭屍流。在中盤的混戰中,小李下出了78的妙手,被古力稱之為神之一手。僅憑78這神之一手,成功將兩塊鐵厚的黑牆中間,幾顆孤立無援的白棋 做活。雖然李世石很早就進入了讀秒,但是依然下得滴水不漏。靠著中盤的優勢,外加上阿狗在形勢落後時,又犯了一些莫名奇妙的錯誤,終於將勝利保持到了最後。

從這局棋來看,阿狗還有一個特點就是不太願意認輸,基本上所有的棋手都判斷阿狗輸定的時候,它還是走了好多沒有意義的官子和打將,最後只剩小官子以後才認輸。

可以說這一盤勝利雖然無關比賽的勝負,但是意義重大,首先讓悲觀的棋手們重燃了希望:只要你夠強,阿狗同學也會犯錯誤。還有一個很重要的發現,就是跟阿狗下太平穩的棋,靠收官很難贏,但是中盤就開始戰鬥,想辦法逼它出錯還是有機會。只要抓住機會,扭轉局勢,阿狗就有可能崩盤。

看來人類在逆境中被激發的潛力還是比AI要大很多。AI的進步需要大量的對局積累和訓練,而頂尖棋手則可以在幾之內迅速的調整自己的策略和心態。

希望小李第五盤也能有今天的發揮。

——————————————————————————
阿爾法突然大抽瘋!!谷歌:人類點中了它的BUG_棋牌
看了賽後的報道才知道,原來神之一手並沒有讓阿狗覺得絕望,而是讓阿狗錯認為自己大優,然後下出了幾步緩著。 天哪!它怎麼在78手以後以為自己大優的,這個演算法很有趣,值得深入研究!最好多找幾個高手,多下幾招妙手,讓阿狗多重現幾次bug才好收集足夠的log進行研究。

中國聯隊上吧 :)

——————————————————————————
2016.03.15 李狗大戰第五盤
今天各個平台的講解陣容太豪華了。新浪的聶老,騰訊的常昊,古力,樂視的柯潔。從沒見過這麼豪華的講棋整容,就差馬曉春,就能集齊新中國各個時代的棋壇霸主了。

古力對小李的棋太了解了,預測神准。聶老對小李的布局還是不太看好,不過小李布局不好好像是公認的。

開局小李走得比較積極,不像前面幾盤那樣開始就落後。而且白棋走了一些損棋。到中盤的時候小李領先,但是領先以後,小李也走了幾步損棋,局面又細微了。結果又是阿狗圍了個大模樣,黑棋需要消掉白空才能爭勝。

結果是黑棋雖然消掉了一部分白空,但是最後形成細棋的局面,小李在中盤階段錯過了很多的制勝手段,導致了不少虧損,但是官子階段追回來不少。根據常昊,古力的點目,最後只輸2-3目。

這盤的意義也非常的大,它推翻了之前大家認為阿狗官子無敵的說法。看來如果中盤階段不虧,到官子階段依然有機會。

這五盤棋給了其他的頂尖棋手很多的參考。
賽前大家普遍認為阿狗的開局一般,中盤較強,官子很強。但是從這五盤棋看出來,阿狗的開局似乎相當的強,五盤開局都非常的好,除了第五盤以外,前四盤開局就佔據了優勢。中盤的時候,雖然也很強,但是偶爾會下一些脫離主戰場的棋。到官子的時候,並沒有找到最佳的收官次序。
還有最重要的一點,阿狗會打劫,但是它很不喜歡打劫。它從來不主動挑起劫爭,而且喜歡走一些損劫材的棋,按照這種走法,一旦形成生死劫或者多劫連環,估計它會虧死。

小李的棋風是前半盤弱,後半盤強,對人族的比賽,往往靠著殭屍流翻盤,而對阿狗,這招其實也有用,但是小李對阿狗的水平估計不足,前三盤發力的時機往往太晚,導致局勢落後太多。追也追不上了。

實際上最後兩盤小李已經下得好多了,從棋的內容上來看,比前三盤好得多。要是能夠再下五盤,結果可能大大不同。

估計小李最近幾個月有得煩了,一出來比賽,大家必問阿狗的問題,對後面的比賽反而不關心了 :)


預言一下:
Alpha Go 已經擁有了能完勝李世石的能力了。

(但 Google 故意放水或減少計算機能力以作測試除外)


不能。0:5,沒有懸念了。

之前大家認為末盤官子肯定是Alphago強,中盤55開(因為人類不可避免會失誤),小李的機會只在開盤布局。如果開盤沒有積累足夠的優勢,根本沒有中盤、尾盤的機會。但是兩盤下來,中盤、尾盤alphago全面壓制,開盤布局更像是alphago的強項。

從第二局來看,alphago已經不拘泥於棋譜的表現了,經常走出一些超出定式的具有新意的下法,但是從柯潔的現場點評來看,仔細分析沒有一手是問題手,大多數都是可以接受的。
開盤小李左下實地佔優,眾多點評都說此局穩贏了,但是真的是優勢么?白取實地黑取外勢,職業棋手的感覺是白子獲利,但是如果是職業棋手的判斷出問題了呢?外勢為虛,是因為中盤存在巨大變數,是否能將外事轉化為實力,是要雙方棋手拼殺計算決定的,人力是無法計算到中盤的細微之處的,但是如果電腦能呢?如果電腦的計算能力已經可以完成中盤局勢的評估了呢?

局勢的評估是開局布局的關鍵,也是蒙特卡洛法的關鍵。如果能評估最優、勝率最大的點,照著這些點平A就贏了。柯潔往往能先於其他直播解說發現"畫風不對",「小李子有危險」,確實表現出高出他人的實力。但是試想到中局混戰的時候,柯潔也會簡單的擺一擺,飛速的點目評估一下場上的局勢,這不TM實際上就是蒙特卡洛方法么?柯潔再快,也不過是五十步笑百步的區別,跟alphago不可同日而語,alphago一秒鐘內不知道已經算完了多少種變化,評估了多少局勢了。
因此,開局的某些定式,可能僅僅是人類計算能力不足而妥協的結果。想想從古至今,多少定式被後來的棋手推翻,建立起新的定式?古人打過多少譜,現在的職業棋手每年打過多少譜,推翻舊的定式建立新的定式不難理解,那麼想一想alphago一天就能打幾萬個譜,推翻我們現在的定式不是理所當然的么?!
這已經很恐怖了!!!alphago看李世石今天擺出的定式,可能好像我們看幾百年前甚至幾千年前流失的古譜一樣,夢裡都能笑醒了好么?事實也是如此,布局到定式一半果斷脫先,李世石連完成定式的勇氣都沒有,只能以虛對虛。柯潔和一些解說都說要完成定式教alphago做人,但是真走下去恐怕也占不到便宜。當然脫離自己的開局,放棄「定式」的優勢,和計算機拼計算力搏中期,也沒有什麼機會,就像今天這樣,輸得也很難看。
所以結論很簡單,開局、中盤、收官,alphago全面壓制,甚至兩盤都沒有收官的必要,alphago官子也肯定不會留下任何的機會。完敗,沒有任何餘地。小李子之後的採訪也承認完敗。
還有更恐怖的可能:從alphago開局脫先開始,李世石就走上了敗局。如前所說,職業選手看起來差不多的著法,alphago可不是這麼看的,再接近的著法對於之後的勝率也是不一樣的。人類是看不出來的,和人對決也不在乎,反正對手也覺得差不多,稀里糊塗就到中盤拼殺好了。alphago卻是在開局積累勝勢的,哪怕1手只強1%,開局20手下來,利滾利的優勢也是嚇死人的,更可怕的人類棋手還可能渾然不覺,甚至佔了一些實地小利覺得自己佔優勢呢。什麼時候看出來那是棋力的差距了,能看出來也不見得來得及翻,畢竟已入中盤,變化複雜,計算力的優勢更大。
所以小李子還是做出了應對的,從開局布局就投入了比上一局多得多的時間和精力,花費了大量的計算。左下角的處理是職業棋手見到都不會放過的,但是我真的懷疑alphago根本不在乎局部的得失。再重複一遍,這樣的下法是建立在中期強大計算力上的,人類模仿這種下法就是東施效顰了,想都不敢想。沒有了定式的輔助,沒有了經驗的幫助,和幾百萬盤的計算機拼棋感,真的是難。

中盤alphago展現了多線作戰的強大能力。經常毫不講理的脫先,下一些奇怪的選點。脫先還是歸功於強大的局勢判斷能力。舉個例子,A戰場投子價值10,B戰場價值15,但是B戰場搏殺幾輪後因為空間減小,局勢趨於確定價值在逐漸減少,當B戰場價值9的時候,按人類的標準可能還是必應的一手,alphago毫不猶豫就脫先了,甚至A戰場價值下降到7再轉回B戰場,甚至奔向同樣價值9的C戰場。這就逼迫小李子進入到了alphago的行棋節奏,被迫同時雙線、甚至多線作戰,這對於人類棋手捉襟見肘的記憶力、計算力無疑是雪上加霜,對狗來說卻根本不是事。該棄的子果斷棄,只要從其他地方獲得更大的利益,而人類渾然不覺。尾盤的幾手就有這樣的表現,在結束剛開始會出現一些很賤的行棋順序,關鍵棋中走出幾手莫名其妙的,小李又不得不應的棋,再回頭繼續原來的行棋。這就是計算機,這就是程序,一絲不苟的完成勝率最大的行棋。
所以存在著這樣一種可能,從某一刻開始,小李子想贏alphago就只剩下為數不多的幾種選擇,困難的不止是在多種變化中找出最後的正解,而且要找出正解的順序。這些順序可能包括在多個戰場,走錯一步,alphago都可能脫先,走出尖沖五路的妙手。這對於人類選手來說都沒有在有限時間內解出的可能。小李子用時明顯比第一局多了很多,用時也比alphago多,燒腦燒到這種程度,早晚會失誤的。不是打拔的弱手,也是其他的弱手,早晚會"失誤「的。
當中局面對變化時,當面對眾多選擇沒法抉擇最優點的時候,靜靜的等待alphago先手進攻的時候,勝利的天平已經傾斜了。無論你復盤的時候覺得哪手有問題,也不代表你能走出更強手,甚至說不定當時在alphago眼中,已經是無解的變化了。哪怕是復盤,人類也不能擺出所有的可能。所以往往看來覺得alphago平平無奇,沒有妙手,但是就是沒有攻擊、翻盤的點。輸都不知道怎麼輸的。絕望。
尾盤就不說了,不可能輸給人類的。
善戰者無赫赫之功。alphago在棋盤上展現出了強大的統治力。

李世石最後堅持著把最後的布局下完,我只能想到兩個字:悲壯。李世石在人類看來是捍衛人類最高智力棋類的先烈,在alphago里眼裡不過是自我完善路上的一塊墊腳石。戰勝小李可能是一個時代的終結,對於AI來說是一個更廣闊的開始。
在最後的「垃圾時間」中,我們還是從中了解出alphago的一些特點,甚至是「弱點」。從每步的用時可以一窺alphago的「情緒波動」,莫名其妙的騰挪和騾子順序展現出其超常的價值評價體系。其弱點可能還是在於劫財的處理,特別是「連環劫」這種無限循環的可能對於蒙特卡洛方法來說可能是一個盲點,至少在劫財的價值判定和計算用時上來說對於計算機來說還是存在一些問題。也許保密協議中真的有「不能打劫」之類的規定,可能是一個「阿奇琉斯之踵」。但是瑕不掩瑜,歷史的車輪已經碾過了。

最後評價一句:李世石的表現無愧於職業棋手,無愧於曾經的世界最強。被alphago完敗是他的不幸,甚至一蹶不振;和alphago對戰也是他的幸運,以這樣一種方式載入史冊。


群嘲一下好了,所有拿棋譜來分析AlphaGo實力的都是不懂Deep Learning的,還拿人的思路來分析AlphaGo的著棋方法,鑽進死胡同了。

前面立的FLAG感覺還不夠,我預測一個:Nature論文附錄里提到的樊麾非正式棋的兩盤勝局記錄可能將是人類最後一次戰勝AlphaGo的記載。坐等李世石贏一局來打我臉。


陳經:谷歌圍棋演算法存在缺陷
這篇文章更詳細的分析了AI的「本質弱點」

比以前的AI強了很多,沒有明顯莫名其妙、脫離主戰場的棋。但從5張棋譜來看,仍然有欠穩定、不連貫的地方。以第5局如下局面來舉例:

右邊白棋沒有凈活,還欠一手棋。白棋判定本身劫才佔優,可以暫時脫先不管

白棋選擇打吃黑一子,當然價值也不算小

黑棋脫先打吃白棋右邊一子,考驗白棋死活

此時無論如何白棋都應該打劫撐住,但AlphaGo下出令人瞠目結舌的一步——倉皇逃出一段小尾巴,丟盔棄甲。黑棋如S9將7子笑納,不僅目數大,而且外圍斷點自動消失,中腹變得鐵厚。

但黑棋也短路,不知為何脫離主戰場跑去左下應了一手,導致白棋從中央突圍而出,黑棋中腹厚勢潛力頓時煙消雲散。白棋由於黑棋失誤因禍得福,但作戰思路明顯是前後不一致的。

之後黑棋嘗試強殺白棋大龍,但因為外圍弱點太多,只能眼睜睜看著白大龍揚長而去人類頂尖高手也會出現這類失誤,但主要是心理狀態而非技術原因。而對AI來說,恐怕預示演算法尚有缺陷,也就是我說的技術層面欠穩定、不連貫。如果對陣李世石出現這樣的敗著,很可能就無法翻身了。


我只想說人想學習阿帕狗的對弈技術,不好學。因為這套路根本不是立竿見影,都是很多步之後的優勢。經過計算選擇勝率最高的那個選擇。小時候家裡有台電腦沒有網路。上面有個五子棋。玩了盡半年終於能贏一次電腦了。後來五年級時家裡接入互聯網,有個軟體叫黑石五子棋。那時候我終於領略到計算機的強大了,能看出滿屏幕在計算最後算出勝率最高的那步,看似很愚蠢的一步棋在數十步之後起到了決定勝負的作用。以至於到現在也沒贏過黑石一次。。。。。。。。。。。。


謝邀 @teenieweenie

我對 AlphaGo 與 李世石 的對弈結果與相關的想法和 周志華 老師的意見相仿。

以目前看到的技術信息來判斷,AlphaGo 與 李世乭對弈結果會是,李世乭會以 5:0 或者 4:1 的比分贏 AlphaGo

我們姑且定義圍棋問題為困難問題,根據經驗,在困難問題上,高手之間實力差之毫厘,結果失之千里。
AlphaGo 5:0 勝樊麾表明 AlphaGo 的圍棋演算法已經高於樊麾這個層次的人類,但是樊麾和李世乭的實力差距不小,所以對這場比賽的結果判斷並沒有多少支撐。

既然 AlphaGo 和樊麾的對戰結果的參考性不大,那麼,估計這場比賽的勝負,我們還得從兩個本質的方面來判斷
1. 技術
2. 商業

其中,大多數人從技術上分析了「世紀對弈」,我在技術層面分析外,在第二部分添加了個人認為重要的商業層面分析


技術層面
========================
AlphaGo 解決的圍棋問題 與 深藍解決的國際象棋問題 的解決方案搜索空間差距非常大
--------------------------------

1. 國際象棋棋盤為 8x8,總計 64 個格子,圍棋棋盤為 19x19,總計 361 個格子
2. 國際象棋每回合大約有 30-40 種走法,圍棋有 200-300 種
3. 國際象棋一局大約為 40 個回合,圍棋可以長達 150 個回合

這幾個因素同時作用,導致圍棋問題的困難程度在維度上碾壓了國際象棋問題,猶如《三體》中的「歌者文明」對人類文明的碾壓。

從問題的困難程度來看,國際象棋問題可以通過計算機硬體性能摩爾定律的提升來解決,而圍棋問題靠硬體的提升毫無希望。


從 AlphaGo 在 2015年11月 提交的論文信息來看,當時的圍棋演算法按照 Elo Rating,接近 3200,而樊麾屬於職業二段,相當於 Elo 3000 分,所以 AlphaGo 能夠勝樊麾是可以理解的。而李世乭為職業九段,約相當於 Elo 3500。那麼在最近兩個月中,AlphaGo 需要填補 Elo 300 分的差距。

機器學習模型有其理論上界
--------------------------------
從各種渠道已知的 AlphaGo 的技術信息來看,AlphaGo 主要通過以下兩個方法來提升演算法能力

1. 增加 CPU 個數,提升計算能力
2. 學習現有棋譜
3. 自我對弈

Nature 的文章中顯示,AlphaGo 的 CPU 個數從 1202 提升到 1920 帶來了 Elo 28 點的提升,並行計算在硬體和演算法上都會遇到共享同步信息的瓶頸,無法使實際性能呈線性增長。而且要是單純加機器就有用的話,Andrew Ng 當年在谷歌就用了幾萬個 CPU 進行深度學習實驗,AlphaGo 完全可以在之前就可以使用那麼多的核達到更好的性能。所以單純增加 CPU 個數無法填補 300 分的空白。

學習現有棋譜可以提取一些人類決策的特徵,但是由於圍棋問題本身複雜,無數多種決策中,就算有幾萬個棋譜,也僅僅是滄海一粟。類比人臉識別問題,相當於僅僅提供了學習演算法幾萬幅人鼻子的照片,就要求識別整個人臉一樣的困難。況且高手之間的對決棋譜相比更加有限,加上最近幾個月棋譜的訓練數據並不會有明顯的增長。所以這個渠道的提升也很有限。

自我對弈是兩個圍棋演算法學習器之間對決,通過這個對決的過程,相當於產生了無數的棋譜以及運算的中間數據,通過這個數據來調優模型本身。不少同學會認為這一點會導致學習器產生超神的結果,但遺憾的是,這個自我對弈的想法在機器學習領域早就存在,可以看作是兩個學習器相互提供「偽標記樣本」,這種學習方法可以看作 ensemble learning 的一種方法。

答主研究生階段在 LAMDA 實驗室學習,LAMDA 在 ensemble learning 方面做過不少有價值的研究。答主雖不才,但因為耳濡目染也習得了一些基礎。通過「自我對弈」來提升,理論上已經證明,這種做法奏效的關鍵,是兩個模型都不錯,而且有足夠大的「差異」。要注意的是,當模型性能提升以後,其差異會顯著下降,到了一定程度必然會使性能無法繼續通過這種機制提升。其上限取決於高質量「有標記」樣本(相當於真實李世乭水平棋手的棋局)的數量。而上一節課一看到,這個「有標記樣本」最近幾個月並不會有顯著的提升。


商業層面
==========================
到目前為止,大多數答主把目光限於技術層面,由少數關注到谷歌是在作為一個商業公司在做這件事情,有炒作技術的需求,但還沒有人關注這個項目是由商業公司中的一個團隊在推進的。商業公司中的團隊講究的是結果導向,講究的是有產出。產生有效的產出後,公司才會為這個團隊提供更多的資源。

但是以下的內容猜測的成分居多,答主也持探討的態度提出。

假設我是 AlphaGo 的項目主管,我會一直約全世界的各個級別的棋手與 AlphaGo 對弈,這樣我可以有效地知道 AlphaGo 當前對比的人類水平。有一天,我發現 AlphaGo 可以有把握地下贏職業二段的人類棋手,同時也發現這個段位的人類棋手中,有一位擁有「歐洲圍棋冠軍」的頭銜。這時候,我發現「搞個大新聞」的機會來了。畢竟不怕事大的媒體終於可以使用贏取眼球的標題了——「人工智慧首次下贏人類圍棋冠軍」。

就是說,因為商業公司團隊的結果導向的性質,AlphaGo 之所以選擇樊麾作為對手,一方面因為樊麾的頭銜,另一方面因為 AlphaGo 才剛剛達到能戰勝職業二段人類棋手的水平,樊麾是 AlphaGo 能找到的最好的對弈對手,既能保證贏,又能搞個大新聞。

AlphaGo 果然贏了,全世界也不出所料地把目光聚焦在谷歌這個創新公司,以及對人工智慧技術發展的擔憂上。

接下來和李世乭的對弈就是臨場發揮了。好不容易勝了歐洲圍棋冠軍搞出一個大新聞,再選一個全人類的冠軍作為對手,約在兩個月後對決,那麼團隊和公司就能持續兩個月受到全世界的關注,不論最後下棋輸贏,都是贏了的

所以說,選李世乭作為對手,主要是為了商業目的,而不是真的要看輸贏。因為和李世乭對弈是商業動機,這個動機並不保證會贏,如果保證能贏李世乭,那麼幾個月前就不會選樊麾作為對手了。所以從這個動機和行為來看,AlphaGo 還不至於贏李世乭。


綜上,從技術層面和商業層面綜合考慮,AlphaGo 會輸於李世乭,並且由於在困難問題上,能力「差之毫厘,失之千里」,所以我傾向 李世乭 5:0 贏 AlphaGo。但由於人類棋手有情緒波動,會有失誤,所以同時認為有 4:1 的可能


推薦閱讀:

如何評價 2017 年 1 月 4 日 Master(最新版 AlphaGo)60 場全勝?
零基礎應該怎麼學圍棋?

TAG:人工智慧 | 圍棋 | AlphaGo | 李世乭 | 對弈人工智慧 |