AlphaGo常見問題總整理 - 圍棋

Table of Contents


大家好,
我這幾天看了很多資料和文章,
整理了一些關於AlphaGo的常見問題和解答,
希望能減少大家對AlphaGo的誤解。

如果認為我寫的回答有錯,
或還有什麼值得編進去的問題,
都歡迎推文告知,
我會盡快修改。


全文連結:

http://roger0123.blogspot.tw/2016/03/alphago.html



全文:

AlphaGo是什麼?
AlphaGo是英國DeepMind公司開發的一套圍棋AI程式,也是目前(2016年3月)已公開的圍棋AI中最強的一個。
由於DeepMind公司已經被Google收購,所以AlphaGo也可以說是「Google的AlphaGo」。
在2015年10月,它以5:0擊敗了連續三年獲得「歐洲圍棋冠軍盃」冠軍的樊麾二段,在2016年1月公開了消息後,引起棋界及學界的注目。
在2016年3月9~15日,它與當時公認最強棋士之一的韓國棋士李世 (或稱李世石)進行5局的「人機大戰」,目前進行到第4局,由AlphaGo以3:1領先。


AlphaGo的中文名稱是?
目前沒有官方譯名。
比較可能的翻譯大概是「阿爾法圍棋」,因為「Go」就是「圍棋」的英文,而這是從日文音譯到英文的。也有各種翻譯像是「阿法狗」、「阿爾法狗」、「阿發狗」。


AlphaGo跟其他的圍棋AI差在哪裡?
最大的差異在於AlphaGo使用了「類神經網路」這個技術,這讓AlphaGo擁有媲美職業棋士的「棋感」和「局勢判斷能力」,目前其他AI都沒有如此精確的估算能力。
(「棋感」可以解釋成「看盤面就能快速知道下哪些位置可能不錯」的能力)


AlphaGo是不是把大量的棋譜存起來,下棋時參考?
不是。
雖然AlphaGo在訓練過程中確實有看過大量棋譜,但這些棋譜只被用來調整AlphaGo的參數,沒有被存進去。可以這樣理解:AlphaGo不是死記棋譜,而是記住其中的應對原則。


棋譜中沒出現過的棋形,AlphaGo是不是就無法應對?
不是,但可能應對得比較差。
因為AlphaGo本來就不是死記棋譜,所以就算是跟棋譜不完全一樣的棋形,AlphaGo也能大略判斷出合適的應手。
而且AlphaGo(或任何圍棋AI都)具有「試下接下來的棋步並判斷局勢」的能力,所以就算AlphaGo沒辦法只憑過去的經驗找出適合的應手,也能即時計算之後的好幾步,看哪一手最有可能讓它獲得優勢。
不過如果棋形真的太特殊,導致AlphaGo漏算了某些不容易發現的棋步,就有可能會下得特別差。


為什麼AlphaGo這麼強?
我認為可以這樣想:AlphaGo擁有與職業棋士差不多的「棋感」和「局勢判斷能力」,又有人類所不及的「運算能力」可以計算接下來數十步的變化,所以能打敗人類職業棋士也是不意外的。


AlphaGo有沒有弱點?
一種說法是,如果能下出棋譜中極少出現的佈局、妙手,出乎AlphaGo的預測,AlphaGo就會很難應對。例如與李世石對弈的第四局中,在李世石下出第78手的妙手之後,AlphaGo之後的幾手就下得特別差,很可能就是這樣的情況。
這方面說法很多,建議直接看Google搜尋的結果吧!


==關於AlphaGo與李世石的比賽==


AlphaGo在賽前有沒有針對李世石做調整?
沒有。
在這段採訪(英文的)中DeepMind公司的CEO -- Demis Hassabis有明確說明AlphaGo沒有針對李世石的棋做訓練。
針對某一個棋手的棋譜來調整參數是一件很危險的事,可能讓AlphaGo的判斷變得偏頗,精準度下降。而且AlphaGo在訓練後期已經不是根據現有棋譜,而是自己跟自己下好幾千萬盤來調整。


AlphaGo是不是每跟李世石下完一局,就會變強?
不會。
理由跟上一個問題一樣。


對於AlphaGo所下的一手,有另一種下法「似乎」更好,是不是AlphaGo失誤了?
可能是也可能不是。
首先,畢竟AlphaGo並不完美,所以另一種下法可能真的是更好的。
但也有可能是:人們主觀認為AlphaGo下的棋不好,其實不然。例如對局中有出現一些俗手、緩手,乍看之下不夠好,但考慮到後續的變化後,AlphaGo所下的棋可能才是最好的。許多職業棋士也漸漸有相同的看法。


