ALPHA GO 輕鬆介紹 - 圍棋

Tom avatar
By Tom
at 2019-05-19T22:19

Table of Contents

雖然標題說是輕鬆介紹,但是我是盡量把數學概念轉化成具體的能想像的事物。


給對圍棋熟悉,但是不甚完全了解AI下棋,尤其是ALPHA GO(以下只稱AG)的板友,我會盡

可能省略一些術語以及一些比較難而細節的部份,盡量維持在人腦下棋與AI下棋的差異。

我很討厭所謂的科普結果還是只有相關懂的人才看得懂的文章。


AI下棋的基礎還是建立在窮舉法,以及混入一些決策過程,但這以前只適用在象棋,西洋

棋這類從印度發源的棋類。即使是將棋還加入了打入的手段也不例外。因為每個棋都有各

自被限制棋類的功能性,因此在當下盤面,使用窮舉法馬上就可以知道接下來的一兩步盤

面變化,而這些盤面變化又可以很輕鬆的刪去很多不必要的走法: 例如走到某一點直接毫

無意義被吃掉。


AG結合了很重要的三個過程:

1) 背棋譜,但不一定必要,也可以採用另一種方式建立AG,直接下兩個過程來回建立出

自己的棋譜

2) 人類神經模擬

3) 有效率的窮舉法

其中前兩者與高端棋士做的事情差不多,但要注意所謂的人類神經模擬,只有一部份真的

與人在判斷盤面變化時有關係。而窮舉法在這裡扮演的腳色,已經不是以往大量直接從盤

面取得的盤面資訊,進行窮舉。AG使用了更有效率,採用盤面勝率評估(以下會提到)高的

一些節點進行窮舉,這樣省下了非常大部分的運算。


我們從AG從建立到下棋的過程說起,首先是背棋譜,這時與高端棋士一樣背了大量棋譜。

所以基本的局部死活題理解,高端棋士是與AG旗鼓相當的。對於詰棋大致上AG不太會出錯

的。


以下稍微複雜一點,但是只要用自己下棋的思考過程來想,應該不是太困難。在背了大量

棋譜後,AG並不滿足現有的棋譜,它開始進行自我訓練,採用蒙地卡羅樹可以在這部分得

到很大的幫助,蒙地卡羅樹基本上就是考慮到勝率評估,開始進行選點,採用那些點往下

延伸之後的可能一些走法,每一個蒙地卡羅樹下的某一步如果明顯劣於這樹下的其他走法

會直接被中止運算。


至於什麼是蒙地卡羅樹?每一個蒙地卡羅樹可以想像成,你在下棋時先想到下這個點,然

後開始推算後續變化,各種後續變化就構成一個蒙地卡羅樹。有些走法(在蒙地卡羅樹下)

,被評估明顯劣勢甚至輸掉,你就不會再考慮,AI的行為則是會直接截斷這條線之後的走

法不再運算,如果這個選點(整個蒙地卡羅樹)最後你認為全部延伸走法都沒意思,那整個

蒙地卡羅樹也會直接被終止不再運算,並考慮其他蒙地卡羅樹。非常重要的是,在這自我

訓練過程,AG會盡可能選一些不一樣的點下棋,一直下到完。這會產生勝率評估值。每一

個蒙地卡羅樹會跑到破1000次的後續走法模擬,而且也會隨機下棋以試試看新走法,但人

類在一個蒙地卡羅樹也許只能推到後續幾十步,高端棋士可能到破百步。這樣的AG自我練

習,會生出非常大量的新形態棋譜,而且就算一開始只讓它背高端棋譜,這自我練習的總

體品質仍然會高於原有輸入的高端棋譜。因為在這部分原有的棋譜會被拿出來當作自我對

弈的目標。


再來就是這個勝率評估值會分配給每個走法,形成一個有權重的下棋方向。什麼叫做有權

重的下棋方向?權重在這裡很簡單,就是勝率評估值,AG從大方向(最後的勝利)出發,最

後將形成一個權重網路。這裡就想像成你在蜘蛛網上走路(別管蜘蛛網黏不黏),最終目標

是要走出蜘蛛網(只要走出去就算勝利,不用管走哪條路),蜘蛛網的線有些很細,有些很

粗,你會理所當然走粗的線以防斷掉。但是也要考慮到權重網路,如果眼前有一條很粗的

線,卻只通往全部都是極細的線,那你當然就不會走這條路,而會選擇一條整體每條線負

