從圍棋角度看李世石與 AlphaGo 的第二局比賽有哪些關鍵之處?
本題已收錄至知乎圓桌 ? 對弈人工智慧,更多關於李世石對戰人工智慧的解讀歡迎關注討論。
----AlphaGo 有哪些違背圍棋常規的操作?李世石在策略上有哪些改變?如何看待整局比賽?相關問題:AlphaGo與李世石第二局比賽中,黑37手對最終結果造成了怎樣的影響? - 圍棋
沒有太多時間寫一個長答案,就簡短說一下我感受最深的一點吧:
現在職業棋手判斷形勢的演算法,有明顯漏洞。
職業棋手判斷形勢的演算法大致可以概括成一句話:估算雙方的目數(地盤大小)差距。那如果地盤的邊界沒有完全確定怎麼辦呢?如果有先手官子就判給先手方,如果是雙方後手官子就算一人一半。那麼有一些模糊的地方,比如說一塊厚勢折算成幾目呢?這個就只能憑感覺了。今天看各個平台的解說,大概是柯潔的判斷最準確。柯潔在中盤階段就點出黑棋盤面15目左右。古力一度判斷小李優勢,甚至到官子不多的時候還認為是細棋。金明完也差不多。麥克雷蒙的判斷沒有仔細聽,好像比古力要准一點。羋昱廷在128手的時候認為還是細棋(這個時候柯潔已經判斷黑棋明顯領先了)。圍棋TV的完全沒有看,請各位補充。
暫且不論到底是誰的判斷更准,我們可以簡單看一下白128手時候各方的判斷。有柯潔說黑棋領先一個貼目,也有說細棋的,甚至有說白棋小優的。這些職業棋手對同一局面判斷上的分歧居然能超過一個貼目!這恰好證明了上述演算法模糊之處可能產生的巨大誤差。
那麼我們思考一下誤差可能產生在何處。第一,先手官子判給先手方。然而在棋盤上,「先手」是個相對概念,逆收官子屢見不鮮。甚至在有些情況下,面對「絕先」,奮力一搏選擇脫先他頭也不少見。第二,模糊判斷。這個問題更大。職業棋手對一塊棋厚薄判斷的分歧,很可能導致點目結果的南轅北轍。
AlphaGo是如何做形勢判斷的呢?AlphaGo策略組合的其中一部分是價值網路。這一部分的原理以我的水平解釋不清楚。為了方便理解,我們考慮前一代AI,Zen的判斷方式:通過大量的隨機採樣估算「勝率」。打個比方,一盤棋下到120手。在這個時候AlphaGo隨機落子完成一盤棋,然後判斷哪一方在這個隨機完成的一盤棋中獲勝。重複這個流程多次,比如說十萬次,然後其中三萬次黑勝,七萬次白勝,那麼估算出白方的勝率就是70%。當然,AlphaGo的價值網路比Zen的方式要先進很多,讓估算的勝率更加準確。感謝評論區 @劉嘉耿 的補充:AlphaGo並非完全隨機地模擬剩下的棋局,而是參照了之前的棋譜用落子選擇器找出最有可能的幾個點,保證速度
從效果上來看,估算勝率的效果其實非常好。而且我認為,這樣的判斷方法是本質的。
為什麼?首先要明確,雖然理論上來說,某一個局面下,要麼是黑方必勝,要麼是白方必勝。然而,由於圍棋事實上無法被窮舉,只能退而求其次估算概率,或者像人類棋手一樣估算雙方相差的目數。然而,在很多情形下,相差多少目數是沒有意義的。
舉個例子(此處應該有圖),黑方確定目數70目,沒有潛力。白方確定目數40目,有一塊40目潛力的大空。如果黑方立即打入並活出,則40目的潛力只能轉化成10目的實地,黑方獲勝。如果黑方打入失敗,則白棋40目大空圍成,白方獲勝。黑棋也可以選擇保守的淺消,則白方的40目潛力大約能轉換為25目實地。這個局面下,如果選擇淺消,雖然最後差距會縮小,然而其實勝機也很少。很遺憾,這種局面下,職業棋手很難準確估算打入成活的概率,然而AlphaGo可以。於是心存幻想的人類棋手覺得落後不多,而打入無成算,選擇淺消白棋大空,結果白方40目的潛力轉化成25目實地,黑棋盤面僅多5目,從而落敗。阿爾法狗估算出選擇打入的勝率是40%,而選擇淺消勝率僅為25%,於是毅然選擇打入。不論最後勝負如何,選擇打入顯然是更好的策略。
換句話說,只「領先兩目」而勝率80%,和「領先五目」而勝率70%,其實是前者優勢更大,然而人類會認為後者優勢更大。這或許是人類棋手的命門所在。
可嘆的是,人類不可能通過大量隨機採樣來估算勝率。
╮(╯▽╰)╭
針對評論,補充一點吧。評論區說古力是故意模糊判斷形勢,實際上他是點清楚了的。也許有這個成分在裡面。但是,我作為一個常年在各大平台看圍棋直播的棋迷,經常能看到對於同一盤棋的同一個局面,一個解說認為黑領先,另一個解說認為白領先的情況。而且這倆解說都是頂尖職業。事實上職業棋手並不能準確判斷形勢,即使是在中盤階段末期。最近參與了幾個討論,我發現大家普遍對Alphago理解出了問題,我想明確的先說我的觀點:這次的比賽看點主要是Alphago對局勢的評估系統好還是李世石九段對棋甚至職業棋手們對圍棋的評斷標準好。在我看來,Alphago對圍棋界的積極意義和吳大師提出新布局有同樣的地位(甚至更高),都是對圍棋理論的重大推動。看的過程中,棋迷朋友們可能會明顯感覺Alphago大量俗而有力地下法是它簡明取勝的不二法寶,很少保留變化,目的十分明確,有一點像全盛時期李昌鎬和小林光一的下法。
很多人總愛拿計算力說事,講道理計算力強從來不是真正的亮點。且不論現在計算力遠遠達不到窮舉圍棋變化的地步,大家可以先設想一下,假如你可以一個漢字一個漢字窮舉完世上所有的詩歌,如果你沒有一個評判標準,既沒有什麼時候表達什麼的需求,也不知道每一篇是什麼用意,請問那對你的創作有什麼實際意義么。
Alphago的突破在於他在關鍵地方節省了計算資源,建立了優秀的評估標準指導自己的每一步,從這兩盤來說,創新能力很強,開局套路都是幾乎從沒出現過的,中後盤分寸感非常好,進退有度。推薦想認真理解整個架構的移步田博士的專欄:AlphaGo的分析 - 遠東軼事 - 知乎專欄我在這裡簡要說一下,AlphaGo這個系統由蒙特卡洛樹搜索做核心,把三個部分連接起來,分別是:1.走棋網路。2快速走子。3,估值網路。上午有人問我,是不是Alphago以下出最強變化為目的,以我現在看到的來說,絕對不是,他在一個局部得分以後會在其他地方選擇明顯保守一些的變化,十分中正平和。我感到很多時候大家忽略了Alphago背後團隊對Alphago各種參數進行調校的重大影響,要知道無論是演算法還是數值都是aja huang以及背後他們的團隊在發揮最大的作用,任何過分誇大演算法本身的言論都十分的無厘頭和荒誕。{關於人腦的思考方式和Alphago的不同,這裡鏈一篇AlphaGo 下棋的策略套路與人類策略有哪些相似嗎? - 人工智慧)再貼一張趙漢乘九段去年的棋譜供大家參考:
(參考圖)圖中同樣黑13拆邊鞏固自身,不同的是選擇了棄子的戰略。——————————————————————————————————————————
而Alphago下的棋如今已經自成一派,十分有自己的風格了。之前我曾經以為Alphago對定式的使用會非常純熟,現在看,大量學習各種棋譜以後Alphago對所有的局部彷彿都有自己的理解。實戰Alphago先刺再托,很有個性。之後的進行,Alphago繼續選擇少見的下法,俗而有力地尖頂。之後Alphago走出了聶棋聖認為應當脫帽致敬的好棋。37肩沖:
真是天外飛仙一般的好棋,十分瀟洒。私以為這一步與其從好壞上來評價不如從試應手的角度來考慮,根據白棋貼的方向決定自己之後的進程。【中盤】 黑棋主動挑起戰鬥以後,暴露出一定的短板,實戰的下法備受詬病,46扳起這一串下完之後Alphago無論怎麼分析Alphago都虧損了,這裡是石頭本盤唯一得分的地方。當然如果說之前黑棋右邊得分了,Alphago這裡選擇稍虧一點的下法也十分可以理解。 白棋這盤右邊效率低下的問題越來越明顯。昨天第一盤小李就在後半盤連落兩個後手,被Alphago大幅拉開,今天這一盤依然出現了這樣的情況。這時候的打拔,感覺過於穩健。此時左邊的黑棋大塊和兩邊都沒有清楚的連接,李九段沒有任何追究而是右邊厚上加厚提了一個,彷彿期待Alphago在角上補一個似的,之後Alphago補上聯絡,作戰機會就此失去。看到這裡我就默默關掉了直播,倒了杯水,怔了好久。這盤進行到這裡完全看不到小李的剽悍風格,看到這裡感覺非常遺憾。之前我的群里曾有一段時間大家專打李世石的棋譜,貼一盤去年年底的:
(參考譜 李世石九段對宋知勛初段)
充滿了嗜血,戰鬥,最終大殺小輸贏,細膩的贏了半目,我想也許這才是我心中的瘋狂的石頭。
這盤後來Alphago安全運轉,石頭沒有抓到一絲機會。
【拼搏的打入】石頭實戰最後打入Alphago唯一一塊薄弱的地方,我看著高手擺了無數個變化,發現實戰Alphago選了一條變化最少,最粗俗有力的路:至此,石頭局面進一步落後,失落。
【最後懸念】這盤給我最大的懸念依然是為什麼石頭沒有選擇打劫,即使在局面很差,滿臉漲紅的時候還是沒有選擇下面這個變化圖,我至今想不明白,只能期待石頭自己解答了:
石頭認輸的那一刻,我看到李世石九段極度難過的表情,承受了多少壓力我們旁人感覺不到,希望石頭重整旗鼓,再次展現出凝固空氣的熾烈殺招,為勝負師之路不留遺憾。
貼一張休職復出後李九段犀利無比的照片,祝調整好狀態,發揮最好水平!
p.s:一直有人說有什麼打劫的保密條款,這一點我堅決不同意,但是劣勢之下安樂死的小李的狀態讓我覺得他可能不該作為人類一方出戰。六七十年前吳清源橫掃日本棋壇的時候,最恐怖的不是絕高的勝率,而是贏棋的方法:明明是有定論的壞棋,他不管不顧地下一長串,對手覺得自己一路佔便宜,幾十手之後回頭一看,棋已經輸定了;優勢下吳有一種「縮小棋盤」的能力,三下五除二,已經沒有可以起紛爭的地方了。前一點顯露的是吳先生領先於整個時代的對圍棋的理解:什麼是好棋、壞棋,子力的效率,不相關棋子之間產生的潛在關聯,在二三十年間吳先生的理解和整個時代的棋手不同。這種勝利不是技術上的勝利,是「穿越」式的碾壓。這種情況吳先生之後再也沒有出現過。AlphaGo贏李世石的第二盤與上述情況非常相似,讓人明顯感覺到AI對圍棋的理解全面超越了人類。從我這樣的業餘愛好者到職業高手一致判斷AlphaGo吃虧的地方,也許只是因為我們全都處在更低級的理解層次上而已。其實第一盤也有類似的感覺,但因為第一盤李世石自己有明顯失誤,所以不像第二盤這麼觸目驚心。
更新:第三局後盤李世石造劫,AlphaGo提劫。事實勝於雄辯。
AlphaGo開發者之一黃士傑(Aja Huang) 在「弈棋」論壇上已闢謠
來源:AlphaGo開發者:不存在秘密協議 請尊重李世石應邀把關於打劫的回復搬上來。
"而對於打劫,很多認為AI無法戰勝人類的觀點,很重要的依據就是圍棋有個很複雜的事情就是經常會打劫,AI肯定會暈。但這次和樊麾對局的第5局是出現了打劫的。過程中AlphaGo找劫、應劫都有模有樣,來回了十幾手,最後是樊麾消劫形成轉換。過程中應對沒有問題。所以,我感覺打劫並不會成為AlphaGo的軟肋。" by李喆 來源:為什麼谷歌人工智慧戰勝歐洲圍棋冠軍是一件很牛逼的事情?可見AlphaGo是會打劫的。由於比較多人誤會補充一下,上文是針對有人說AlphaGo不會打劫以及說7盤局AlphaGo都沒有打劫的回復。AlphaGo在佔優情況下求穩勝即可沒有必要拼打劫。目前主要爭論點不在AlphaGo會不會打劫, 而在於李世石為何不打劫。總結一下評論里幾方的看法:
1. 雪球上王檄九段認為李不打劫是因為劫材不夠, 見 為什麼 AlphaGo 沒用過「打劫」戰術? - 冬冬丁的回答2. 部分知乎er認為官子時即使劫材不夠, 不打劫一定輸, 打劫有較大風險但還有一點贏的幾率, 不爭取這個機會不符合李的習慣也不符合職業棋手的一般選擇。3. 考慮到人機對戰的特殊性和當時棋局的壓力, 可能會對李的形勢判斷造成影響。至於較早時期那個劫, 評論太少先不匯總。李放棄打劫是否導致錯失勝機,希望棋力高的知乎er來解說一二。我算是來說一下我從兩盤棋里看到的東西吧,算是在微信群里討論了半天的一個總結。
0. AlphaGo工作原理簡介
還是簡單回顧一下我對alphago工作原理的理解,這有利於解釋很多現象。整個alphago還是建立在MCTS基礎之上的,但是因為兩個深度網路大幅改進了MCTS的效率和準確率。
之前的MCTS因為缺乏好的Prior(肯定也有,但是效果都不太好),可以認為幾乎是隨機扔棋子到終局判斷勝負,這樣扔例如10000次然後來判斷勝率(請忽略我的簡化,事實上還是一個tree的展開,怎麼平衡深度和廣度都是大問題,請參考Monte Carlo tree search, UCT at Sensei"s Library)。
而alphago首先訓練了第一個網路用來走子,且這個走子網路在圍棋上非常靠譜,光靠這個網路已經達到了不俗的水平。然後用這個走子網路(快速版),作為MCTS節點展開的Prior,這樣就大幅減小了搜索樹的規模。根據論文,走子網路加上MCTS已經超越了之前所有AI,而田博士的darkforest也是這樣做的(AlphaGo的分析 - 遠東軼事 - 知乎專欄)
第二個網路是叫價值網路,它是用來進行形勢判斷的(並不同於人類點目這種手段),也就是說我們不是完全靠MCTS跑完終局才來判斷一次勝負,而是直接以當前局面給出一個勝率,這樣又大幅提高了搜索的效率。在10月份時,這個網路的能力還並不算出色,而田博士猜測這裡可能是alphago會大幅進步之處。
簡單說就是,兩個深度網路有效控制了MCTS展開的深度和廣度,所以大大提高了MCTS搜索的效率和準確度。而最終AI將在一個目前已探索到的節點里挑選一個勝率最高的作為下一個落子。但是有一個關鍵因素在論文里沒有給出,就是用時策略,因為更長用時肯定會更大概率找到真正最好的解。
知道了原理就可以很好解釋為什麼之前的MCTS雖然已經進步斐然,但是比AlphaGo的差距巨大;而MCTS又是AlphaGo和darkforest的基礎,所以有很多MCTS的特點依然可以被觀察到。
1. AlphaGo更擅長大局還是局部計算
有一個誤區是認為電腦更擅長計算,而人類大局出色,經過這兩日比賽已經可以宣布是錯誤的了。AI在形勢判斷上全面強於人類毫無疑問。原因如下:- 從原理上看,電腦始終是以終局作為criteria來判斷的,無論是MCTS還是價值網路,所以電腦的走棋真得是不以一地得失來選擇下一手,這樣的例子例如兩局的左下都非常典型。而最終的結果也說明了問題,AI那些最初讓人大跌眼鏡的著法事後冷靜分析(基於職業棋手的評估)也都頗有道理
- 而人類反倒是靠基於邏輯推理的直線計算,可以對局部手段做到盡善盡美。但人類在對整體局面的評估,其實是基於點目(參考從圍棋角度看李世石與 AlphaGo 的第二局比賽有哪些關鍵之處? - 不會功夫的潘達的回答)的一種替代手法,而且有很多關於厚薄等無法量化的因素,現在來看是有缺陷的,最關鍵的證據是職業高手群體許多時候的判斷也是不一致的,差異還可能很大。
2. AlphaGo為什麼會犯低級錯誤
典型如例如第一局的142,這樣的例子很多,經過人腦的邏輯分析都可以找到局部更優的著法,但無一例外的是這些小失誤都是在(幾乎)勝定時發生的。原因也要從AI工作原理來分析。因為AI追求的唯一目標是終局的勝率,而另一方面又有用時的限制,所以AI一定會在搜索精度和耗時上有個tradeoff。當局面優勢最夠明顯時,會有許多下法都能保證最終的勝利,而勝率評價上可能差不太多。這時會出現的可能有兩種:一是最優和次優的勝率很接近,但是因為蒙特卡羅的隨機性在一次模擬里次優的得分會更高,所以選擇了次優(這個將來可以很好被驗證:就是每一次同樣局面電腦的選擇會不同)。二是,當尋找了一些節點後發現勝率都很高,根據用時的trade-off就不再繼續搜索了,因此可能會漏掉搜索一些更好的點。
3. Alphago打劫會是弱點嗎
李世石昨天數度放棄了打劫的選擇讓人遺憾,為此圍棋界差不多吵翻了天,而相對客觀的分析來自李喆(https://mp.weixin.qq.com/s?__biz=MzI2NDAxNzU3NA==mid=402685543idx=1sn=b8772e7f5472298e31a257bd7955fe84scene=1srcid=0311dqCcELN9WW9GF8awZh1Opass_ticket=PCAK9xGnidIyiGYVrAhhyq9OoTuqk0d3uWbjU1tJX4AXJs%2BUNqGbF6rIXyOJIksy#rd)。另外就是來自本次比賽的裁判,第一個被alphago戰勝的職業棋手樊麾對現場李世石的描述:當時李世石已經心理壓力極大,手在發抖,而樊麾是最理解這種心態的人。但大家爭論的另一個焦點是AlphaGo打劫弱嗎?有學術代表給出了Aja Huang前些年專門研究打劫的論文,這算是一個證據。但因為AlphaGo這邊測試不夠(樊麾的第五局其實已經有打劫了),而之前AI打劫都是很大的問題,所以公信力不夠。另一方面,仍然從原理分析,打劫意味著變化的複雜度增加許多,而且基於邏輯分析的直線計算並不是電腦下棋的原理,所以它需要更多的搜索才能準確判斷優劣。而這時,如果有另外一個著子選擇的勝率並不差,但變化相對簡單,AI會毫不猶豫的選擇這個變化而不考慮打劫。
所以,我認為打劫可能會是AI相對較弱的地方,但並不一定弱到哪兒去,只是因為計算難度的提高使得它更難以判斷其優劣,在有其他次優選擇時電腦會「主動」放棄打劫。所以刻意求打劫並不是好的主意,只有那種自然形成的華山一條道的打劫才會真正測試到AI打劫的能力。在此之前都只是不太靠譜的猜測。
4. AI的勝率曲線
第一局AlphaGo認為自己完勝,第二局許多人類認為AlphaGo完勝,它卻不這麼看。這個短短的兩句話其實很有信息量可以供我們分析。第一局的問題很多人已經解釋過了,事實上左下下完幾乎所有人都認為黑好時,是基於右邊沒有大的出入的點目判斷。但事實上是,電腦認為102之後的結果是必然,那黑棋形勢就的確從來沒好過,而這樣反過來看86就是照顧全局的好棋,爭奪到先手走到102縮小右下的價值(本來人的思維是右下左上見和),然後116守住左上,留一個雞肋右下給對手。而事實上右下即使李世石不按實戰,走尖頂的話還是會略差一點。
第一局AlphaGo一路領先,信息有限。第二局透露出中盤AlphaGo自己也不覺得是優勢,卻是怎麼回事呢?前一手還是算出55%的勝率,當對手下了一手後卻變成了50%,這件事情是很有意思的。假設是確定性演算法,那AI一定會照自己的既定計劃一直進行,那勝率曲線只會單調上升;而勝率既會上升也會下降說明AI的選子和評估都是有缺陷和波動的!正是因為李世石的某些好棋超出了AI的落子和評估,才使得它接下來下調了勝率,而另一方面還是蒙特卡羅的本質,使得其每一次的評估不可能完全一樣,一次小概率的連續18次大可能使得它誤判了下一手的勝率,在對手之後重新評估又下調了勝率的評估。另一方面,評估也依靠的價值網路雖然是確定性的,但也一定是有判斷的誤差,很有可能對兩個相鄰不遠的局面給出了較大的評估差異。
5. 讓先能贏AI嗎
參考第2點,可以知道的事情是AI在勝率較高時,會走出非最優的著法。所以不少人在討論讓先/貼目的方式來逼出電腦的最強功夫。關於這一點,我不太確認答案,如果有職業高手充分理解了AI工作原理,也許能更好得到答案。但有一個推論是值得注意的,也就是AI這種特性決定了它遇強則強,遇弱則弱,所以我們很有可能被10月樊麾的棋譜給欺騙了,AI在優勢下表現出的不正常並不足以用來評估其實力。而如果假設當前最強人類在不犯錯的情況下(即允許無限悔棋),跟當前的AI是平手,那我認為差距接近是讓先,因為所有棋譜來看,每盤棋人犯錯的損失加起來大多都不止一個貼目的。所以我同意李喆文章里對李世石策略的分析,立足不犯錯的情況下對付AI,而他已經在短暫的時間成功逆轉了勝率曲線的趨勢。至於具體差距,誰說了也不作數,那是需要等谷歌公開測試,一擁而上之後才能更好評估的;但另一方面,我更希望看見谷歌公開AlphaGo自我對戰的棋譜,因為不可能兩方一直維持50%:50%的勝率判斷,而判斷的差異和勝率曲線變動的地方就都是研究AI特點的關鍵點,而自我對戰的棋譜也更利於發現AI到底是怎麼下棋的(抑或下得不是棋:P)6 AIphaGo是圍棋上帝嗎
理論上來說,顯然不是,沒有嚴格數學證明是沒辦法說是圍棋上帝的,至少連象棋國象都還沒能說這話。但是離圍棋上帝到底有多遠,這誰也不知道,只能說進一步提高演算法以及和人類co-evolution後會逐步逼近。但是AlphaGo在革新人類圍棋理念和水平上的進步,我相信是會比吳清源,李昌鎬更大的。總結:
人的優勢在邏輯推理,快速學習和總結經驗;而缺點在於情緒,狀態波動和非準確的形勢判斷。而電腦最大的優點是準確的形勢判斷和極少犯錯,可能的缺點:1. 勝率評估非基於邏輯推理的計算,而是大量模擬的合理兼不合理局面。所以打劫也許有機會,但只有那種自然形成的複雜打劫才有一點可能測試到AI的極限; 2. 不可控的隨機波動。只有知己知彼,才有希望這次或將來戰勝AI,推動圍棋的整體進步。對於AlphaGo優勢局面下經常下俗手,我大膽猜下原因。
可以確定的是,AlphaGo學習的時候優化目標只是勝負,而不管勝多少、負多少。
所以對於優勢很大,或者劣勢很大的棋(後者還有沒有可能出現已經不好說了……),採用不同的著法,對勝負的影響並不大。(用專業術語來說,損失函數在這些局面下的梯度很小)
因此面對這種局面下的訓練過程並不充分,或者說,訓練機制保證機器在某種程度下忽視這樣的局面。
所以,AlphaGo在優勢局面下的實力確實是會降的,並非刻意放水。
只有它自己判斷局面膠著的時候,不同走法造成的結果差別巨大(損失函數的梯度巨大),它訓練的充分,表現出來的棋力才高。
========================================
再科普一下余凱博士「AlphaGo有能力自己修改源程序」的說法:
過去的下棋程序,也就是現在業外人士理解的下棋程序,原理是這樣的:開發者設計一種搜索方法,每一步都用這種搜索方法選擇最好的一步棋。
而現在的下棋軟體,包括AlphaGo在內,原理是這樣的:
設計一種判斷「搜索方法優劣」的方法,讓計算機在「所有的搜索方法」當中選擇一個最好的搜索方法,再在下棋的時候每一步用這種搜索方法選擇最好的一步棋。實現這樣的原理,人類需要做3件事:1.把「所有搜索方法」轉化成計算機懂的數學模型(對於AlphaGo來說,這個模型就是權重可變的深度神經網路)。2.告訴計算機怎麼通過人類下的棋譜,以及自己和自己下的棋譜,來判斷搜索方法的優劣。3.設計讓計算機怎樣「在所有搜索方法當中找最優的搜索方法」的方法。但是具體尋找搜索方法的過程,是計算機自動完成的。而且最後尋找到的搜索方法,開發者是不知道的。余凱所說的「源程序」,指的是搜索方法。謝……謝邀……
昨天知道小李輸了以後,我還不敢說阿法狗實力到位了,只是在擔心小李心態出問題。
但到今天這個狀況,我有個感覺,圍棋軟體對人類的碾壓,可能已經正式形成了。
我個人並不太驚訝,心裡早已清楚在所有棋種上,軟體全面碾壓人類的一天總是會到來的。只是沒想到會這麼快。
那些阿法狗看起來笨笨的不合常理的下法,很可能正是阿法狗將要對圍棋理論進行的顛覆性變革所在。在純粹的冷血的計算面前,所謂的大局觀,所謂的勢,都會變成毫無意義的存在。阿法狗要的,只是贏,它所懂得的,只是計算。它所選擇的,你可以批它不合棋理,也可以批它沒有大局觀,但對它來說,只要贏了就行。
職業棋手看不懂阿法狗的棋,或者說阿法狗下出了職業棋手眼裡的壞棋,很可能只是它的目的隱藏得太深,人類看不出來。
如果軟體能夠普及,從棋的角度說,人類下出來的棋會越來越向軟體的風格靠攏。軟體的出現,將對許多定式進行變革和粉碎。
而棋手的水平會整體性的大幅提高,因為他們都有了一位超越人類的老師。職業棋手將無一例外以軟體輔助訓練,大量的新定式將通過軟體被開發和完善。職業棋手的水平,和業餘棋手的水平,會變得更加接近。
對圍棋技術來說,我想阿法狗的強大是很好的。但對圍棋發展和推廣而言,就另當別論了。
另外覺得挺心疼小李的,輸給軟體這個鍋由他一個人全背上。心裡覺得如果可以換個賽制,比如讓等級分前五都來挑戰,每人下三盤之類的,那就好了。起碼這份打擊可以由多個人來扛,而不是小李一個人承受。關於打劫的問題,代AlphaGo下棋的Dr. Aja Huang正面回應如下
附出處:http://www.yigo.org/modules/newbb/viewtopic.php?post_id=87902#forumpost87902感謝大家的支持和贊,讓我這個沒什麼實質內容的答案獲得了不少關注。幫大家順便搬運一下柯潔賽後微博上的內容,是關於大家非常關注的打劫問題!
我確實是不懂圍棋,不過我想大家既然關注這場對決,看重這場對決背後重大的歷史意義,那麼就請對谷歌和李世石選手有一些起碼的信任和尊重;或許你們可以像柯潔一樣跳出來批評或者質疑李某些招數值得商榷、下得太臭甚至完全不合棋理。但是在擁有確鑿證據之前,什麼保密協議甚至盤口賭注之類的陰謀論就請少談吧。我是不懂棋,但我尊重圍棋。那些張口閉口言之鑿鑿簽了保密協議不讓打劫的陰謀論者,你們可能確實是懂棋,但是你們並不尊重圍棋,更過分的是,你們沒有尊重人。————————————————
阿法狗又贏了。我一個不懂棋的跟著瞎看完了全場也是佩服自己…一邊古力和俞斌:看好白棋有優勢。一邊柯潔:黑棋優勢。古力和俞斌:局勢開始變得微妙。柯潔:黑棋優勢很大。古力和俞斌:局勢仍然很微妙,李世石時間不太夠了。柯潔:早就棋盤扔一邊,阿法狗贏定了,希望李世石接下來努力贏一盤,開始和女主持老大叔們歡樂地聊網紅聊八卦聊微博聊女棋手…古力和俞斌:局勢還是很細微啊……我有點看不懂…過了一個多小時之後…李世石才認輸了…謝邀,第一局大家還沒有看清楚AI的特徵,加上小李有明顯的失誤,還可以自我安慰一下,說不失誤肯定能贏(但是實際上不失誤,電腦接下來肯定不會那麼下,棋局會完全不一樣.)
第二局下完,估計所有解說都會體驗到機器的恐怖,其實正如我上個回答所說:人想要打敗計算機,必須是前半盤建立足夠大的優勢,看起來盤面領先十多目,才能經得起後期AI的各種剝削,如果下到一半發現是細棋,那已經是死人一個了.這次的局面後半盤李並沒有什麼明顯的失誤,同樣,(自從李在左上角打拔以後),計算機也一如既往地認為自己優勢無限大,這次總算獲得了足夠的重視,然而這並不能阻擋AI後半盤繼續教小李做人,還順便在棋盤上寫了個"死"字(然而AI既不會做人,更不會死)電腦在左下的選擇確實有點蠢,我也認同是AI全面虧損,但是虧得並不太多,局面真正轉折點就是這個打拔上,這一步送掉了白棋在左邊的先手,這步棋被柯潔直播狂噴臭棋,用zen模擬整盤棋也可以看到,這兩步之後白棋的勝率(在zen中)第一次大幅下跌,被黑補了這個4以後白棋就陷入了不得不主動去侵消黑棋的局面,然後白左上打入,結果AI根本不理,下了幾步點了點發現形勢好像差不多可以贏,那麼alphago就開始自信滿滿地在棋盤上寫死字了,順便送一塊棋早點結束戰鬥:
AI在這局後半棄掉右上角換中央,這種目數鐵虧的交換,其實是一個明顯的信號,也就是:AI只關心它贏了沒有,從來不關心它能贏多少.這就意味著,它對弱者會下出弱棋,最後小勝幾目,這並不意味著AI很弱,而是它覺得它沒必要表現得太強,可以下一下小虧但是定型更快的棋,別的地方少幾目棋它就不這麼玩了,結果也會同樣這麼小勝幾目,你不能從它以往的行棋來判斷AI的棋力.對業五它是業6水平,對9段它是10段水平,對19段就是20段水平(我以前的答案正是犯了這個錯誤)說不定ALPHAGO對上柯潔,會下出21段的招法,因為它覺得優勢不大不能太浪.所以兩盤下完,柯潔也慫了一點,不敢太跳了.至於打劫,我覺得這裡並沒有什麼陰謀論,計算機要嚴格地檢驗"禁全同"的開銷是很大的,所以最好的辦法是在選點的時候,就盡量避開能被造出大劫的局面,然後人強行做劫,它就可以因為劫太小不去打,右下那個劫,小李估計想和它打的,然而它到最後也沒提,而右上那個,小李要是真的去造劫了,黑大可以把六子接回來,少贏一點而已.以目前的高度來看,我認為阿爾法狗簡直是人類圍棋的結晶,感覺像是李在和古今中外各路高手下棋。其次,希望狗的出現會使圍棋理論革新,比如五路肩沖,以及左下角的棋,為什麼人類普遍不看好而狗卻認為是勝率高的棋,值得反思學習。
謝謝這麼多人給我點贊,人生的第一次,實在是太感動了。對於第二局中普遍出現的狗會不會打劫的質疑,我添加了新的回答在這裡:如何評價對於AlphaGo打劫問題的質疑? - 傻乎乎大熊貓的回答,歡迎大家一起討論。
--------------------------------------------------------------------------------------------------------------------------------------------瀉腰!不知道怎麼人生的第一次被邀請回答就這樣落到了我的頭上,也許是知乎版的阿爾法狗的蒙特卡洛搜索樹在龐大的知乎搜索空間中察覺到了我一直在努力的答題和我內心一個堅定不移向知乎的心(從內心深處說,這樣的被邀應該早就出現了),因此天使就降臨了。言歸正傳,我只是略懂阿爾法狗,對圍棋,自從略懂這個詞的含義被某部電影引申之後,就不再有適合用了。但是既然被邀請了,就要強答一番。
從純理論分析一下機器的表現以及背後蘊含的意義:
1.之前有人通過相關的論文分析過,狗的思維方式和人的思維方式是不一樣的,其核心目的就是每一步都去尋找全局最優解,雖然有時候人會說機器沒有大局觀,其實可能只是人類不懂機器下棋的精妙之處。從搜索能力和搜索空間上來說,人類是不用和機器相比的,人類只有在啟發式的方法上可能佔到便宜。這就解釋了,為什麼有時候狗的下法在職業選手看來是昏招甚至是看不懂的,因為人是根據思維定勢在下棋,而狗是每一步都在計算最優策略。從細節來看,在某些局部的對戰中,雖然李師師同學走法完全沒錯,但狗卻依舊能精妙的佔優。從目前情況看來,在圍棋這件事上,阿爾法 貌似要勝過人類了。
2.從整個棋局的進程來說,開局階段相對於人類的優勢沒有那麼大,這是因為相對於需要搜索的狀態空間太大;但越到棋局的後期,由於需要搜索的狀態空間的急劇減小以及博弈的局部化,人類要想從機器身上佔到便宜,尤其在一個每天還要訓練100萬盤棋的對手身上佔到便宜,其可能性是非常非常小的。
3.很多人都說,阿爾法狗贏了李師師,就代表了奇點的到來。顯而易見,阿爾法狗贏了,這一定是人工智慧的Milestone,但是Deep learning和Reinforcement Learning也不是說適用於任何的場景,更不能說人工智慧就超越了人類思維。一句話,Deep Reinforcement Learning是有瓶頸滴。
另外,為了答這道題,我把下午開會的事給忘了,凄慘被領導罵了。看在我這麼誠心答題,大家給點贊吧這局AlphaGo展現的說服力比第一局要強太多。在李世石通盤沒有明顯失誤(僅僅是中期有少量手數效率低下)的情況下,AlphaGo方是完勝。
前面部分雙方簡明,小李第一盤估計被打虛了,放棄了開局刻意求變和憑計算力剛正面。黑37不是人類感覺,白38就四路貼住感覺並無不可,起來的話也是得失不明。
但AlphaGo左下的部分基本鐵虧,我知道有些人可能更願意相信「AlphaGo這裡就知道要贏了」,但是如果說足球比賽先讓對方1-0也能有助於勝利的話……這個你高興就好。 然後小李可能是優勢意識,64、70緩手,其中70很明顯,柯潔直接怒斥了。從這之後,小李整盤沒有任何發力點,可以說是完敗局面。AlphaGo甚至最後送了一些交換等等,都可以說和大局無關了。 我第一局還可以多擺幾個關鍵圖,這局後面就可以不擺了,因為沒—有—機—會—。至少有一定的理由可以認為,到上圖棋盤所剩的活動空間這麼大的時候,AlphaGo勝券在握。(需要稍微說明一下的是,儘管是70手出頭,但因為雙方缺乏纏鬥都在劃地盤,可動的面積已經不多)這局印證的問題是:
1、AlphaGo展現出了比第一局更強的計算力,或者乾脆的說,和第一局的棋力是不一樣的,而且也沒什麼理由認為這個就是目前的上限。2、AlphaGo的形勢判斷水平其實很高(到上圖局面時,除了柯潔在噴李世石,其他的解說基本還沉浸在白優勢的氛圍)3、棋盤不大且優勢的情況下,AlphaGo不會或幾乎不會犯錯。或者說可以提前打GG也沒什麼問題。所以還可以留給小李一拼的,基本就剩一個打劫,不知道他這局為什麼還要迴避而不是拼一刀。如果說指望AlphaGo開始送的這一點保持到終場,這看起來不太現實,像第一局那種送大概不是常態。而沒有可針對的戰術的話,目前狀態的小李要血崩。我覺得這個程序已經對人類無敵了,柯潔大棋渣來也一樣
今天現場嘉賓解釋了,計算機會選擇獲勝概率最大的走法,至於贏多少目不在考慮之中。假設有兩種走法,A有80%的可能贏20目,B有90%的可能贏1目,程序會選擇B。而人類往往會選擇多積累一些優勢,以便後面出勺子的時候還可以兜住。這樣就造成計算機看起來總是只比對手強一點點,只要夠贏就可以了。他跟二段下,看起來就只有三段水準。跟李世石下,看起來不如柯潔。跟柯潔下,仍然要比柯潔高一點點。如果Alphago自己跟自己下,人類就看不懂了。就像我看不懂9段的棋一樣。update - 評論里吵起來了。附上 alpha go 論文下載鏈接 http://kam.mff.cuni.cz/~spring/2016/papers/go.pdf ,需要的自取阿法狗演示了中國流的正確使用方法。
更新一下:個人覺得黑13的後補中國流是驚為天人極其飄逸的一手,也是奠定局勢帶起節奏的一手,甚至還帶那麼一點嘲諷( ′??? ` ),李世石第一盤的中國流效果並不好。黑13之後,李世石沒有作出最有效率的應對。之後還有精彩的黑37。從那時開始,就一直落後了,而且落後ai,基本上也很難有機會去追了。
評論區有人說這是谷歌流(,,?? . ??,,)阿法狗真的要重新定義圍棋了。從谷歌透露出的信息來看:第二局在中局之前,Alphago判斷的勝率一直是50%以下【誤,應該是不相上下,見注1】。這句話的信息量非常大。這就說明,李世石是有希望贏的,Alphago也許沒有人們現在想像的實力那麼強大。沒有必要神話Alphago。這個判斷是根據Alphago的演算法決定的。
如果略去大部分細節,Alphago是怎麼判斷判斷一步棋的勝率的呢?是從這一步快速走子,走一萬盤,如果60%是贏的,40%是輸的,那麼勝率是60%.【注2】
所以簡單但比較直接的一個理解是:那麼當它選擇這一步的時候,你選擇的是大部分讓他進入40%輸的那個反應,那麼它的下一步勝率就多半會從60%下降。【注2】
然後你如果總能找到讓它進入輸的幾率的那步棋走,那麼它最後會輸 --- 這大體上就是想像中兩
只完全相同的alphgo的下法,另一隻狗算出相同的幾率,它總選擇對它最大,對對手最小的幾率。【事實上有心人會發現這兩句話裡面細節有些錯誤,但它提供的趨勢是正確的。】先把這個概念搞清楚,你就知道,Alphago下的不是神之一手,而是:當它有60%勝率的時候
,它有40%會輸的一手 ---- 真正的神之一手是100%會贏的一手。所以只要知道Alphago在很長的時間內幾率還在50%,60%徘徊,而不是一手棋立刻勝率80%,90%,那它根本距離神之一手還差得很遠。【神之一手這個後面繼續討論】另一個更簡單的角度理解勝率:想像兩個完全相同的Alphago下棋,對一個Alphago的勝率,就等於對另一個的失敗率。所以只要你和Alphago下棋時,一個Alphago判斷它自己的勝率是50%上下,你的水平就等於另一隻Alphago(大體如此)。
所以,單單從谷歌透露出的:第二局在中局之前,Alphago判斷的勝率一直是50%,就說明這段時間內,李世石的表現,事實上和Alphago水平相當。我們知道它開局用了不少我們人類沒見過的招法,很多人認為它這些招法,已經為未來的勝利鋪開了道路。但根據上面的說法,縱然用了那些招法,Alphago自己對勝負的判斷還是在50%左右,這就說明我們沒有必要認為這些招法多麼神奇。這些招法多半是可行的,但李世石與之應對的手段,在Alphago看來是旗鼓相當。
所以:好消息!以下兩條是由邏輯保證正確的:
1. Alphago開局一段時間內50%的勝率估計,嚴格的說明了,在開局的很長一段時間,李世石的水平不遜於一隻Alphago的水平。【注3】2. Alphago的開局新穎,但我們沒有必要認為這些開局為人類鋪了多大的一個坑。很多人認為這些開局是為遙遠,人類沒有看到的勝利鋪開了道路,沒必要這麼嚇唬自己!根據Alphago判斷的勝率,說明讓Alphago下人類的棋,它也會很滿意,認為勝率50%! 如果它真的的已經從開局鋪了一個大坑,那麼它的勝率判斷會迅速的高於50%。再討論兩個問題
1. 進一步考慮,什麼是神之一手?理論上神之一手應該是:開局下的第一步棋,它的勝率就到達了100%。接近神之一手的水平是什麼?是開局下了幾手棋以後,它的勝率迅速的收束到80%,90%。所以一個圍棋軟體的實力,基本等同於相當於隨著它走子的增加,它判斷的勝率的收束的速率。2. 怎麼從Alphago學習?很多了解神經網路或者深度學習的人都說,我們沒辦法知道Alphago為什麼下這步棋,沒辦法學習它的判斷。只能一局輸,一局贏的和它下,進行猜測,不是這樣。
我們已經知道了,當Alphago對任何一步棋判斷勝率50%左右的時候,是我們和它不相上下的時候。那麼,什麼時候它超過我們?當然是它判斷勝率突然增高的時候。這時候說明我們們之前的那一步,多半選擇了錯誤的走法,導致Alphago認為它的下一步棋勝率大增。所以,只要谷歌公開棋局的每一步的勝率判斷,我們就可以非常細緻的研究Alphago究竟在哪一步超過了對手。和本問題相關的回答就是:李世石與 AlphaGo 的第二局比賽有哪些關鍵之處?我們可以看看Alphago對每一步的勝率估計。Alphago認定自己勝率增加的步,多半就是真正的關鍵之出。
所以,我強烈建議大家呼籲谷歌:我們不要求谷歌公開它的軟體的代碼,或者代碼中調節的參量,但我們希望谷歌公布所有對弈中,Alphago對每一步的勝率估計。
而且,我們也非常希望,以後谷歌把Alphago放在網上自由對弈的時候,也把每一步勝率估計作為公開數據,這樣能讓人類也迅速的提高對圍棋的理解。
為什麼要求公布勝率呢?因為人類下棋後是要復盤的。相互指點哪裡是問題所在。現在Alphago下棋不復盤,搞得大家對Alphago各種想像,嚴重高估,很多人的發言,有魂不附體之感。這個是不公平的。請谷歌提供對弈中的勝率估計,也就是請Alphago進行賽後復盤,這是對弈者間的傳統和禮儀,Alphago還是有這個義務的 。【所以李世石同學迄今為止事實上是受到了不公平的待遇】
我會把這一篇貼在不同的問題之下。請大家原諒我的虛榮心
【注1】人機大戰第二盤李世石再敗 "劫爭"是AlphaGo軟肋?--傳媒--人民網哈薩比斯說,「一直到中盤我們都沒有感到優勢,雖然我們不太懂(圍棋),但AlphaGo確實非常有耐心,尤其是在後半盤,表現得似乎已洞悉一切,勝算在握。」
另外,感謝知友 @楊天宇 於 如何看待柯潔表示 AlphaGo「贏不了我」? - 人工智慧評論區提供的數據
ss ss的先生回復的 從圍棋角度看李世石與 AlphaGo 的第二局比賽有哪些關鍵之處? - 人工智慧 其中dududu自己玩 下面的評論透露了這樣的數據:
「在40-48步的時候勝率評估分散式是47%,單機51%」 「70-71這一手alphago認為勝率飆升。現在自評56%」
@ss ss 在從第二頁的評論中還提到
阿爾法每次下完之後都會判斷勝率,今天開局階段自我評價勝率是51%,明顯低於昨天。說明阿爾法也認為今天開局走得不好。同樣的,70手交換後阿爾法勝率上升到了56%,說明阿爾法也認為這是惡手。以此來看人和計算機對於局面的判斷標準是有相通的地方的。
可見Alphago並沒有早在人類還看不見的時候就奠定勝局。事實上也是在人類看見出惡手的地方才開始占明顯優勢。
【注2】學習過Nature那篇文章的人,會知道我這裡只考慮了rollout演算法預估的幾率,沒考慮UCB--alphaBeta-tree的部分。那部分勝率是預估的最劣勝率,但事實上拋開這個假設,也這不會影響到我們的主要結論。
【注3】這個結論接近嚴格(考慮兩個Alphago對弈的假設)。不需要【注1】中的簡化這個結論也成立:50%的勝率估計,基本等同於對手的實力和Alphago相當。
本文可以隨意轉載,請註明出處。有一點需要說明一下。很多圍棋人士總是說,「AlphaGo下了某某步是俗手」,他們這裡犯了一個錯誤。所謂俗手,那只是對於人類來說的,人類的特點是:計算能力有限,重對經驗規律的把控,偶爾糊塗犯錯。而俗手,可能由於會破壞經驗棋感,增加計算量,一不小心容易演變成臭手,等等原因,導致人的勝算變低。但電腦沒有上述人類缺陷,因此那招棋就不見得是壞棋。有人說的所謂的棋理和正確下法,其實考慮了人類自身能力的特點,所以圍棋先人們把某些不適合人類學習掌握的下法列為俗手,而對沒有那些缺陷的電腦來說任何一種下法都是平等的。比賽解說講,看了AlphaGo的新下法之後,我們對圍棋的理解和下法要改變了。其實我倒不這麼認為。俗手依舊不適合人類去學習,因為人類不具備計算機的計算能力,因為人類很依賴經驗規律,因為人類太容易犯錯。
黑棋13手我就已經報警,37手肩沖以後我就覺得阿法狗下得圍棋和我以前看到的圍棋不是一個圍棋。以前有人說AI只會死算,沒有大局觀,現在回頭看一下阿法狗被詬病的幾手棋,都是雖然局部不是最強手,但是全局影響很大。
也許現在可以猜想,人的大局觀可能已經被人工智慧超越了。
不想預測以後。昨天第一局戰敗,我最擔憂的不是棋盤內的勝負,而是李世石的心態調整,這至關重要。
歷史總是驚人的相似,人機大戰讓我想起了當年吳清源大戰日本群英高手。這是一個新時代的到來。
有人說像是李世石以一敵一百個程序員,而我卻覺得這是AlphaGo是以一個機器之驅對抗一百個職業棋手的聯合作戰,甚至讓我彷彿看到在未來所有高手聯合起來商量最優解並可以悔棋的前提下與機器對弈仍然不是對手,這也不是不可能的。
吳清源大師對於圍棋境界的總結是什麼嗎?——「平常心」。
所謂「平常心」即是面對對手和勝負不悲不喜,置身度外,心無雜念,只關注當下的棋局。
從這一點來說,沒有感情的AlphaGo絕對是可以超越人類。
從李世石在第一局中為了考驗AlphaGo故意在布局前幾招就下出不常見的招數來看,李已經在心態上輸了。因為他知道這個對手不同於其他對手,已經失去了真正的平常心。
因為之前人類的所有預測、分析、判斷都給李世石帶來了無形的壓力,他知道自己代表人類而戰,知道幾個月前Al贏了樊麾,知道大家一致認為Al勝率很小,這一切都影響了他的心。
李昌鎬的全盛時期被稱為石佛,像石佛一樣面無表情又步步為營,強大到讓對手無從攻破,而如今無影無形的AlphaGo更像是一個無形之神。
在賽前,我預測了一下李同學可以採取的戰術:
1. 戰術建議:我弱弱的分析一下目前AlphaGo的一些棋風,AlphaGo喜歡作戰,甚至是職業棋手看似有些無理的地方引起爭鬥(老師告訴我們這樣是不對的,但AlphaGo不管那個)。李同學平時面對的普通高手,一般會因為對李的尊敬和求穩心態避開戰鬥,但AI正相反。個人建議:宇宙流做大模樣,在布局時充分發揮子的效率。馬曉春寫過《三十六計與圍棋》,其中「聲東擊西「「圍魏救趙」的戰術為上佳之策,但要提防AlphaGo的無理打入,這將是關鍵。
2. 戰略建議!!!調整心態,不把AI當成特殊對手,就當是與真人對弈或者是網路中的不知名對手,以一顆「平常心」面對,不去研究什麼對戰AI戰術戰略——此處無招勝有招,見招拆招。
小時候被教導下棋時(象棋),是說贏要贏得乾脆利落,50手能解決的問題不要拖到100手。局勢落後時,要儘可能拖延,不到最後不認輸。
但狗不是這樣的思路。它只要贏,至於贏得是否漂亮,I don』t care.
於是,人類就會有一個錯覺:我能反殺!
然後,似乎感覺每一次都差一口氣就能贏了,但就是贏不了。好比你打出對K,狗打出對A,你拿出三張Q,狗拿出三張K。
現在沒人知道狗的頂在哪裡。你感覺狗在和你對剛,實際它只是在玩,像下指導棋。
最後,當你拿出4張2的時候,狗又拆了兩幅新牌。。。
就像貓和鼠的遊戲。。。細思恐及推薦閱讀:
※類似 AlphaGo 的人工智慧在遊戲王、萬智牌等卡牌遊戲中勝率如何?
※如果AlphaGO級別的AI去玩爐石傳說,會怎樣?
※先有引力波,後有阿爾法狗,我們是不是站在大時代的起點?
※如何評價第四局比賽 AlphaGo 輸給李世乭?
※DeepMind 研發的圍棋 AI AlphaGo 是如何下棋的?