黃士傑返台分享AlphaGo Zero開發過程 - 圍棋

Table of Contents

※ 引述《tlchen (台灣加油)》之銘言:
: ※ 引述《qweewqq (風一樣的男子)》之銘言:
: : DeepMind指出,他們不使用任何人類知識,AlphaGo Zero用上的是新的「強化學習」方法
: 對於 "不使用任何人類知識" 這句, 我心中始終有個大問號.
: 首先, 在一開始的 random play, AZ 根本不知何時要停.
: 必須人工設定去停它. 這用到了人類知道這樣的遊戲, 應該有限步要停.
: 雖然 AZ 的參數是經由自我對戰學的, 但整個架構呢?
: 要有幾層的的類神經網路? 每層有多少節點? 層跟層間的結構?
: covolution 要用 5x5 還是怎樣的大小?
: 要怎樣配合 VN, PN? 要用 MCTS 來尋找?
: 這些都沒用到人類的圍棋知識嗎?
: 這整個大架構, 是在學人類棋譜時, 發現這樣的架構, 可以訓練出不錯的 AI.
: 這架構不是隨便設就行得通的吧?
: 經由人類棋譜訓練, 找到一個好的大架構, 這樣可以稱作不使用人類知識?
: 如果今天一個完全不懂圍棋的人, 只針對規則, 就去訂了大模型架構,
: 然後經由自我對戰去學參數. 這樣的結果, 那叫做不使用任何人類圍棋知識.
: 現在這樣算嗎? 我心中實在有很大的黑人問號.

1.
AGZ 怎會不知何時要停? 何必需要什麼特別人工設定它? 跟第一盤或第幾盤也沒關係
給定圍棋規則(禁自盡 禁同型)
即使你2個人類對下 到最後雙方再無可著手的時候就是終局(你可以找個人試試)
這跟機器或人類無關


1. 原po 一直在搞混人類知識跟人類圍棋知識


所謂人類圍棋知識 是專指人類"在棋盤上"的著手 應法 思考 這叫圍棋知識(不包括基本規則)
AGZ "就算有" 建立在之前 AlphaGo的基礎上 比如說要用 幾層類神經網路 MCTS 或其它
"人類工程上"的知識 但這些跟"人類圍棋知識" 並不相同 基本上這個是工程問題 數學問題 主是跟棋盤大小
圍棋規則 及圍棋本質等相關的東西 而跟人類"棋盤上的著法"無關

基本上你搞混了 build time 跟 run time
AGZ的工程師懂或不懂圍棋也不重要(他要懂基本規則) 他不需要是一張白紙
除非AGZ 的設計者有把 什麼不屬於基本規則的想法寫入程式 如征子 定石 手順等等
不然AGZ 本來就沒用到"人類圍棋知識"

就是只給定基本規則 所有的著法都可以 所有的著法都是自我對戰發現改良的
它訓練過程根本沒看過人類下棋 沒跟人對下

總之
人類工程上對圍棋的知識(解法 演算法 設計等) \= 人類圍棋知識
寫出一個GAME 不代表我在玩這個GAME時是天下無敵
在GAME裡面無敵不表示我能寫出這個GAME
一個是 build time 一個是 run time
這兩個意義也不同 不要搞混
如果你今天要把人類只要跟圍棋有關的東西都叫人類圍棋知識了
把所有東西都定義進來 這就沒什麼好講的

(至於你一直說AGZ大架構有沒有用到人類的圍棋知識,
如果AGZ 只針對圍棋的基本規則去設計 優化 那就沒有用到
如果AGZ 有針對盤面特定結構去設計 優化 那就是有)



--
Sent from my Windows

--

All Comments