重力總和最大的路線,這裡就是前面提到的部分的人類神經模擬。但是別忘記,AI可以直

接給出每條線一個勝率評估值,最後進行總和,而人腦只能靠直覺給出一個大略的數值。

而且高端棋士雖然背了上萬份棋譜,但是AG自己亂下試出了更多勝率更高的棋譜變化。接

著隨著對手下的每一步棋,整個蜘蛛網絡會重新更新一次,AG再次進行蒙地卡羅樹的運算


=================================
這裡我想要補充一些d大的建議,以及推文的疑問

沒錯,這裡我的確在說明的順序上沒處理好,我一開始就有注意到。

蜘蛛網的每條線其實就是勝率評估值,在心裡評估怎麼走出去時,蜘蛛網會不斷改變

,這裡就是大量的蒙地卡羅樹組合而成的蜘蛛網。

而勝率評估值很仰賴評估對手下一步會怎麼下,所以才會有本文的最後一段:對手下一步

會如何下的評估準確率。所以A大考慮是正確的,預測兩方彼此下了幾十步甚至幾百步,

AG給出一個勝率評估值,而這個值本身又有一個誤差,這點在ALPHA GO的論文中也有提

到。
=================================

因此高端棋士會輸給AG原因是因為:

1) AG背的棋譜及數量就已經比較優秀以及更大量(AG: 二到四千萬份棋譜 vs 高端棋士:

一到二萬份棋譜)

2) 在一個走法的勝率評估上算出相對準確的值,例如這步棋差異可能高達0.5%勝率差距

,但人類評估不出來,累積下來就是AG必勝

3) 在同樣的時間內AG可以多開幾個蒙地卡羅樹,也就是多判斷幾個走法,這個部分就是

讓高端棋士比較迷惑之處,看似沒意義的一步,但是AG算過後,發現勝率評估值比起小戰

場的勝敗還高的話,AG會選擇這步(不過這步勝率評估值篇高甚至可能早就在AG的自我對

弈中發現了,不用當場算出來)。


直接對AG的實力進行對弈評估,目前結論是看出先餵給它大量棋譜進行監督式學習,它對

於目前權重網路,對手下一步(限高端棋士)的預測準確率比較高; 但是讓它自己學習,一

開始顯然較弱,但是它最終的ELO卻會高於讓它從所謂的高端棋譜起步的AG。


這裡出現一個很有意思的問題,也就是說直接給AG自己在規則下自我下棋學習,它最後的

強度,會突破先餵給它棋譜的實力。而且根據AG的圖表,大概在只要訓練20~36小時(這時

自己學習的AG顯然也出現ELO的上升趨緩,所以僵持了比較久才明確超越,但後面又會忽

然提升)左右,自己學習的AG的ELO便可以穩定超越受監督的AG。然而對於針對高端棋士的

下一步預測準確率,在自我訓練下棋的AG卻永遠低於受監督AG。這點根據研究結果,團隊

只指出自我學習的AG發展了自己的一套策略。這點也許是因為所謂"高端棋士的棋譜"其實

不是勝率最高的,以至於自我訓練的AG對於人類的棋譜,有較低的準確率,因為建立它在

自己更優秀的整體棋譜上。


關於以上這點有了解的人,或許可以說明,謝謝。

---------------------------------------------

我不希望用數學迷惑版友,不像某人為了證明自己毫無研究過的論點,講出一大堆對毫無

幫助的數學名詞,想為自己的立論佐證,我認為這點毫無意義。

另外我也為我幾天前的暴躁感到抱歉,當時我已經連續工作了超過32小時,回到住處卻發

現某人跟風在諷刺我的刪文,我無論如何也是老PTT人,知道刪別人文的嚴重性。本來想

給它台階下,結果它卻跟風嘲諷我的恥度,所以當下極為暴怒。

總之抱歉,希望這篇文99%的版友都看得懂,知道AG到底在做什麼,這就達到我之前的承

諾了,謝謝。

--
Tags: 圍棋

All Comments

Anonymous avatar
By Anonymous
at 2019-05-23T14:22
讚 清晰
Quanna avatar
By Quanna
at 2019-05-23T21:06

