[討論] alphago能進化成betago嗎消失

看板GO作者時間8年前 (2016/03/15 20:07), 編輯推噓3(3021)
留言24則, 7人參與, 最新討論串1/1
人機大戰結束了。感覺人類棋手已經勘破一些alphago的破綻,大致掌握了戰略走向,只 是實踐起來仍有非常難度。假如說李世石在五場對弈中取得進步,那麼alphago呢?或者 說alphago背後的google工程師呢? 評論alphago在唯一敗局中展露的缺點,應該以FB工程師田淵棟的分析最具公信力。畢竟 他手上有一套darkforest隨時可以佐證棋步的勝率估計,更重要的是他本身就是頂尖ML演 算法工程師,對演算法缺失的直覺應該同等於李世石對圍棋勝負的理解。他提出了兩種面 向,一種是MCTS搜索過早結束,一種是對葉節點的勝率估計出了問題。然而相同的猜測是 ,這兩種失誤都容易在盤面需要複雜計算才能算清的情況下出現。假設google事後調閱 log檔發現原因果真如此,這個工程問題該如何解決呢? 也許一般人會想,換掉訓練資料就好啦,這次挑選一些複雜盤面的棋譜再對兩個神經網路 重新或增強訓練,還不把人類棋手趕盡殺絕?不過要訓練出一個好的ML模型並不是真的狂 灌資料就能辦到了。假如模型複雜度不足,卻硬吃太多資料變異性,相當於加偏差 (biased)資料下去,可能降低模型的泛化能力。反過來說,一味提升模型複雜度則會造成 訓練過程困難。雖說ML研究本來就有一些經驗法則的味道,但工程師困在這種try and error的迴圈裡不是google這種等級應該花時間幹的事。以下試著提供三點從工程師思維 出發的解決方案: 1. 目前論文上的MCTS搜尋策略還是有缺點的。當搜尋樹抵達一定深度時,就開始對葉節 點進行勝率估計。若沒看漏細節alphago並沒有對這個搜尋深度進行動態調整,但當棋局 陷入難以算清的盤面時,棋手本來就該投入更多思考時間分析最佳解,例如第四局李世石 的40分鐘78手就如是。所以最直覺的做法是一旦陷入這種局面,alphago的搜尋深度就得 在考慮時間限制之下盡可能提高。 2. 勝率估計出問題可能原因有二。一個是價值網路預測不準,一個是快速走子模擬勝負 的結果不佳,最糟的情況是如前面一篇分析文章的作者陳經所說的兩者皆差(順帶一提我 覺得他的分析很不錯)。論文中對勝率估計的權重設計相當偷懶,就是一半一半。Google 工程師若事後檢查,發現在難以算清的盤面上其中一種估計品質極差,就該根據盤面複雜 度動態調整權重值。若不幸的是worst case兩者皆差,那麼我建議在時間限制許可下啟用 policy network進行走子勝負預測。 3. 採用前兩點補丁都有一個前提:如何決定盤面複雜度?這裡就是很主觀的個人看法了 ,我認為google可以再訓練一個風險網路(risk network),專門根據盤面判斷此時落子的 風險程度。這個模型的預測目標與勝率無關,所以與價值網路/走棋網路的性質應該要起 到互補作用,專門泛化那些一觸及發的棋局的pattern。當然這個做法的問題是如何定義 與生成訓練資料,但這件事對有豐富圍棋知識背景的開發團隊而言應該不難解決。 基本上工程師思維就是主要框架不動,並且在方法原本精神下(ML+MCTS)提供可靠的補丁 機制。以google現在擁有的資源,完成這些事應該不用三個月。三個月後……alphgo可能 真的可以變身betago了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.198.196 ※ 文章網址: https://www.ptt.cc/bbs/GO/M.1458043660.A.F3D.html

03/15 20:10, , 1F
通常快速走子的結果不會太差, 至少會比評估網路準很多
03/15 20:10, 1F

03/15 20:11, , 2F
所以最怕是關鍵棋步被根本沒下去算(邏輯等同於被剪掉)
03/15 20:11, 2F

03/15 20:12, , 3F
訪問的時候好像聽到是第18版,應該再改版不會改名字吧!
03/15 20:12, 3F

03/15 20:13, , 4F
我們不會區分 李世石2016 跟 李世石2015, 一樣道理吧 :)
03/15 20:13, 4F

03/15 20:14, , 5F
或許時間控制子系統也需要納入訓練的概念, 前中後盤
03/15 20:14, 5F

03/15 20:14, , 6F
恩 所以搜尋樹深度很重要
03/15 20:14, 6F

03/15 20:14, , 7F
人類採用的策略會不同, 對機器來說似乎也有必要
03/15 20:14, 7F

03/15 20:15, , 8F
不過我記得快速走子好像單獨使用才24%左右 這..算準嗎
03/15 20:15, 8F

03/15 20:15, , 9F
hmm... 依田淵棟的說法, 快速走子的廣度也很重要
03/15 20:15, 9F

03/15 20:16, , 10F
不需要它準 開發了 RL 卻不用(最後只用在訓練估值網路)
03/15 20:16, 10F

03/15 20:16, , 11F
應該也是這個道理
03/15 20:16, 11F

03/15 20:16, , 12F
想看貝他狗虐柯KJ
03/15 20:16, 12F

03/15 20:17, , 13F
如果是廣度問題 那就要更換MCTS的UCT策略了
03/15 20:17, 13F

03/15 20:21, , 14F
這點我完全不擔心 路人甲工程師想的到的開發團隊當然更
03/15 20:21, 14F

03/15 20:22, , 15F
不可能漏掉 不涉及重複訓練的話 測試時間應該都很快
03/15 20:22, 15F

03/15 20:26, , 16F
我倒是覺得大家不用妄自菲薄 都是對ML有想法的人罷了
03/15 20:26, 16F

03/15 20:27, , 17F
還會變成omegago哦
03/15 20:27, 17F

03/15 21:31, , 18F
風險網路的訓練資料是?
03/15 21:31, 18F

03/15 21:44, , 19F
如果kgs的棋譜有時間記錄,那還有機會,看盤面猜下一手會想
03/15 21:44, 19F

03/15 21:44, , 20F
多久才落子
03/15 21:44, 20F

03/15 21:44, , 21F
想得久就比較複雜
03/15 21:44, 21F

03/15 21:45, , 22F
這個建議不錯耶
03/15 21:45, 22F

03/15 22:08, , 23F
下網路棋到一半接電話泡咖啡拉屎老闆來了 也是有的
03/15 22:08, 23F

03/15 22:34, , 24F
棋譜沒有記載思考時間吧 XD
03/15 22:34, 24F
文章代碼(AID): #1Mv_iCyz (GO)