ALPHA GO 輕鬆介紹 - 圍棋
By Tom
at 2019-05-19T22:19
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到底在做什麼,這就達到我之前的承
諾了,謝謝。
--
給對圍棋熟悉,但是不甚完全了解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
By Anonymous
at 2019-05-23T14:22
at 2019-05-23T14:22
By Quanna
at 2019-05-23T21:06
at 2019-05-23T21:06
By Jessica
at 2019-05-27T10:46
at 2019-05-27T10:46
By Frederica
at 2019-05-31T11:07
at 2019-05-31T11:07
By Delia
at 2019-06-02T20:15
at 2019-06-02T20:15
By Catherine
at 2019-06-06T20:20
at 2019-06-06T20:20
By Xanthe
at 2019-06-10T22:03
at 2019-06-10T22:03
By Linda
at 2019-06-13T06:33
at 2019-06-13T06:33
By William
at 2019-06-15T16:11
at 2019-06-15T16:11
By Elma
at 2019-06-19T05:22
at 2019-06-19T05:22
By Ina
at 2019-06-19T06:41
at 2019-06-19T06:41
By Candice
at 2019-06-20T04:53
at 2019-06-20T04:53
By Oliver
at 2019-06-25T00:52
at 2019-06-25T00:52
By Rebecca
at 2019-06-29T15:55
at 2019-06-29T15:55
By Daph Bay
at 2019-07-01T21:03
at 2019-07-01T21:03
By Emma
at 2019-07-04T09:27
at 2019-07-04T09:27
By Queena
at 2019-07-06T05:56
at 2019-07-06T05:56
By Suhail Hany
at 2019-07-07T12:42
at 2019-07-07T12:42
By Una
at 2019-07-07T17:19
at 2019-07-07T17:19
By Ingrid
at 2019-07-09T00:49
at 2019-07-09T00:49
By Una
at 2019-07-12T04:39
at 2019-07-12T04:39
By Andrew
at 2019-07-13T04:47
at 2019-07-13T04:47
By Erin
at 2019-07-13T14:03
at 2019-07-13T14:03
By Andy
at 2019-07-16T12:26
at 2019-07-16T12:26
By Andy
at 2019-07-18T03:08
at 2019-07-18T03:08
By Wallis
at 2019-07-20T12:28
at 2019-07-20T12:28
By Quintina
at 2019-07-23T13:01
at 2019-07-23T13:01
By Audriana
at 2019-07-25T18:49
at 2019-07-25T18:49
By Isabella
at 2019-07-29T19:55
at 2019-07-29T19:55
By James
at 2019-07-30T19:19
at 2019-07-30T19:19
By Belly
at 2019-08-02T06:36
at 2019-08-02T06:36
By Ida
at 2019-08-06T11:00
at 2019-08-06T11:00
By Lydia
at 2019-08-09T10:35
at 2019-08-09T10:35
By Hedy
at 2019-08-11T05:35
at 2019-08-11T05:35
By Faithe
at 2019-08-14T17:30
at 2019-08-14T17:30
By Brianna
at 2019-08-18T06:09
at 2019-08-18T06:09
By Mia
at 2019-08-20T00:36
at 2019-08-20T00:36
By Victoria
at 2019-08-22T13:35
at 2019-08-22T13:35
By Jacob
at 2019-08-24T00:43
at 2019-08-24T00:43
By Ingrid
at 2019-08-25T18:54
at 2019-08-25T18:54
By George
at 2019-08-30T08:44
at 2019-08-30T08:44
By Mary
at 2019-09-02T21:57
at 2019-09-02T21:57
By Faithe
at 2019-09-04T07:48
at 2019-09-04T07:48
By Edwina
at 2019-09-09T03:45
at 2019-09-09T03:45
By Oscar
at 2019-09-11T19:35
at 2019-09-11T19:35
By Barb Cronin
at 2019-09-12T08:35
at 2019-09-12T08:35
By Carol
at 2019-09-14T13:08
at 2019-09-14T13:08
By Gilbert
at 2019-09-16T11:21
at 2019-09-16T11:21
Related Posts
第五屆歐洲圍棋職業定段賽
By Bethany
at 2019-05-18T15:07
at 2019-05-18T15:07
新手自學如何起步
By Iris
at 2019-05-17T01:52
at 2019-05-17T01:52
本因坊秀策實力
By Ethan
at 2019-05-16T20:08
at 2019-05-16T20:08
首次報名業餘比賽 請教相關事項
By Eartha
at 2019-05-16T10:33
at 2019-05-16T10:33
請問白第200手(附圖)大家習慣會如何應對?
By Rebecca
at 2019-05-13T13:14
at 2019-05-13T13:14