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

看板GO作者 (TIME WILL TELL)時間6年前 (2017/11/09 14:31), 6年前編輯推噓10(10061)
留言71則, 6人參與, 6年前最新討論串3/8 (看更多)
※ 引述《tlchen (台灣加油)》之銘言: : ※ 引述《qweewqq (風一樣的男子)》之銘言: : : DeepMind指出,他們不使用任何人類知識,AlphaGo Zero用上的是新的「強化學習」方法 : 對於 "不使用任何人類知識" 這句, 我心中始終有個大問號. : 首先, 在一開始的 random play, AZ 根本不知何時要停. : 必須人工設定去停它. 這用到了人類知道這樣的遊戲, 應該有限步要停. : 雖然 AZ 的參數是經由自我對戰學的, 但整個架構呢? : 要有幾層的的類神經網路? 每層有多少節點? 層跟層間的結構? : covolution 要用 5x5 還是怎樣的大小? : 要怎樣配合 VN, PN? 要用 MCTS 來尋找? : 這些都沒用到人類的圍棋知識嗎? : 這整個大架構, 是在學人類棋譜時, 發現這樣的架構, 可以訓練出不錯的 AI. : 這架構不是隨便設就行得通的吧? : 經由人類棋譜訓練, 找到一個好的大架構, 這樣可以稱作不使用人類知識? : 如果今天一個完全不懂圍棋的人, 只針對規則, 就去訂了大模型架構, : 然後經由自我對戰去學參數. 這樣的結果, 那叫做不使用任何人類圍棋知識. : 現在這樣算嗎? 我心中實在有很大的黑人問號. Deepmind發言裡所指涉的"知識",在AI的發展的脈絡中有特殊意義 並非廣義上我們理解的知識 === https://technews.tw/2017/08/07/the-3rd-revolution-wave-of-ai-technology/ 第一波人工智慧大約是在 1990 年代前電腦的計算與儲存能力還有限的時候,人工智慧多 是以「專家系統」的方式實現。也就是人類將一些專家才懂的知識(如醫學、法律)變成 一條條「規則」(如吃多喝多尿多可能是糖尿病)並輸入電腦,電腦就可以藉由這些規則 判斷。 第二波人工智慧主要是以機器學習運用在巨量資料探勘為本,以大量的資料配合統計及計 算科學的方法讓電腦能從事決策。 === 所謂專家才懂的知識,在圍棋中就是棋理,比如說氣、手順、遇劫先提、手割分析法..等 AlphaGO一開始輸入的是人類棋譜選點Data,並沒有根據棋理來寫規則並輸入進程式中 你若要找參考人類棋理的AI當然也有,根據我之前轉錄的加藤先生訪談,Zen這類老牌 圍棋軟體還保留了一些AlphaGO出現前專家系統的架構,但很顯然與這一波電腦圍棋進展 無關。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.155.40 ※ 文章網址: https://www.ptt.cc/bbs/GO/M.1510209112.A.E1B.html

11/09 16:21, 6年前 , 1F
照這樣講,輸入棋譜也算是沒用到人類知識
11/09 16:21, 1F

11/09 16:21, 6年前 , 2F
但這邊是因為它在模型參數的訓練沒用到人類棋譜,才說沒用
11/09 16:21, 2F

11/09 16:22, 6年前 , 3F
人類知識.而我要說的是,模型的大架構,還是偷偷用到了
11/09 16:22, 3F
除了上一篇推文下版友已經幫你解答的"何時停止下棋"之外,你能舉出哪部分的大架構 是使用或參考圍棋知識所設計的? AlphaGO當然有許多設計上的眉角,但沒有跡象顯示 這些跟圍棋知識有關。

11/09 16:54, 6年前 , 4F
圍棋知識 謝謝
11/09 16:54, 4F
※ 編輯: oldTim (36.226.155.40), 11/09/2017 18:15:13

11/09 18:37, 6年前 , 5F
你現在的圍棋知識,棋譜到底算不算?不算的話,先前版本也沒
11/09 18:37, 5F

11/09 18:37, 6年前 , 6F
用到圍棋知識
11/09 18:37, 6F

11/09 18:38, 6年前 , 7F
棋譜已經含有每盤的手順和勝敗, 如何不算?
11/09 18:38, 7F

11/09 18:38, 6年前 , 8F
棋譜算是人類知識啊
11/09 18:38, 8F

11/09 18:39, 6年前 , 9F
不然打前人的譜學習在學什麼?
11/09 18:39, 9F

11/09 18:39, 6年前 , 10F
算的話,先前alphago的架構,alphago zero 是延用的.只是參
11/09 18:39, 10F

11/09 18:40, 6年前 , 11F
並沒有沿用
11/09 18:40, 11F

11/09 18:40, 6年前 , 12F
數的估計,之前是根據人類棋譜,現在是根據自戰
11/09 18:40, 12F