對於AlphaGo所下的一手,有另一種下法「絕對」更好,是不是AlphaGo失誤了?
對人類而言是,對AlphaGo不是。
這個基本上都發生在官子階段或盤面上的小區域,由於人類能算出接下來的全部變化,所以可以肯定AlphaGo下的棋不是最好的。
但這並不是AlphaGo失誤,只是因為它追求的是「獲勝機率最大化」而不是「獲勝目數最大化」。

舉例1:在某個局面有兩種下法:下法A比較簡明但局部會虧幾目,下法B比較複雜卻是局部的最佳下法。在AlphaGo計算勝率時,可能因為下法B比較難算,不確定性比較高,所以算出勝率是60%;而下法A的步數少,可以往下算得比較深,最後算出勝率是70%。那AlphaGo就會選擇稍微虧幾目的下法A。就像是當你處於優勢時,會選擇比較穩健的下法一樣。

舉例2:在接近終盤的時候,有可能接下來的所有變化都已經算清楚了,而且有多種下法都能達到100%的勝率,那麼這些下法在AlphaGo眼中是沒有差別的(理論上沒錯,但不確定實際上怎麼從中選擇),如果AlphaGo選擇了一個會稍微虧損但仍然能勝利的下法,人們就會認為AlphaGo下錯了、沒有下在最好的位置。


比賽前有沒有秘密協議禁止李世石「打劫」?
沒有。
這是由於AlphaGo與李世石對弈的前2局都沒有出現劫,尤其第2局中李世石有多處可以選擇打劫卻都沒有選擇,加上很多圍棋AI都不擅長打劫,才傳出的謠言。
在謠言傳出後不久,AlphaGo開發者之一的黃士傑已出面澄清沒有此協議;而在與李世石的第3局棋中也出現了劫,可見沒有這個秘密協議。

--

All Comments