道歉給推
Jessica avatar
By Jessica
at 2019-05-27T10:46
讚!喜歡這種文章
Frederica avatar
By Frederica
at 2019-05-31T11:07
雖然這篇脈絡理得不錯,不過其實我覺得可以多給你一點建議
Delia avatar
By Delia
at 2019-06-02T20:15
經典的科普文有幾個雖非絕對但至少經常具備的要素:
Catherine avatar
By Catherine
at 2019-06-06T20:20
1. 從非常輕鬆、聊天式的故事導入並可能在中間進行各段落
的引導
Xanthe avatar
By Xanthe
at 2019-06-10T22:03
2. 接續上一點,有一些問答從一般人的角度出發,針對容易
產生於一般大眾心中的問題進行處理
Linda avatar
By Linda
at 2019-06-13T06:33
3. 對於每個專有名詞或某些專門機制,不是直接解釋其實際
William avatar
By William
at 2019-06-15T16:11
做法及功能,而是以一些一般人都知道的事物先進行比喻,然
Elma avatar
By Elma
at 2019-06-19T05:22
後才將比喻中的各要素進行補充對應到原始機制上
Ina avatar
By Ina
at 2019-06-19T06:41
關於3的部分,像你文中就用到了一個還不錯的走出蜘蛛網比
Candice avatar
By Candice
at 2019-06-20T04:53
喻,但是對我而言整體並沒有極好的理由是你把比喻跟原始機
Oliver avatar
By Oliver
at 2019-06-25T00:52
制及術語混在一起一次寫,會導致這個比喻其實起的效用被削
弱。
單就那一段,我建議可能是走以下的脈絡:
Rebecca avatar
By Rebecca
at 2019-06-29T15:55
1. 先完整從頭到尾寫出一個「走出蜘蛛網」的比喻
2. 開始對應「走出蜘蛛網」劇本中與原始問題與機制的對應
Daph Bay avatar
By Daph Bay
at 2019-07-01T21:03
,比如必須明確寫出蜘蛛網的粗細是哪個機制算出來的?走出
Emma avatar
By Emma
at 2019-07-04T09:27
蜘蛛網的起點是什麼,目標又是什麼?每走一步都要重新織蜘
Queena avatar
By Queena
at 2019-07-06T05:56
蛛網嗎?還是可以描述成「在一面很大的網上走,可是蜘蛛是
Suhail Hany avatar
By Suhail Hany
at 2019-07-07T12:42
大近視,對於越遠網線的粗細看得越不清楚,要等走近一點才
重新看一次把粗細判斷得更清楚一點」之類的?
Una avatar
By Una
at 2019-07-07T17:19
而對於其他段落,這篇就相對比較欠缺一開始三點所說的引導
Ingrid avatar
By Ingrid
at 2019-07-09T00:49
故事、新手問答及比喻對應等要素,所以即便脈絡清楚、即便
Una avatar
By Una
at 2019-07-12T04:39
你盡可能省去艱澀的專有名詞及技術內涵,但是整體仍然會相
對讓人比較覺得是「用詞比較不深的技術概要文章」而非「科
Andrew avatar
By Andrew
at 2019-07-13T04:47
普」。當然現在去搜尋科普文章,也是有很多就用這樣的寫法
Erin avatar
By Erin
at 2019-07-13T14:03
,所以這也不是寫法有什麼對錯,只是我個人覺得在科普的易
讀性、引導性跟趣味性來說,那三點應該是蠻有幫助的要素
Andy avatar
By Andy
at 2019-07-16T12:26
例如下面科普寫作網路平台的第二屆人與自然科普寫作桂冠
獎首獎:
http://bit.ly/2w9crjD
Andy avatar
By Andy
at 2019-07-18T03:08
第四屆人與自然科普寫作桂冠獎三獎:
http://bit.ly/2wa2pP2
第五屆人與自然科普寫作桂冠獎三獎:
Wallis avatar
By Wallis
at 2019-07-20T12:28
http://bit.ly/2w7433U
Quintina avatar
By Quintina
at 2019-07-23T13:01
可以看到他們對於故事性、問答及比喻都有不同比重的採用,
Audriana avatar
By Audriana
at 2019-07-25T18:49
但不管如何,這三個要素都能讓閱讀者腦中的景象鮮明起來,
Isabella avatar
By Isabella
at 2019-07-29T19:55
且容易跟隨到寫作者的脈絡。
James avatar
By James
at 2019-07-30T19:19
像是如果科技業應該很可能聽說過的The Joel on Software
Belly avatar
By Belly
at 2019-08-02T06:36
系列文章(集結出書時譯為約耳趣談軟體)也都帶有這些要素
Ida avatar
By Ida
at 2019-08-06T11:00
http://bit.ly/2w6ovBZ
Lydia avatar
By Lydia
at 2019-08-09T10:35
雖然Joel的針對面向是已經相對熟知程設或科技業的人,所以
Hedy avatar
By Hedy
at 2019-08-11T05:35
不那麼科普,但他還是很擅長加入這些要素讓文章變有趣
Faithe avatar
By Faithe
at 2019-08-14T17:30
推原po 跟 ddavid
Brianna avatar
By Brianna
at 2019-08-18T06:09
你好 我想請問 AG是用甚麼方式評估該點的勝率呢?因為
要評估勝率不是本來就要往後算幾步嗎?
Mia avatar
By Mia
at 2019-08-20T00:36
講得太複雜 失敗
Victoria avatar
By Victoria
at 2019-08-22T13:35
以蛛網比喻的話,我以為每次(模擬)對局,走過的蛛網會變粗
Jacob avatar
By Jacob
at 2019-08-24T00:43
贏的話蛛網才變粗,輸的話就變細
Ingrid avatar
By Ingrid
at 2019-08-25T18:54
George avatar
By George
at 2019-08-30T08:44
沒搔到癢處,太過簡略等於沒寫一樣
Mary avatar
By Mary
at 2019-09-02T21:57
Oscar avatar
By Oscar
at 2019-09-11T19:35
AlphaGo Lee-->AlphaGo Master-->AlphaGo Zero-->AlphaZero
Barb Cronin avatar
By Barb Cronin
at 2019-09-12T08:35
討論到刪推文 刪推文引起別人不滿被酸有甚麼好暴怒的
Carol avatar
By Carol
at 2019-09-14T13:08
Gilbert avatar
By Gilbert
at 2019-09-16T11:21
推!!