11/09 18:41, 6年前 , 13F
tl你所謂的"架構" 頂多是儲存的方式, 而非儲存的資料
11/09 18:41, 13F

11/09 18:41, 6年前 , 14F
不算是上面說的,不是我說的
11/09 18:41, 14F

11/09 18:42, 6年前 , 15F
我說的架構是深度類神經網路的架構
11/09 18:42, 15F

11/09 18:42, 6年前 , 16F
這架構不是隨便設,然後就可以成功的
11/09 18:42, 16F

11/09 18:42, 6年前 , 17F
至於這個儲存方式, zero也因此把兩個神經網路合併
11/09 18:42, 17F

11/09 18:42, 6年前 , 18F
通常是對於不同的領域,然後不斷去試,試出一個好的架構
11/09 18:42, 18F

11/09 18:43, 6年前 , 19F
今天 alphago 試出一個好的架構,好的學習方法.這可是有用
11/09 18:43, 19F

11/09 18:44, 6年前 , 20F
到人類棋譜
11/09 18:44, 20F

11/09 18:44, 6年前 , 21F
至於這個深度類神經的網路是否與圍棋相關 這只有DM的人知道
11/09 18:44, 21F

11/09 18:44, 6年前 , 22F
我之前說的,若是連整個架構的選取都是由自戰來評估,那我就
11/09 18:44, 22F

11/09 18:45, 6年前 , 23F
認為是沒有用到人類的圍棋知識
11/09 18:45, 23F

11/09 18:47, 6年前 , 24F
好吧,如果你把定義弄得如此廣義的話也不能說徹底沒用到人
11/09 18:47, 24F

11/09 18:48, 6年前 , 25F
類圍棋知識,但一般常用定義下並不會把學習架構也定義進去
11/09 18:48, 25F

11/09 18:49, 6年前 , 26F
,自我決定架構這種事情Cost太高了,不太可能在這個等級的
11/09 18:49, 26F

11/09 18:49, 6年前 , 27F
問題上實現(這等於是在圍棋學習問題上面又架了一層架構學
11/09 18:49, 27F

11/09 18:50, 6年前 , 28F
習問題,最糟的是這個層次其實可以無限上綱)
11/09 18:50, 28F

11/09 18:51, 6年前 , 29F
事實上程式的架構仍然不算運用人類圍棋知識
11/09 18:51, 29F

11/09 18:51, 6年前 , 30F
一般我們還是接受先拿部分人類知識來試一下可能比較好用的
11/09 18:51, 30F

11/09 18:51, 6年前 , 31F
不然就不用試那麼多次才從裡面選擇效率比較好的架構
11/09 18:51, 31F

11/09 18:52, 6年前 , 32F
學習架構,之後清空人類知識保留架構開始自我學習,這樣還
11/09 18:52, 32F

11/09 18:52, 6年前 , 33F
是可以算後面這次的學習沒有用到人類知識作為訓練
11/09 18:52, 33F

11/09 18:54, 6年前 , 34F
要用非常非常非常廣的廣義才會把架構也當成人類圍棋知識建
11/09 18:54, 34F

11/09 18:54, 6年前 , 35F
立出來的東西
11/09 18:54, 35F

11/09 18:55, 6年前 , 36F
因為其實這些架構標準來說是人類知識,可是不算是人類圍棋
11/09 18:55, 36F

11/09 18:55, 6年前 , 37F
他的意思, 如果是因為棋譜導致使用A架構而非B架構, 就算有
11/09 18:55, 37F

11/09 18:55, 6年前 , 38F
知識所建立的,我們是從已知類型的架構中選取一個結果好的
11/09 18:55, 38F

11/09 18:56, 6年前 , 39F
開發過程決定用架構或參數也不是看棋譜 是看對戰狀況吧
11/09 18:56, 39F

11/09 18:56, 6年前 , 40F
在沒有真的試過以前, 有誰知道怎麼做比較好?
11/09 18:56, 40F

11/09 18:57, 6年前 , 41F
,而不是從圍棋知識建立出一個專下圍棋的架構
11/09 18:57, 41F

11/09 18:57, 6年前 , 42F
但可能不管是從人類棋譜或AG的自戰棋譜 結論可能都一樣
11/09 18:57, 42F

11/09 18:57, 6年前 , 43F
@Uizmp 對,他就是那個意思,而其實那就是超級廣義XD
11/09 18:57, 43F

11/09 18:58, 6年前 , 44F
這裡面圍棋知識其實幾乎沒有, 應該說是寫程式的知識
11/09 18:58, 44F

11/09 18:59, 6年前 , 45F
但或許是因為拋棄人類棋譜,才兩個網路合一,這就不得而知了
11/09 18:59, 45F

11/09 19:00, 6年前 , 46F
兩個網路合一是方便自我訓練~ 其實本來就有人在猜會合一
11/09 19:00, 46F

