看板 GO 關於我們 聯絡資訊
※ 引述《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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.120.180 ※ 文章網址: https://www.ptt.cc/bbs/GO/M.1510239989.A.3B4.html
danine: 簡單明瞭 11/09 23:33
jamesho8743: 還有 alpha go 並不是因為人類棋譜才找出一個好的大 11/09 23:35
jamesho8743: 架構 而是本來就設計出一個架構 才拿人類棋譜來驗證 11/09 23:35
jamesho8743: 或先得到一個還不錯的結果 11/09 23:35
tlchen: 樓上這個可有根據?我抱懷疑的態度 11/09 23:40
tlchen: 電腦圍棋的演進,如何設定,不斷在改變 11/09 23:41
tlchen: 而改變的原因,很大的因素是看跟人下,怎樣改變可提升勝率 11/09 23:42
tlchen: AlphaGo 的架構,完全跟之前的無關? 11/09 23:43
tlchen: 講個較極端的例子,假設今天有個工程師分別用VGGNet, 11/09 23:45
birdy590: 你應該先看一下 DZG作者那串文 11/09 23:45
tlchen: GoogLeNet, 及 ResNet 設計了三個AI. 並分別用人類棋譜去 11/09 23:46
birdy590: alphago實際上是用現有的一些技術拼湊實驗出來 11/09 23:46
tlchen: 學參數.然後三個AI對打,假設最後ResNet贏了,所以工程師之 11/09 23:47
birdy590: 過去就算有人想到 也沒有足夠資源做出來 11/09 23:47
birdy590: zero就更不用說了 成本高的誇張 11/09 23:48
tlchen: 後就只用ResNet的版本,然後用自我對戰學參數. 11/09 23:48
tlchen: 這樣的AI,算不算沒有用到人類的圍棋知識? 11/09 23:49
birdy590: 無言 顯然沒看懂這篇 11/09 23:50
tlchen: 根據這篇的說法,那似乎是沒有用到人類的知識 11/09 23:50
birdy590: alphago一開始就拋棄了人類的「圍棋知識」 11/09 23:51
tlchen: 在我的認知,它用到了人類的圍棋知識.因為所謂的優化,並不 11/09 23:51
birdy590: 餵人類棋譜的時候 還可以說會受人類決策的影響 11/09 23:52
tlchen: 不只是參數的優化.這位工程師,一開始還做了一個三種模型 11/09 23:52
birdy590: 麻煩先定義一下 什麼叫「圍棋知識」 11/09 23:52
tlchen: 間的優化.而這個優化,用到了人類圍棋知識 11/09 23:52
Uizmp: 不用人類棋譜, 純粹自戰可能也會得到 ResNet 最適合的結論 11/09 23:53
staristic: tlchen,我建議你先定義一下你的人類圍棋知識是哪些 11/09 23:53
staristic: 你從來沒定義過你這個用詞指涉的範圍,這樣討論不下去 11/09 23:53
tlchen: 類似的情況是我之前文章說的,大架構的優化,沒用到人類的 11/09 23:54
tlchen: 知識嗎? 11/09 23:54
birdy590: 這些根本不是圍棋知識 而是寫程式的知識 11/09 23:54
staristic: 人類的知識和人類的圍棋知識差很多耶?你指哪個? 11/09 23:54
Uizmp: 人類的知識, 但不見得是圍棋的 11/09 23:55
birdy590: 只要規則定義清楚 程式設計師根本不需要會下圍棋 11/09 23:55
tlchen: 我說的是人類圍棋知識,而棋譜是它的表現 11/09 23:55
Uizmp: 不過以DM說可以應用在其他領域(伺服器省電),應該是泛用的 11/09 23:56
tlchen: 若選大架構是可以從自戰選的,我就認為是沒用到人類圍棋知 11/09 23:56
tlchen: 識,這是我在先前文章就這樣說的 11/09 23:57
Uizmp: 不用, 反而需要的是神經網路方面的知識 11/09 23:57
staristic: 所以不要鬼打牆啦,你的「人類的圍棋知識」的定義是? 11/09 23:57
birdy590: master之前 訓練過程會從人類棋譜取得特徵 11/09 23:57
birdy590: 所以可以視為間接接收了人類的圍棋知識 11/09 23:58
staristic: 我們先來搞定最基礎的定義再繼續往下討論 11/09 23:58
tlchen: 這些不只是寫程式的知識,每個領域,要用怎樣的架構,是不同 11/09 23:58
birdy590: 但是演算法本身和圍棋知識並沒有關係 11/09 23:58
Uizmp: 棋譜可以從人類來,但大多是自戰 (後來就純粹自戰了 11/09 23:58
birdy590: 寫程式的人也不需要會下棋 11/09 23:59
tlchen: 為什麼在圍棋適合用ResNet,這不需要對圍棋的了解? 11/09 23:59
Uizmp: 這個就是寫程式的知識 和規則有關, 和棋力無關 11/09 23:59
birdy590: 實驗一下就知道了 為什麼需要額外的知識? 11/10 00:00
Uizmp: 不需要, 因為 ResNet 和 圍棋沒有關係啊 11/10 00:00
birdy590: 從論文也看的出來 過程中試過又丟掉的東西肯定很多 11/10 00:03
birdy590: 這些和圍棋本身並沒有關係 圍棋高手也看不出來哪種好 11/10 00:03
tlchen: 實驗一下就知道,但怎麼實驗的?有沒有用到人類的棋譜?或是 11/10 00:07
tlchen: 跟人下? 11/10 00:07
tlchen: 或許真的可以用自我對戰去選大架構,而這樣做出來的,如我文 11/10 00:09
tlchen: 所說,我認為這樣是不靠人類圍棋知識.但 alphago zero是嗎? 11/10 00:09
tlchen: 這是我主要的疑問 11/10 00:10
birdy590: 要實驗就兩個演算法對下 需要什麼棋譜? 11/10 00:12
staristic: 我再問一下,你所謂「人類圍棋知識」的定義是? 11/10 00:14
Uizmp: 結論只有誰贏, 這個不需要有棋力吧? 11/10 00:14
staristic: 你一直不定義清楚,是要怎麼討論下去? 11/10 00:14
Uizmp: 他大概覺得被李世石找出問題,AG要用同個架構訓練更久也算吧 11/10 00:19
Uizmp: 3天的AGZ打不過Master,要40天,但因為Master有人類棋譜所以. 11/10 00:20
jamesho8743: 簡單來說 Alpha go 餵人類棋譜或自我對戰 訓練出來 11/10 00:28
jamesho8743: 的是參數 相當於人類的記憶 而alpha go 程式則相當 11/10 00:28
jamesho8743: 於大腦本身 11/10 00:28
jamesho8743: 記憶可以換可以訓練 但這並不會去影響大腦本身的結構 11/10 00:34
jamesho8743: 不清楚這點也不用再扯了 這是run time 的東西 11/10 00:34
jamesho8743: 除非在build time的時候 工程師把除了圍棋規則以外 11/10 00:37
jamesho8743: 的想法寫了進去 或加進結構 這點本文已有說明 11/10 00:37
tlchen: 人類圍棋知識,就是除了圍棋本身規則,人類根據這規則而有 11/10 00:41
tlchen: 的想法或產品 11/10 00:41
tlchen: 問題是這個大腦的結構是人為建構的,人為如此建構,是否經 11/10 00:43
tlchen: 某種優化過程,而過程是否用到人類圍棋知識 11/10 00:43
tlchen: 像我舉的例子,要用某模型,決定的過程是否用到了跟人對戰 11/10 00:45
tlchen: 或其它人類圍棋知識 11/10 00:46
staristic: AlphaGo Zero 沒有,就這樣 11/10 00:47
tlchen: 當然實驗可以是兩個AI對下,但兩個AI對下,它們用的參數是 11/10 00:47
tlchen: 怎麼來的 11/10 00:47
jamesho8743: 了解tlchen 他現在把AG工程師如果因為用人類棋譜得 11/10 00:47
jamesho8743: 到的結果 使得工程師去選擇了某個演算法 所造成對AGZ 11/10 00:47
jamesho8743: 的影響 也認為是"人類的圍棋知識"的影響 11/10 00:47
birdy590: 其實alphago從一開始就沒有 11/10 00:48
tlchen: AlphaGo Zero 的大架構是跟 AlphaGo Master 類似的 11/10 00:48
tlchen: 你確定這個架構沒有? 11/10 00:48
birdy590: zero是連人類知識的間接影響都拋棄不要 11/10 00:48
birdy590: 寫程式的又不用會下圍棋 11/10 00:49
jamesho8743: 但前面已說過即使有 這是人類工程上的圍棋知識 而不 11/10 00:49
jamesho8743: 是人類棋盤上的圍棋知識 11/10 00:49
staristic: 如果tlchen的理解像james大講的,那也不用討論了 11/10 00:50
birdy590: 建立適合圍棋的模型 不需要什麼圍棋知識 11/10 00:50
tlchen: MCTS這方法不是AlphaGo先用的,它也拿來用,不是根據之前的 11/10 00:51
tlchen: 經驗? 11/10 00:51
birdy590: 幾乎都是工程考量 想辦法提高演算法的效率 11/10 00:51
jamesho8743: 如果工程師完全只用圍棋規則推導出來的 那就肯定沒 11/10 00:53
jamesho8743: 有人類棋盤上的知識在裡頭 11/10 00:53
tlchen: 不需要圍棋知識,就可以知道怎樣選擇適合的模型? 11/10 00:53
birdy590: 說穿了都是剪枝的方法 哪種好是比較出來的 11/10 00:53
birdy590: 初期弱的時候 判斷好壞包括比對和人類棋手決策的命中率 11/10 00:54
tlchen: 人類工程上的圍棋知識是怎麼來的?難道不是先前的實驗,利用 11/10 00:54
tlchen: 到人類的圍棋知識 11/10 00:54
birdy590: 變強以後這招就不靈了 直接對下個100盤最快最直接 11/10 00:55
birdy590: 什麼叫工程上的圍棋知識? 11/10 00:55
tlchen: 我這篇推文的一開始例子看一下,那算不算用到人類圍棋知識? 11/10 00:55
birdy590: 比較好壞跟人類棋譜何干? 11/10 00:56
staristic: AlphaGo前的AI和AlphaGo的架構完全不同啦 11/10 00:56
staristic: 是不是機器學習這點是決定性的差別啊 11/10 00:57
birdy590: 所以前面就說DZG作者專訪先看一下 11/10 00:58
tlchen: b大,回去看一下我的例子,那些AI的參數是用棋譜學的 11/10 00:58
birdy590: 裡面講以前的做法 那些才叫「圍棋知識」 11/10 00:59
birdy590: 棋譜是拿來訓練用的 跟架構也沒有關係 11/10 00:59
birdy590: 這裡的參數又是指啥? 11/10 01:00
tlchen: s大,MCTS之前的AI有沒有用?AlphaGo也拿來用,這沒用到經驗? 11/10 01:00
tlchen: b大,我講的圍棋知識,前面有定義.棋譜是其展現 11/10 01:01
birdy590: MCTS跟圍棋知識毫無關係 11/10 01:01
birdy590: 你不知道MonteCarlo是指什麼嗎 11/10 01:02
tlchen: 參數是類神經網路的那些 weights, master 是用人類棋譜學 11/10 01:02
staristic: MCTS是一種通用演算法,不止用在圍棋 11/10 01:03
tlchen: 而 AZ 的參數是經由自我對戰學的 11/10 01:03
birdy590: 原始的演算法可是亂下下到完 11/10 01:03
jamesho8743: 要用AI當然就不想用人類知識 看不出要把人類的圍棋 11/10 01:04
jamesho8743: 知識加入幹嘛 圍棋可以光數學純綷推導 優化 加入人 11/10 01:04
jamesho8743: 類知識只是更多例外更難寫 以AGZ來說 沒有 end 你要 11/10 01:04
jamesho8743: 堅持你自己的想法跟世界不同 那就繼續吧 大家都錯了 11/10 01:04
jamesho8743: deep mind 也説謊 你是對的 11/10 01:04
tlchen: MCTS當然不止用在圍棋,但之前在圍棋上有成功的經驗,而 11/10 01:04
birdy590: zero證明了master之前也只是抄近路 11/10 01:04
tlchen: AlphaGo 也用了, 沒用到前人經驗? 11/10 01:05
birdy590: 從亂下開始慢慢訓練起 結果還可以更強 11/10 01:05
birdy590: 那跟圍棋知識根本無關 11/10 01:06
staristic: 是前人的經驗沒錯啊,但是這不是在人類圍棋的知識內吧 11/10 01:06
staristic: 你到底有沒有搞清楚自己在問啥? 11/10 01:07
staristic: 演算法的知識 != 人類圍棋的知識 11/10 01:07
jamesho8743: 人類工程上的圍棋知識怎麼來的?當然是思考跟推導來 11/10 01:08
jamesho8743: 的 這不需要會下圍棋 只要會思考 數學 跟基本規則 11/10 01:08
monyo: 他定義的"人類圍棋知識"其實是"人類開發電腦圍棋累積知識" 11/10 01:12
monyo: 我這樣解讀對不對? 11/10 01:12
birdy590: 樓上這定義也太小看deepmind了 11/10 01:14
birdy590: 它用的技術雖然之前多半都存在 11/10 01:14
birdy590: 要把它們湊在一起並不是件容易的事 11/10 01:15
monyo: 啊? 我只是試圖解讀tl的定義啊 11/10 01:21
birdy590: tl沒有意識到一件事 就是MCTS和圍棋知識是背道而馳 11/10 01:27
birdy590: 就連隨機亂下到完 都能得到一定的棋力 11/10 01:28
JasonHuang: T大什麼神邏輯?照這樣講世界上沒人能稱作無師自通了 11/10 01:39
JasonHuang: 。因為學習過程就算沒問過其他人,沒參考過書籍,但因 11/10 01:39
JasonHuang: 為其他人類已證明人腦是學得會且有效的,所以只要有人 11/10 01:39
JasonHuang: 成功做過的事,那就算有用到前人經驗?? 11/10 01:39
wadashi1: tlchen有沒有看過zero自戰的第一盤?很精彩,建議看看 11/10 01:45
wadashi1: 一開始沒有做活跟吃子的觀念,亂下碰觸到規則才發生吃子 11/10 01:47
wadashi1: 還會自己把空填滿自殺 11/10 01:50
wadashi1: 而黑子181枚,白子180枚,共361枚,下完就沒得下了,最後由 11/10 01:51
wadashi1: 規則來定出勝負。Zero就是從這種模式訓練過來的! 11/10 01:51
wadashi1: 看了一下,不止..40block下到共541步,20block下到共469步 11/10 02:02
ddavid: 我是覺得可以放棄解釋了,基本上他就是用他的自定義在做討 11/10 03:08
ddavid: 論,或者說根本不是要討論而只是想講他的定義 11/10 03:09
ddavid: @wadashi1 沒有子下完這種事。規則上萬一真的雙方子用完, 11/10 03:10
chris610020: 應該說初始的價值網絡都是一片空白的,完全只依靠人 11/10 03:10
chris610020: 類給的算式求最佳解 11/10 03:10
ddavid: 可以用交換死子的方式重新取得可下的子。 11/10 03:10
ddavid: @chris610020 你解釋這個已經沒有用了,因為那就是認為那 11/10 03:11
ddavid: 個一片空白的網路也算是靠「他認為的圍棋知識」選出來的 11/10 03:11
ddavid: 他就是 11/10 03:12
chris610020: 他講的偏向演算法優化,盡量不要做無意義的事 11/10 03:23
chris610020: 不優化只是跑的比較慢,解果還是一樣的 11/10 03:26
chris610020: 結果 11/10 03:27
ddavid: 這倒未必,選取的架構不同也許會落到不同的Local Max裡面 11/10 03:31
ddavid: 而落到Local Max裡面並沒有什麼理論保證一定出得來 11/10 03:32
wadashi1: 感覺起來tlchen認為..因為圍棋規則來修正Zero就算是用到 11/10 11:43
wadashi1: 人類圍棋知識,但..不給Zero規則,它怎麼知道怎麼玩?什麼 11/10 11:44
wadashi1: 不能下?怎麼決定勝負? 人類的定石,征子,棋譜,所有人類的 11/10 11:45
wadashi1: 技巧,Zero完全沒有,有的只是定義的圍棋規則對它的修正。 11/10 11:45
raiderho: tlchen沒說的那麼淺,但是他認為繼承上一版本的原始架構 11/10 11:59
raiderho: 參數都是圍棋知識,這和大多數的定義不同,問題是他的定 11/10 12:00
raiderho: 義目前沒引出什麼有建設性的討論。 11/10 12:01
mothertime: 這篇不是很明確說出人類棋譜等於人類圍棋知識了嗎? 11/10 12:14
mothertime: 規則比較像邊界條件,不屬於知識吧 11/10 12:15
oldTim: 如果只是棋譜本身不是知識,是資訊。要將資訊歸納整理後 11/10 16:18
oldTim: 才能稱為知識,比如說你如果不懂化學拿到元素週期表 11/10 16:21
oldTim: 就算能夠全部背起來也不能說懂得週期表裡面的化學知識 11/10 16:22
oldTim: 拿電腦圍棋來說,AG出世前的第一波專家系統AI通常都有真對 11/10 16:26
oldTim: 判斷局部攻殺部分輸入人類的定石Data,與AG的最大差別並非 11/10 16:29
oldTim: 輸入不同的data,而是使用了人類圍棋知識中"局部"的觀念 11/10 16:30
oldTim: 來做死活判斷,而局部這個觀念是人類自行總結的規則裡沒有 11/10 16:33
siyaoran: tlchen一開始就對參數這東西理解錯了 weight怎麼給的也 11/10 19:33
siyaoran: 是靠機器學習自己修正的 須要人給weight還能算機器學習? 11/10 19:34
peterhuo: 辛苦,那廝基本上就是自尊心太強的X孩 11/10 20:41
peterhuo: 別再浪費時間回啦 11/10 20:42