Suhail Hany avatarSuhail Hany2016-03-15
AlphaGO單機跟分散式相關的訊息
Leila avatarLeila2016-03-16
推整理
Linda avatarLinda2016-03-21
整理得不錯
Lydia avatarLydia2016-03-24
小修正一下,樊麾第五盤就已經有打劫了
Elma avatarElma2016-03-27
這個樊麾自己有說,網路上棋譜也可以看到
Kelly avatarKelly2016-04-01
Mason avatarMason2016-04-01
「由AlphaGo以3:1領先」→這樣講不能說錯,但更好的講法是
lphaGo已經確定在五戰三勝的系列賽贏了,
接下來只是看李世石最後是拿下一局或二局。
Iris avatarIris2016-04-01
推整理
Brianna avatarBrianna2016-04-05
不是不能打劫 是不擅長打劫 說真的怎麼可能不能打劫 Zen
之流的都會打劫了 只是擅不擅長而已
Robert avatarRobert2016-04-09
固狗 阿法狗 超順的
Gilbert avatarGilbert2016-04-12
有辦法從程式的觀點來解釋「不善長打劫」的現象嗎?
Lauren avatarLauren2016-04-12
優文
Tracy avatarTracy2016-04-15
應該是說電腦判斷打結的勝率還有複雜度高 盡量避免
Agatha avatarAgatha2016-04-18
電腦沒有擅長的概念 他就是照數據模式走而已
Hedy avatarHedy2016-04-19
就是打劫變化太複雜 會扯太遠 讓他看不清楚勝率
Olivia avatarOlivia2016-04-24
當然阿法狗相對之前的Zen的打劫能力一定也比較強 但是應
該比職業頂級高手弱
Charlotte avatarCharlotte2016-04-26
勝利最大化是對的 如果是贏子最大化 會變成招招險棋
會變成棋靈王有一集新人賽左為和塔使名人那樣
Belly avatarBelly2016-04-28
也有可能是現階段AG歸納出來的結論就是避劫,因為勝率會降低
Barb Cronin avatarBarb Cronin2016-05-02
第四盤局後問答中有提到AlphaGo賽前訓練的棋譜是業餘高段棋手
Yuri avatarYuri2016-05-06
電腦不太可能像人類這麼彈性去判斷何時該執著 冒風險
Joe avatarJoe2016-05-08
跟類神經網路自己跟自己左右互博的棋譜,所以沒有針對李世石
Hardy avatarHardy2016-05-09
問答中也提到AlphaGo在五局中都是使用同一個版本的AlphaGo
Jake avatarJake2016-05-09
大推整理
Olivia avatarOlivia2016-05-11
打劫怎麼勝率會降低?那職業棋手都白癡沒事找劫打?
Mary avatarMary2016-05-16
我是說AG的理解(推測), 不是人類的
(我的推測)
Madame avatarMadame2016-05-20
我是覺得他們可以設定電腦遇到危機後運算開深一點
Tristan Cohan avatarTristan Cohan2016-05-22
險棋模式 關鍵時刻允許更花時間去深層大範圍的計算
Freda avatarFreda2016-05-24
看直播的評論都說, AG這幾盤棋盤中有要複雜度減低的傾向
Annie avatarAnnie2016-05-24
他們以後要讓電腦自主學習 我建議把棋譜時間也算進去
Hamiltion avatarHamiltion2016-05-24
大推,很多不瞭解AG的總是有些奇怪的問題
Edward Lewis avatarEdward Lewis2016-05-27
我想問幾個問題 第一是背定石和開局佈局算不算背譜?SL n
etwork難道只能算是過一下、無涉及「背」的習得人類棋步?
你是把「學習」重新定義了嗎?
Agatha avatarAgatha2016-06-01
另外 , 「獲勝機率最大化」不該對應「獲勝目數最大化」...
....
Anthony avatarAnthony2016-06-04
因為後者不會是個好參數
Edith avatarEdith2016-06-07
可能會導致AlphaGo沒有棄子的誘敵戰術
Wallis avatarWallis2016-06-08
Demis在記者會上回答的有可能並不精確 個人覺得
Aaliyah avatarAaliyah2016-06-12
https://www.youtube.com/watch?v=yCALyQRN3hw&t=6h9m
這邊有回答到沒針對的部分
Franklin avatarFranklin2016-06-13
超清楚
Delia avatarDelia2016-06-17
推。關於AlphaGo對李世石可能調整,要不要補官方回應XD?
Adele avatarAdele2016-06-20
請問"根據NN算出落點"是在對戰中進行的嗎?
Quanna avatarQuanna2016-06-23
To 樓上: 是啊,SL policy, RL value, rollout都是唄
James avatarJames2016-06-26
我覺得你在唬弄啊 要value 憑空要怎麼value? 又不是鄉
Necoo avatarNecoo2016-06-30
把棋譜數據化 再根據這個數據做分析 作出判斷的標準 然
後就可以公開說AG完全都不用靠棋譜的喔~~ 哈 這種說話
技巧也太厲害 沒人覺得AG可以在比賽中找到一盤剛好跟正在
進行的一樣情況的棋局然後照著下 但它要靠數據做分析
而數據對電腦來說就是棋譜 好嗎!
Robert avatarRobert2016-07-01
照你的話,你覺得AG把棋譜「用來train neural network,tr
ain完就把棋譜扔了」,就可以假裝根本沒有一個放棋譜的資
料庫存在?那它一開始是從哪裡拿棋譜出來train呢?你的自
由心證裡嗎?我都說沒人以為它是拿棋譜出來照著下了,你
還硬要再扯到棋譜的定義.....真是無言。就跟你說的更清楚
一點,DeepMind的老闆在第四局後的記者會講的很輕巧,說Al
phaGo「只用過網路上業餘棋手的對局」,這話大有疑問,他
們的演算法真就那麼厲害?!而你在這裡還幫他再補一句其
實連棋譜的資料庫都沒有....甚至扯到維基百科 lol
Brianna avatarBrianna2016-07-01
alphago最近是封閉版本,不會進化。
Sierra Rose avatarSierra Rose2016-07-02
bbbtri你真的誤解了,真要說..他們的演算法就是那麼厲害
Sierra Rose avatarSierra Rose2016-07-07
人記得棋譜,下棋時舉一反三下棋我們可能會稱為背
Margaret avatarMargaret2016-07-08
如果打完譜忘了,但是從中學到的經驗觀念加以使用則不是
Kristin avatarKristin2016-07-10
演算法不能簡單擬人化,但是真要擬人化就是像後者...
Edith avatarEdith2016-07-15
對了,跟李九段對弈的有1920 CPU+280 GPU,來源維基百科
Ivy avatarIvy2016-07-18
你以為利用機率來下棋就不涉及"背"嗎? 取80%的著手來下
Ethan avatarEthan2016-07-21
或是取20%的著手來下 難道都不算"真接應用"?
"直接應用"