Eden avatarEden2017-11-13
簡單明瞭
Adele avatarAdele2017-11-17
還有 alpha go 並不是因為人類棋譜才找出一個好的大
架構 而是本來就設計出一個架構 才拿人類棋譜來驗證
或先得到一個還不錯的結果
Sandy avatarSandy2017-11-20
樓上這個可有根據?我抱懷疑的態度
Linda avatarLinda2017-11-20
電腦圍棋的演進,如何設定,不斷在改變
Olivia avatarOlivia2017-11-25
而改變的原因,很大的因素是看跟人下,怎樣改變可提升勝率
Hamiltion avatarHamiltion2017-11-26
AlphaGo 的架構,完全跟之前的無關?
Zora avatarZora2017-11-30
講個較極端的例子,假設今天有個工程師分別用VGGNet,
Tristan Cohan avatarTristan Cohan2017-12-04
你應該先看一下 DZG作者那串文
Gilbert avatarGilbert2017-12-09
GoogLeNet, 及 ResNet 設計了三個AI. 並分別用人類棋譜去
Audriana avatarAudriana2017-12-11
alphago實際上是用現有的一些技術拼湊實驗出來
Thomas avatarThomas2017-12-11
學參數.然後三個AI對打,假設最後ResNet贏了,所以工程師之
Andy avatarAndy2017-12-14
過去就算有人想到 也沒有足夠資源做出來
Hazel avatarHazel2017-12-19
zero就更不用說了 成本高的誇張
Damian avatarDamian2017-12-20
後就只用ResNet的版本,然後用自我對戰學參數.
Belly avatarBelly2017-12-22
這樣的AI,算不算沒有用到人類的圍棋知識?
Robert avatarRobert2017-12-24
無言 顯然沒看懂這篇
Lydia avatarLydia2017-12-26
根據這篇的說法,那似乎是沒有用到人類的知識
Jack avatarJack2017-12-26
alphago一開始就拋棄了人類的「圍棋知識」
Lily avatarLily2017-12-31
在我的認知,它用到了人類的圍棋知識.因為所謂的優化,並不
Damian avatarDamian2018-01-02
餵人類棋譜的時候 還可以說會受人類決策的影響
麻煩先定義一下 什麼叫「圍棋知識」
Emma avatarEmma2018-01-03
不只是參數的優化.這位工程師,一開始還做了一個三種模型
間的優化.而這個優化,用到了人類圍棋知識
Regina avatarRegina2018-01-04
不用人類棋譜, 純粹自戰可能也會得到 ResNet 最適合的結論
John avatarJohn2018-01-07
tlchen,我建議你先定義一下你的人類圍棋知識是哪些
你從來沒定義過你這個用詞指涉的範圍,這樣討論不下去
Kumar avatarKumar2018-01-10
類似的情況是我之前文章說的,大架構的優化,沒用到人類的
知識嗎?
Catherine avatarCatherine2018-01-13
這些根本不是圍棋知識 而是寫程式的知識
Hedda avatarHedda2018-01-13
人類的知識和人類的圍棋知識差很多耶?你指哪個?
Joe avatarJoe2018-01-14
人類的知識, 但不見得是圍棋的
Michael avatarMichael2018-01-16
只要規則定義清楚 程式設計師根本不需要會下圍棋
Kumar avatarKumar2018-01-18
我說的是人類圍棋知識,而棋譜是它的表現
Kyle avatarKyle2018-01-20
不過以DM說可以應用在其他領域(伺服器省電),應該是泛用的
Hedda avatarHedda2018-01-22
若選大架構是可以從自戰選的,我就認為是沒用到人類圍棋知
Annie avatarAnnie2018-01-23
識,這是我在先前文章就這樣說的
Leila avatarLeila2018-01-25
不用, 反而需要的是神經網路方面的知識
Blanche avatarBlanche2018-01-27
所以不要鬼打牆啦,你的「人類的圍棋知識」的定義是?
Skylar DavisLinda avatarSkylar DavisLinda2018-01-30
master之前 訓練過程會從人類棋譜取得特徵
Ethan avatarEthan2018-01-31
所以可以視為間接接收了人類的圍棋知識
但是演算法本身和圍棋知識並沒有關係
Rosalind avatarRosalind2018-02-03
我們先來搞定最基礎的定義再繼續往下討論
Queena avatarQueena2018-02-04
這些不只是寫程式的知識,每個領域,要用怎樣的架構,是不同
Hedwig avatarHedwig2018-02-06
棋譜可以從人類來,但大多是自戰 (後來就純粹自戰了
Jack avatarJack2018-02-09
寫程式的人也不需要會下棋
Zora avatarZora2018-02-11
為什麼在圍棋適合用ResNet,這不需要對圍棋的了解?
Hedy avatarHedy2018-02-16
這個就是寫程式的知識 和規則有關, 和棋力無關
Tristan Cohan avatarTristan Cohan2018-02-19
實驗一下就知道了 為什麼需要額外的知識?
Daniel avatarDaniel2018-02-19
不需要, 因為 ResNet 和 圍棋沒有關係啊
Adele avatarAdele2018-02-23
從論文也看的出來 過程中試過又丟掉的東西肯定很多
這些和圍棋本身並沒有關係 圍棋高手也看不出來哪種好
George avatarGeorge2018-02-25
實驗一下就知道,但怎麼實驗的?有沒有用到人類的棋譜?或是
跟人下?
Kumar avatarKumar2018-03-01
或許真的可以用自我對戰去選大架構,而這樣做出來的,如我文
所說,我認為這樣是不靠人類圍棋知識.但 alphago zero是嗎?
Harry avatarHarry2018-03-03
這是我主要的疑問
Margaret avatarMargaret2018-03-07
要實驗就兩個演算法對下 需要什麼棋譜?
Rae avatarRae2018-03-11
我再問一下,你所謂「人類圍棋知識」的定義是?
你一直不定義清楚,是要怎麼討論下去?
Rae avatarRae2018-03-14
結論只有誰贏, 這個不需要有棋力吧?
Yedda avatarYedda2018-03-15
他大概覺得被李世石找出問題,AG要用同個架構訓練更久也算吧
Hardy avatarHardy2018-03-18
3天的AGZ打不過Master,要40天,但因為Master有人類棋譜所以.
Kristin avatarKristin2018-03-19
簡單來說 Alpha go 餵人類棋譜或自我對戰 訓練出來
的是參數 相當於人類的記憶 而alpha go 程式則相當
於大腦本身
Xanthe avatarXanthe2018-03-21
記憶可以換可以訓練 但這並不會去影響大腦本身的結構
不清楚這點也不用再扯了 這是run time 的東西
Cara avatarCara2018-03-23
除非在build time的時候 工程師把除了圍棋規則以外
的想法寫了進去 或加進結構 這點本文已有說明
Linda avatarLinda2018-03-25
人類圍棋知識,就是除了圍棋本身規則,人類根據這規則而有
的想法或產品
Kristin avatarKristin2018-03-27
問題是這個大腦的結構是人為建構的,人為如此建構,是否經
某種優化過程,而過程是否用到人類圍棋知識
Skylar Davis avatarSkylar Davis2018-03-29
像我舉的例子,要用某模型,決定的過程是否用到了跟人對戰
Cara avatarCara2018-04-02
或其它人類圍棋知識
Rae avatarRae2018-04-06
AlphaGo Zero 沒有,就這樣
Linda avatarLinda2018-04-06
當然實驗可以是兩個AI對下,但兩個AI對下,它們用的參數是
怎麼來的
Dora avatarDora2018-04-11
了解tlchen 他現在把AG工程師如果因為用人類棋譜得
到的結果 使得工程師去選擇了某個演算法 所造成對AGZ
的影響 也認為是"人類的圍棋知識"的影響
Jack avatarJack2018-04-13
其實alphago從一開始就沒有
zero是連人類知識的間接影響都拋棄不要
Erin avatarErin2018-04-18
AlphaGo Zero 的大架構是跟 AlphaGo Master 類似的
你確定這個架構沒有?
Emma avatarEmma2018-04-18
寫程式的又不用會下圍棋
Donna avatarDonna2018-04-19
但前面已說過即使有 這是人類工程上的圍棋知識 而不
是人類棋盤上的圍棋知識
Hedy avatarHedy2018-04-24
如果tlchen的理解像james大講的,那也不用討論了
Skylar DavisLinda avatarSkylar DavisLinda2018-04-28
建立適合圍棋的模型 不需要什麼圍棋知識
Michael avatarMichael2018-05-02
MCTS這方法不是AlphaGo先用的,它也拿來用,不是根據之前的
經驗?
Damian avatarDamian2018-05-03
幾乎都是工程考量 想辦法提高演算法的效率
Yuri avatarYuri2018-05-07
如果工程師完全只用圍棋規則推導出來的 那就肯定沒
有人類棋盤上的知識在裡頭
Rebecca avatarRebecca2018-05-09
不需要圍棋知識,就可以知道怎樣選擇適合的模型?
Erin avatarErin2018-05-11
說穿了都是剪枝的方法 哪種好是比較出來的
Linda avatarLinda2018-05-15
初期弱的時候 判斷好壞包括比對和人類棋手決策的命中率
Jacky avatarJacky2018-05-19
人類工程上的圍棋知識是怎麼來的?難道不是先前的實驗,利用
到人類的圍棋知識
Ursula avatarUrsula2018-05-23
變強以後這招就不靈了 直接對下個100盤最快最直接
什麼叫工程上的圍棋知識?
Carolina Franco avatarCarolina Franco2018-05-27
我這篇推文的一開始例子看一下,那算不算用到人類圍棋知識?
Jacky avatarJacky2018-05-30
比較好壞跟人類棋譜何干?
Lydia avatarLydia2018-06-04
AlphaGo前的AI和AlphaGo的架構完全不同啦
Olive avatarOlive2018-06-07
是不是機器學習這點是決定性的差別啊
Edith avatarEdith2018-06-07
所以前面就說DZG作者專訪先看一下
James avatarJames2018-06-10
b大,回去看一下我的例子,那些AI的參數是用棋譜學的
Hamiltion avatarHamiltion2018-06-14
裡面講以前的做法 那些才叫「圍棋知識」
棋譜是拿來訓練用的 跟架構也沒有關係
Steve avatarSteve2018-06-14
這裡的參數又是指啥?
Ethan avatarEthan2018-06-15
s大,MCTS之前的AI有沒有用?AlphaGo也拿來用,這沒用到經驗?
Harry avatarHarry2018-06-18
b大,我講的圍棋知識,前面有定義.棋譜是其展現
Regina avatarRegina2018-06-21
MCTS跟圍棋知識毫無關係
Andrew avatarAndrew2018-06-24
你不知道MonteCarlo是指什麼嗎
Sandy avatarSandy2018-06-29
參數是類神經網路的那些 weights, master 是用人類棋譜學
Margaret avatarMargaret2018-07-01
MCTS是一種通用演算法,不止用在圍棋
Barb Cronin avatarBarb Cronin2018-07-02
而 AZ 的參數是經由自我對戰學的
Irma avatarIrma2018-07-03
原始的演算法可是亂下下到完
Ivy avatarIvy2018-07-04
要用AI當然就不想用人類知識 看不出要把人類的圍棋
知識加入幹嘛 圍棋可以光數學純綷推導 優化 加入人
類知識只是更多例外更難寫 以AGZ來說 沒有 end 你要
堅持你自己的想法跟世界不同 那就繼續吧 大家都錯了
deep mind 也説謊 你是對的
Lydia avatarLydia2018-07-05
MCTS當然不止用在圍棋,但之前在圍棋上有成功的經驗,而
Hedwig avatarHedwig2018-07-06
zero證明了master之前也只是抄近路
Xanthe avatarXanthe2018-07-11
AlphaGo 也用了, 沒用到前人經驗?
Jacob avatarJacob2018-07-13
從亂下開始慢慢訓練起 結果還可以更強
Kama avatarKama2018-07-13
那跟圍棋知識根本無關
Catherine avatarCatherine2018-07-16
是前人的經驗沒錯啊,但是這不是在人類圍棋的知識內吧
Skylar Davis avatarSkylar Davis2018-07-20
你到底有沒有搞清楚自己在問啥?
演算法的知識 != 人類圍棋的知識
Mary avatarMary2018-07-21
人類工程上的圍棋知識怎麼來的?當然是思考跟推導來
的 這不需要會下圍棋 只要會思考 數學 跟基本規則
Emma avatarEmma2018-07-24
他定義的"人類圍棋知識"其實是"人類開發電腦圍棋累積知識"
我這樣解讀對不對?
Michael avatarMichael2018-07-28
樓上這定義也太小看deepmind了
它用的技術雖然之前多半都存在
Brianna avatarBrianna2018-07-29
要把它們湊在一起並不是件容易的事
Regina avatarRegina2018-08-01
啊? 我只是試圖解讀tl的定義啊
Olive avatarOlive2018-08-04
tl沒有意識到一件事 就是MCTS和圍棋知識是背道而馳
Necoo avatarNecoo2018-08-05
就連隨機亂下到完 都能得到一定的棋力
Steve avatarSteve2018-08-07
T大什麼神邏輯?照這樣講世界上沒人能稱作無師自通了
。因為學習過程就算沒問過其他人,沒參考過書籍,但因
為其他人類已證明人腦是學得會且有效的,所以只要有人
成功做過的事,那就算有用到前人經驗??
Jacky avatarJacky2018-08-12
tlchen有沒有看過zero自戰的第一盤?很精彩,建議看看
Valerie avatarValerie2018-08-16
一開始沒有做活跟吃子的觀念,亂下碰觸到規則才發生吃子
Adele avatarAdele2018-08-20
還會自己把空填滿自殺
Ursula avatarUrsula2018-08-21
而黑子181枚,白子180枚,共361枚,下完就沒得下了,最後由
規則來定出勝負。Zero就是從這種模式訓練過來的!
Annie avatarAnnie2018-08-22
看了一下,不止..40block下到共541步,20block下到共469步
Todd Johnson avatarTodd Johnson2018-08-25
我是覺得可以放棄解釋了,基本上他就是用他的自定義在做討
Ophelia avatarOphelia2018-08-30
論,或者說根本不是要討論而只是想講他的定義
Bennie avatarBennie2018-09-03
@wadashi1 沒有子下完這種事。規則上萬一真的雙方子用完,
可以用交換死子的方式重新取得可下的子。
Charlotte avatarCharlotte2018-09-04
應該說初始的價值網絡都是一片空白的,完全只依靠人
類給的算式求最佳解
Kama avatarKama2018-09-08
@chris610020 你解釋這個已經沒有用了,因為那就是認為那
個一片空白的網路也算是靠「他認為的圍棋知識」選出來的
Noah avatarNoah2018-09-13
他就是
Sarah avatarSarah2018-09-15
他講的偏向演算法優化,盡量不要做無意義的事
Olivia avatarOlivia2018-09-16
不優化只是跑的比較慢,解果還是一樣的
Carolina Franco avatarCarolina Franco2018-09-20
結果
Mason avatarMason2018-09-23
這倒未必,選取的架構不同也許會落到不同的Local Max裡面
Mason avatarMason2018-09-25
而落到Local Max裡面並沒有什麼理論保證一定出得來
Mia avatarMia2018-09-28
感覺起來tlchen認為..因為圍棋規則來修正Zero就算是用到
Audriana avatarAudriana2018-09-30
人類圍棋知識,但..不給Zero規則,它怎麼知道怎麼玩?什麼
Skylar Davis avatarSkylar Davis2018-10-04
不能下?怎麼決定勝負? 人類的定石,征子,棋譜,所有人類的
技巧,Zero完全沒有,有的只是定義的圍棋規則對它的修正。
Valerie avatarValerie2018-10-06
tlchen沒說的那麼淺,但是他認為繼承上一版本的原始架構
Mason avatarMason2018-10-07
參數都是圍棋知識,這和大多數的定義不同,問題是他的定
Quanna avatarQuanna2018-10-09
義目前沒引出什麼有建設性的討論。
Frederic avatarFrederic2018-10-12
這篇不是很明確說出人類棋譜等於人類圍棋知識了嗎?
Rae avatarRae2018-10-16
規則比較像邊界條件,不屬於知識吧
Damian avatarDamian2018-10-18
如果只是棋譜本身不是知識,是資訊。要將資訊歸納整理後
James avatarJames2018-10-19
才能稱為知識,比如說你如果不懂化學拿到元素週期表
Hazel avatarHazel2018-10-23
就算能夠全部背起來也不能說懂得週期表裡面的化學知識
Ethan avatarEthan2018-10-28
拿電腦圍棋來說,AG出世前的第一波專家系統AI通常都有真對
Kumar avatarKumar2018-11-01
判斷局部攻殺部分輸入人類的定石Data,與AG的最大差別並非
William avatarWilliam2018-11-05
輸入不同的data,而是使用了人類圍棋知識中"局部"的觀念
Oscar avatarOscar2018-11-07
來做死活判斷,而局部這個觀念是人類自行總結的規則裡沒有
Olive avatarOlive2018-11-11
tlchen一開始就對參數這東西理解錯了 weight怎麼給的也
Susan avatarSusan2018-11-15
是靠機器學習自己修正的 須要人給weight還能算機器學習?
Carol avatarCarol2018-11-18
辛苦,那廝基本上就是自尊心太強的X孩
Olive avatarOlive2018-11-18
別再浪費時間回啦