11/09 19:06, 6年前 , 47F
開發過程決定架構你說是看對戰,不是看棋譜.請問是看誰的對
11/09 19:06, 47F

11/09 19:06, 6年前 , 48F
戰?
11/09 19:06, 48F

11/09 19:07, 6年前 , 49F
訓練都是用從自己亂下開始的自戰棋譜
11/09 19:07, 49F

11/09 19:07, 6年前 , 50F
若像你之前說的, 阿貓阿狗的對戰,不是人類的,那就沒用到
11/09 19:07, 50F

11/09 19:07, 6年前 , 51F
架構要說圍棋知識不如說是寫程式的知識更合適
11/09 19:07, 51F

11/09 19:08, 6年前 , 52F
看人類對戰,或是跟人對戰,那就用到人類圍棋知識
11/09 19:08, 52F
不是程式中有用到圍棋知識,而是用傳統圍棋知識來驗證程式架構是否有效

11/09 19:08, 6年前 , 53F
因為 DM 是在完全未知的領域 怎麼做比較強 -- 試了才知
11/09 19:08, 53F

11/09 19:13, 6年前 , 54F
就說不只是寫程式的知識.每個領域的應用,要用怎樣的架構合
11/09 19:13, 54F

11/09 19:13, 6年前 , 55F
適,要實際去試才知道.而先前 alphago 版本決定用的架構,並
11/09 19:13, 55F

11/09 19:13, 6年前 , 56F
還是要試過才能決定 那跟圍棋知識有什麼關係?
11/09 19:13, 56F

11/09 19:13, 6年前 , 57F
不是根據對戰的
11/09 19:13, 57F

11/09 19:14, 6年前 , 58F
因為試它好不好,餵的資料,裡面有人類的圍棋知識在
11/09 19:14, 58F

11/09 19:21, 6年前 , 59F
我說了 那個可能用人類棋譜或自戰結論相同 那要怎麼算
11/09 19:21, 59F
輸入data跟輸入人類對圍棋的理解有根本的不同 這也是你講半天無法說服大家對Deepmind說法產生懷疑的原因 因為你對人類知識的定義跟AI界裡面所說的人類知識也根本是兩回事,雞同鴨講 ※ 編輯: oldTim (36.226.155.40), 11/09/2017 20:05:55

11/09 20:28, 6年前 , 60F
試它好不好 直接兩個程式對下不就得了
11/09 20:28, 60F

11/09 21:51, 6年前 , 61F
以你的說法,前一版 master,用人類棋譜學,也是沒用到人類圍
11/09 21:51, 61F

11/09 21:51, 6年前 , 62F
棋知識
11/09 21:51, 62F
不是我的說法,麻煩你看看文章裡的連結,我是引用台大資工系教授林守德的說法 將圍棋知識提煉成規則後,依此規則設計程式是第一波AI(專家系統)的作法 而即使是初代AlphaGO也是第二代AI,輸入的人類棋譜只是做為訓練用的Data 由機器學習自行提取出特徵,若依照第一代AI作法是要由人來決定用哪些特徵或是規則

11/09 21:56, 6年前 , 63F
訓練過程隱含著從棋譜提取特徵的意思
11/09 21:56, 63F

11/09 22:07, 6年前 , 64F
廣義來說用人類棋譜可以解釋成接收人類的觀念
11/09 22:07, 64F

11/09 22:07, 6年前 , 65F
所以從亂下開始完全自己產生棋譜自己學的意義重大
11/09 22:07, 65F
用棋譜訓練跟接受人類觀念還是兩回事,當然不可否認輸入棋譜的版本會受人類招法 的引導而可能比較容易出現跟人類圍棋觀念相似的選點,但這些觀念終究是機器學習 由data中挖掘出來的,而非人類在演算法中已經預設 ※ 編輯: oldTim (36.226.155.40), 11/09/2017 23:12:39 ※ 編輯: oldTim (36.226.155.40), 11/09/2017 23:23:11

11/09 23:22, 6年前 , 66F
的確是這樣沒錯 應該是這樣説 master程式的確也沒用
11/09 23:22, 66F

11/09 23:22, 6年前 , 67F
到人類圍棋知識 但是master在run 以人類棋譜輸入訓練
11/09 23:22, 67F

11/09 23:22, 6年前 , 68F
出來的成品 就受到人類知識的影響
11/09 23:22, 68F

11/09 23:27, 6年前 , 69F
之前版本的alpha go 本來就沒一定要用人類棋譜 它也
11/09 23:27, 69F

11/09 23:27, 6年前 , 70F
可靠自我對戰訓練 只是初期版本演算法不夠好 收斂地
11/09 23:27, 70F

11/09 23:27, 6年前 , 71F
不夠快 如果完全從0開始 訓練時間會很久
11/09 23:27, 71F
文章代碼(AID): #1Q0_POuR (GO)
討論串 (同標題文章)
文章代碼(AID): #1Q0_POuR (GO)