第五屆歐洲圍棋職業定段賽

Bethany avatar
By Bethany
at 2019-05-18T15:07
https://www.eurogofed.org/proqualification/index_2019.html 第五屆歐洲圍棋職業定段賽正在法國的史特拉斯堡進行中, 到目前(18日開賽前)歐洲等級分排名前16的選手經過雙敗淘汰賽, 已經決定了八強,他們將在剩下的這兩天的單淘賽選出今年唯一的歐洲新初段。 ...

新手自學如何起步

Iris avatar
By Iris
at 2019-05-17T01:52
最近剛考完大學,想學一些課餘能做的休閒活動 而很久以前想來學學看圍棋,正好有時間 這兩周自己去網路上翻了一點資料,也看了一兩本入門書 感覺好像對於規則和死活的概念大致上了解,也找了一些簡單的詰棋來做 但是在和電腦下圍棋時(9X9的棋盤),總是不知道自己該在棋盤上做甚麼, 大都只是照感覺在佔地,然後就被初 ...

本因坊秀策實力

Ethan avatar
By Ethan
at 2019-05-16T20:08
現在重看棋魂到了動畫第56話,也就是塔史行洋對sai 之前沒注意到,作者意思是說即使強者如本因坊秀策 放到現在也只是和頭銜擁有者(日本國內)不相上下的實力? 追求神之一手,經過了千年之久,最後只贏了國內最強的棋手半目? 換句話說,本因坊秀策如果在現代日本國內,頂多和 井山裕太、許家元、張栩、村川大介、伊 ...

首次報名業餘比賽 請教相關事項

Eartha avatar
By Eartha
at 2019-05-16T10:33
大家好! 小弟接觸圍棋多年,從去年開始重拾圍棋。 想參加業餘比賽,但沒有任何經驗。 目前看到有一場賽事:臺中市議長盃圍棋運動錦標賽 不曉得該報甲組還是乙組? 現在野狐棋力:1k 另外,沒有參加過實體圍棋比賽,比賽時有什麼該注意的事項嗎? 如何拿圍棋和放到棋盤上,有試過,只是不熟練。 想請棋友們,歡迎給 ...

請問白第200手(附圖)大家習慣會如何應對?

Rebecca avatar
By Rebecca
at 2019-05-13T13:14
https://imgur.com/fnBQpA9 想和版上強者討論: 如圖,小弟用手機APP CRAZYSTONE和電腦下棋,電腦棋力是8K,執白子 下到最後原本小弟想說應該會贏個10目左右 結果電腦第200手在左上角小目下了下去 後來我就慌了...然後左上角的角被它作活了... 想討論第20 ...