Re: [新聞] 黃士傑返台分享AlphaGo Zero開發過程

作者: tlchen (台灣加油)   2017-11-08 20:23:24
※ 引述《qweewqq (風一樣的男子)》之銘言:
: DeepMind指出,他們不使用任何人類知識,AlphaGo Zero用上的是新的「強化學習」方法
對於 "不使用任何人類知識" 這句, 我心中始終有個大問號.
首先, 在一開始的 random play, AZ 根本不知何時要停.
必須人工設定去停它. 這用到了人類知道這樣的遊戲, 應該有限步要停.
雖然 AZ 的參數是經由自我對戰學的, 但整個架構呢?
要有幾層的的類神經網路? 每層有多少節點? 層跟層間的結構?
covolution 要用 5x5 還是怎樣的大小?
要怎樣配合 VN, PN? 要用 MCTS 來尋找?
這些都沒用到人類的圍棋知識嗎?
這整個大架構, 是在學人類棋譜時, 發現這樣的架構, 可以訓練出不錯的 AI.
這架構不是隨便設就行得通的吧?
經由人類棋譜訓練, 找到一個好的大架構, 這樣可以稱作不使用人類知識?
如果今天一個完全不懂圍棋的人, 只針對規則, 就去訂了大模型架構,
然後經由自我對戰去學參數. 這樣的結果, 那叫做不使用任何人類圍棋知識.
現在這樣算嗎? 我心中實在有很大的黑人問號.
作者: HeterCompute (異質運算)   2017-11-08 20:29:00
說實話,只是你的文字跟他的文字定義不同而已,今天Deepmind就是在說我今天進入一個新的領域,我不需要這個領域的知識,只需要最基礎的規則就行,然後
作者: tlchen (台灣加油)   2017-11-08 20:31:00
Deepmind 傳達的是,不需要人類棋譜
作者: HeterCompute (異質運算)   2017-11-08 20:31:00
就能用我豐厚的神經網路知識配合一些搜索去解決它
作者: HeterCompute (異質運算)   2017-11-08 20:32:00
你的意思是,他新的這套神經網路有用也是基於之前的
作者: tlchen (台灣加油)   2017-11-08 20:32:00
深度學習的架構要怎麼設, 不用的領域, 設法不同
作者: HeterCompute (異質運算)   2017-11-08 20:33:00
try&error,所以現在像星海這種就是很好的試基石
作者: tlchen (台灣加油)   2017-11-08 20:33:00
現在是先因為人類棋譜, 它選了適合的模型
作者: tlchen (台灣加油)   2017-11-08 20:40:00
就看最簡單的,把 5x5 換成 3x3 or 11x11, 行得通嗎?
作者: birdy590 (Birdy)   2017-11-08 20:40:00
規則不算是知識 沒有規則遊戲本身根本不成立
作者: tlchen (台灣加油)   2017-11-08 20:41:00
規則有了, 但什麼時候要停?
作者: birdy590 (Birdy)   2017-11-08 20:41:00
它的判斷是從雙方完全亂下開始慢慢訓練出來
作者: tlchen (台灣加油)   2017-11-08 20:42:00
沒有人為去設個停止, 電腦會自己填自己的地
作者: HeterCompute (異質運算)   2017-11-08 20:42:00
你可以看一下AZ最一開始的棋譜,幾乎是把整個棋盤
作者: birdy590 (Birdy)   2017-11-08 20:42:00
把棋盤填滿為止 規則不是這樣嗎
作者: birdy590 (Birdy)   2017-11-08 20:43:00
它真的會 但不用多久就會學會這樣對局面不利
作者: tlchen (台灣加油)   2017-11-08 20:43:00
是幾乎,但是, 為什麼不繼續下? 因為有人為設步數限制
作者: HeterCompute (異質運算)   2017-11-08 20:44:00
另外他判斷規則勝利的方法是Tromp-Taylor scoring
作者: birdy590 (Birdy)   2017-11-08 20:44:00
你需要搞懂它的原理 判斷輸贏都是把棋盤填滿為止
作者: HeterCompute (異質運算)   2017-11-08 20:45:00
這個規則應該是有讓終局well-defined,所以嘗試過
作者: birdy590 (Birdy)   2017-11-08 20:45:00
沒有什麼人為限制 填死自己一開始真的會
作者: tlchen (台灣加油)   2017-11-08 20:48:00
一陣子它會了, 但第一盤呢, 第一盤為什麼有辦法停下來?
作者: birdy590 (Birdy)   2017-11-08 20:48:00
棋盤填滿如何不停?
作者: tlchen (台灣加油)   2017-11-08 20:50:00
棋盤怎麼填滿, 自己的地可以填啊
作者: HeterCompute (異質運算)   2017-11-08 20:50:00
MCTS本身就有防呆啊,兩眼不可能自己填死自己只要不填死自己,就繼續填啊
作者: tlchen (台灣加油)   2017-11-08 20:51:00
當一開始什麼都不知道,為什麼知道不能填?
作者: HeterCompute (異質運算)   2017-11-08 20:52:00
因為你兩眼填成一眼,你就要被提了,MCTS就知道不能
作者: birdy590 (Birdy)   2017-11-08 20:52:00
它不知道 這是學會的
作者: tlchen (台灣加油)   2017-11-08 20:53:00
下了會輸,可以避免. 但第一盤呢?
作者: birdy590 (Birdy)   2017-11-08 20:54:00
一開始連1,1這種自殺步可能都會下
作者: tlchen (台灣加油)   2017-11-08 20:54:00
MCTS 之所以有用, 它知道怎樣是終你自填死後, 為什麼不可能後來反而贏?
作者: birdy590 (Birdy)   2017-11-08 20:55:00
一開始MCTS還是一樣計算 只是準確性很差第一盤還是一樣算啊 啥都不會就接近亂數有公布初期自戰棋譜 看了就懂了
作者: tlchen (台灣加油)   2017-11-08 21:47:00
這都不足以解釋,第一盤怎麼停的.MCTS是要看停的結果,但問題不知道什麼叫停
作者: birdy590 (Birdy)   2017-11-08 21:57:00
那都是規則的一部分 所以一直只會下中國規則規則如果有大變動 就可能需要砍掉重練
作者: HeterCompute (異質運算)   2017-11-08 22:02:00
別誤導,不是用中國規則,是用Tromp-Taylor
作者: aegis43210 (宇宙)   2017-11-08 22:14:00
用Tromp-Taylor,那難怪連笑打個連環劫,CGI就算不清因為Tromp-Taylor為了算的快,只算前八子有沒有禁同形
作者: HeterCompute (異質運算)   2017-11-08 22:17:00
Tromp-Taylor有規定八子?那是Deepmind自己規定的?
作者: birdy590 (Birdy)   2017-11-08 22:19:00
在棋局完全結束的時候,Tromp-Taylor規則可以視為等同於中國規則然後它允許填子自盡 所以初期自戰一定會出現
作者: CodingMan (程式俠)   2017-11-08 22:29:00
看一下論文好不好
作者: kero9420 (利利)   2017-11-08 23:16:00
這篇感覺只是想要抓語病+引戰吧
作者: Chothort (栩栩如笙)   2017-11-08 23:55:00
鑽牛角尖
作者: yys310 (有水當思無水之苦)   2017-11-09 00:02:00
對於這句有問號可以去挑戰nature editor阿
作者: Yibooo ( )   2017-11-09 00:05:00
抱歉打岔 其實最最最最原始的圍棋規則就是下到不能下為止所以有些人認為還棋頭是更合理的圍棋規則因為「你自己下不進去的地方就不是你的地」
作者: tlchen (台灣加油)   2017-11-09 00:48:00
模型的大架構有沒有受助人類棋譜,跟他們的claim,是大問題還是抓語病,鑽牛角尖? 我就不多辯了
作者: birdy590 (Birdy)   2017-11-09 00:50:00
模型其實來自規則 不是人類棋譜對zero來說人類棋譜根本不存在
作者: OverInfinity (超越無限)   2017-11-09 01:27:00
第一盤會停就是因為按照規則沒地方下了https://www.youtube.com/watch?v=uKPtFxnmzm0
作者: jpg31415926 (圓週率π)   2017-11-09 01:47:00
你乾脆說AlphaGo是人做出來的就等同用了人類知識算了
作者: s89162504 (阿本)   2017-11-09 02:03:00
你的邏輯這麼差怎麼會來逛圍棋板= =
作者: Eriri (英梨梨)   2017-11-09 05:38:00
真無言
作者: tlchen (台灣加油)   2017-11-09 08:50:00
O大,你貼的那盤,可以解釋為什麼不繼續填自己地?至於模型來自規 則? 這是大問號, CNN 要幾層? convolution的 size 要是多大, 這是來自規則?這些參數, alphago zero 沒用到 alphago 先前版本?邏輯該如何,夠懂 learning 自然懂我在說什麼.不懂,我說再多也是多說
作者: CGary (下雨天也挺浪漫的)   2017-11-09 09:11:00
有些東西paper裡面的確沒有說 其實上次DM的AMA你應該可以問問看...
作者: birdy590 (Birdy)   2017-11-09 09:31:00
為什麼不繼續填自己地? 你知道規則怎麼判定棋局結束嗎就算用到 alphago 先前版本的演算法 也與人類棋譜無關這些其實都是工程決定 像Tromp-Taylor等於用容易程式化的方法把中國規則寫成清楚的條文
作者: chigi (  )   2017-11-09 10:15:00
你不懂的地方,說實話你應該去詢問作者。已經公布的paper來challenge一點意義都沒有,也許你說的對她沒交代清楚其中的細節也只有發表的人知道。無論是什麼原因沒寫到,在這討論還是沒意義阿,你當版友有參與開發嗎Orz
作者: tlchen (台灣加油)   2017-11-09 10:24:00
我之前看Tromp-Taylor規則,是連兩個pass,還是我誤會了?重點是,黑白有一方知道 pass 後會輸,那為什麼要 pass?為什麼不繼續下下看?至於演算法跟人類棋譜無關?一開始在設架構時,直接定了?還是通常是,試各種定法,看哪種可以學得好?學的時候, 沒用到人類棋譜?這樣可以說是大架構沒用到人類棋譜?我原文有說,若由一個只懂規則的人,直接定了架構就自戰那是沒有用到人類圍棋知識, 沒有問題但是 alphago zero 似乎不是這樣啊對不起,好的方法的確是問作者,我只是發表個心得讓大家看得不舒服,抱歉了
作者: birdy590 (Birdy)   2017-11-09 10:31:00
那是工程判斷 不叫用棋譜 棋譜是猴子下的也沒影響吧?為什麼要 pass? 那得計算結果得到 pass 會贏才會選計算顯示填自己地比 pass 差 那為什麼會填?為什麼用 40-block 不用 20-block 同樣是一種工程判斷別人評估用不起就只能用 20, 這種決定又不是絕對的
作者: saulesmeitas (太陽女)   2017-11-09 12:12:00
你去看AGZ的自戰 一開始真的是亂扔加自填地 最後的停止方法是 下到全局都只剩禁著點了 於是白棋投降局面圖 https://imgur.com/a/fRDeC
作者: thomaspig (沈豬)   2017-11-09 13:41:00
這篇在幹嘛
作者: harrybbs (harrybbs)   2017-11-09 16:16:00
樓上上的解釋正確
作者: tlchen (台灣加油)   2017-11-09 16:19:00
s大,請問一下,白棋其實還可以填自己的地啊,可不可能自己全被提後,反而可以反敗為勝?我們知道不可能,但電腦呢?為什麼電腦知道不可能?
作者: saulesmeitas (太陽女)   2017-11-09 16:28:00
呃…你是不是不會下圍棋?白棋全盤死得一個子都不剩而且你看到的那些空格都是白方不能落子的點
作者: shellpig (貝殼)   2017-11-09 17:37:00
至少這AI懂圍棋規則...反觀
作者: birdy590 (Birdy)   2017-11-09 17:39:00
現在通行的規則絕大部份都禁止自殺 就這樣
作者: ddavid (謊言接線生)   2017-11-09 17:47:00
白棋自填自殺是規則禁止,只存在於金庸小說裡面下到所有空處都是禁著,就是被迫Pass
作者: tlchen (台灣加油)   2017-11-09 18:32:00
所以規則有禁止自殺? 我真的不知道.會下棋的人知道那樣是自殺,但一開始不會下棋的AI呢?好像問一下,禁止自殺的規則,是多大的自殺算自殺?
作者: birdy590 (Birdy)   2017-11-09 18:37:00
"棋盘上的任何一点,如某方下子后,该子立即呈无气状态同时又不能提取对方的棋子。这个点叫做“禁着点”。"
作者: ddavid (謊言接線生)   2017-11-09 18:39:00
你可以先去把規則弄清楚再繼續這個討論嗎XD
作者: birdy590 (Birdy)   2017-11-09 18:40:00
另一個限制 "着子后不得使对方重复面临曾出现过的局面"
作者: ddavid (謊言接線生)   2017-11-09 18:41:00
連wiki查圍棋都可以找到的基礎規則,在連此都還沒搞清楚前你的立論不具有任何穩固的基礎
作者: tlchen (台灣加油)   2017-11-09 19:04:00
規則我查過啊,但是我有兩眼,自填一眼,違反了什麼規則?
作者: Uizmp (黑袍法師)   2017-11-09 19:04:00
你看一下那個圖吧....
作者: birdy590 (Birdy)   2017-11-09 19:08:00
自填一眼可以提取對方的棋子嗎? 不行就是禁著點啊禁著規則就是要避免其中一方賴皮會讓棋局下不完所以你可以不用懷疑 因為照著規則走最後一定會雙方 pass
作者: Uizmporm   2017-11-09 19:20:00
他是在說 已經做活 下到後面自填的狀況啦 那就繼續下啊
作者: tlchen (台灣加油)   2017-11-09 19:21:00
s大的圖,明明還有黑地可以填.而o大的youtube,最後白還有三眼然後 youtube 中,兩邊都有自己地填子過,所以我不相信那是禁著
作者: Uizmporm   2017-11-09 19:23:00
那就繼續下啊
作者: tlchen (台灣加油)   2017-11-09 19:24:00
可是電腦停了,為什麼會停?有沒有設計停的方式,是根據人的圍棋知識,這是我有問題的地方
作者: ywchenz (ywchenz)   2017-11-09 19:30:00
學下圍棋,答案自然就出現了
作者: Uizmporm   2017-11-09 19:37:00
合理的解釋是 這已經不是AGZ的第一盤棋了
作者: ddavid (謊言接線生)   2017-11-09 19:48:00
下到最後必然可以下到一方徹底剩下禁手(另一方仍可自填),這時無法可下的一方Pass,規則賦予我們計算盤面勝負的能力。當盤面已經勝利,則另一方Pass結束。若否,另一方可以自填繼續下下去直到下次又成為應落子一方只剩禁手的時間點即可。如果這樣還覺得不滿意,還有一個大招可以開:禁同型反覆。在禁同型反覆規則之下,絕對不會有一盤下不完的棋,終究會有一個時刻雙方全禁手必須雙方Pass的情況這也是規則賦予的條件而非額外人類圍棋知識,絕對沒有問題
作者: saulesmeitas (太陽女)   2017-11-09 20:01:00
你可以先去查一下「禁著點」 如果還是不懂再問吧不會圍棋真的超難解釋的…
作者: s347   2017-11-09 20:24:00
這個問題我在用論文重新製作AZ的時候也有遇到,解法就是把自己的眼也定義為禁著點就好了神經架構用到圍棋知識確實比較有效率,但其實不是必需的
作者: milkdragon (謝謝大家!!)   2017-11-09 20:53:00
電腦為什麼會停?因為論文裡說了 "Games terminate when both players pass or after 19 × 19 × 2 = 722 moves. ",這也正是他們使用 Tromp–Taylor scoring 的原因
作者: HeterCompute (異質運算)   2017-11-09 21:39:00
推樓上,我真忘記有這句子了
作者: tlchen (台灣加油)   2017-11-09 21:48:00
謝謝m大,所以跟我原文說的,需要人為設定是一樣的.我之前聽說過,但沒有查到.
作者: KenshinCS (蒼炎‧狂)   2017-11-09 21:52:00
不過這人為設定的還是算在"規則"裡
作者: birdy590 (Birdy)   2017-11-09 21:55:00
雙方照著規則下叫做人為設定?這方向真怪
作者: KenshinCS (蒼炎‧狂)   2017-11-09 22:44:00
基本上不可能沒有規則就學得出東西來...
作者: tlchen (台灣加油)   2017-11-09 23:19:00
規則裡有跟19x19x2有關的東西?AZ的學習,加入了這人為設定,跟規則有什麼關係?
作者: birdy590 (Birdy)   2017-11-09 23:25:00
那只是規則裡的棋局結束條件用Tromp Taylor規則只是因為方便 特色就是容易程式化所以一開始就講了alphago只會下中國規則要用其他規則不是不可能 但判斷複雜可能降低效率另外訓練成本也很驚人 是不為也非不能也
作者: tlchen (台灣加油)   2017-11-10 00:03:00
19x19x2是Tromp Taylor規則裡的東西嗎?不是的話,我要問的是,加了這條給AI,是不是其實偷偷用到了人類對圍棋的了解?
作者: Uizmp (黑袍法師)   2017-11-10 00:05:00
作者: staristic (ANSI lover)   2017-11-10 00:07:00
這當然不是,這是演算法問題你去找一下停機問題,維基就有了圍棋因為規則上全局禁同,必定停止,但是這個停止可以太長以後,實務計算上硬體有限,不可能去計算太長的局所以問題變成能否在有限步數內結束棋局,一種停機問題的變形,要解決這個問題最快的演算法就是加一個上限722只是一個讓你覺得好像和圍棋知識有關的數字實際上這個數字是多少不太重要,重要的是能讓程式停下
作者: birdy590 (Birdy)   2017-11-10 00:14:00
19*19*2其實只是上限 實際還是雙方pass就結束
作者: staristic (ANSI lover)   2017-11-10 00:15:00
說真的我很懷疑啦,490萬譜裡超過400手的有幾譜搞不好一譜都沒有
作者: birdy590 (Birdy)   2017-11-10 00:16:00
從規則上就已經避免無限鬼打牆既然規則上確保棋局必然會結束且無平手自然就看不懂他在問啥
作者: staristic (ANSI lover)   2017-11-10 00:18:00
我就一直在問他他口中「人類圍棋知識」的定義到現在沒個回答,根本討論不下去其實我停機問題的例子用在這不太對…不過算了……
作者: monyo (無常)   2017-11-10 00:54:00
到底在執著什麼... 守護人類最後的尊嚴是嗎?拜託先去學圍棋好不好
作者: ddavid (謊言接線生)   2017-11-10 03:19:00
那個停止條件明明是工程、數學上的條件,他硬要扯到那就是圍棋知識而且還不能算是規則部分以維護他的論點事實上就連第一局那種自填到最後滿盤皆子都根本沒有到上限手數便停止了,那個上限手數根本等於虛設,原本規則上都已經有能力在上限手數以內結束棋局了之所以要那個上限了不起只是工程上的保險,因為實際上要估計填來填去下到全部禁手到底平均可能到達幾手不太容易所以只是事前工程上理由給個合理值叫停罷了
作者: CGary (下雨天也挺浪漫的)   2017-11-10 10:18:00
其實這個問題不是爛問題 因為今天在AI Conf, Google來的講者也challenge了這點...
作者: birdy590 (Birdy)   2017-11-10 11:04:00
目前的確不存在通用的架構, 但這其實還是工程問題以現在硬體的計算能力, 連工人智慧精心調整出來的架構都跑的很吃力, 實在很難想像通用的架構會長什麼樣子
作者: staristic (ANSI lover)   2017-11-10 11:31:00
CGary 願聞其詳?
作者: raiderho (冷顏冷雨)   2017-11-10 11:37:00
整串討論下來,就看到原po在浪費大家時間
作者: HeterCompute (異質運算)   2017-11-10 11:39:00
簡單說就是神經網路架構也是base on master之前的研究得出,那就某方面還是借助了master人類棋理的部分,aja回答那不是借助人類圍棋的知識,是借助人類工程上對圍棋的認識
作者: CGary (下雨天也挺浪漫的)   2017-11-10 11:46:00
aja回答時其實有點不開心 不過我覺得紀挑那個問題就跟原Po差不多的概念 因為你懂了圍棋 所以那個框架你設計得出來 但aja回答我覺得也合理 他覺得基於圍棋的知識雖然是因素 但結果卻是可以通用化到任何的game(完全公開資訊)上, 所以他認為那是可以這麼說的... (我是蠻能接受這點說法,但同時也覺得這個問題本質不是爛問題)
作者: raiderho (冷顏冷雨)   2017-11-10 11:49:00
工程或學術上的術語定義,大家以之方便溝通,除非能啟迪新的智慧,不然戰這類定義問題實在是浪費大家時間
作者: CGary (下雨天也挺浪漫的)   2017-11-10 11:50:00
並不是這樣的 因為我們完全不知道強AI到底是怎樣 現在討論
作者: birdy590 (Birdy)   2017-11-10 11:50:00
嚴格說來 那個框架和圍棋知識還是沒有關係
作者: CGary (下雨天也挺浪漫的)   2017-11-10 11:51:00
明這件事 不過在圍棋版討論這個沒意義就是了 他應該去那天
作者: birdy590 (Birdy)   2017-11-10 11:51:00
真正重要的還是工程知識 而非圍棋知識

Links booklink

Contact Us: admin [ a t ] ucptt.com