2017年10月21日 星期六

AlphaGo Zero 雜感




本文是 Facebook 上本人的貼文
==========
AlphaGo Zero 自學已成的強度帶給你多少的感想?
現今棋王柯潔 感嘆:"一个纯净、纯粹自我学习的alphago是最强的……对于alphago的自我进步来讲……人类太多余了。"
有人半開玩笑的說天網將至, 也有人說這是對人類知識的當頭棒喝
身為工程師的角色, 亦獻醜地統整一下最近對 AlphaGo Zero 的看法:
在 DeepMind 一路自以往的 AI 建立 AlphaGo 的研究, 而從歷史性的 AlphaGo 與李世乭對弈與勝出, 到 Master 勝過當今棋王柯潔, 最後經由 AlphaGo/Master 推進到即便棋王亦望之興嘆的 AlphaGo Zero, 這幾年來一步步的演進, 實則展示了建立任務型 NN 的開發該有的演進過程, 以知識的角度來看, 與其說人類多餘, 或是對人類知識與經驗的打臉或是暮鼓晨鐘, 這更是一個可以套用有階段方法性的推進過程
1. 既有資料的收集, 既有知識的分析, 許多機械學習科班出身的人都知道, prior 並不是個好方法, 但對於較為龐大的問題 prior 是個短時間快速有效的切入點
談人們下圍棋所圍繞的定石, 子效, 跳, 飛, 星, 目, 邊, 場, 局, 角, 形 等等判斷與對應的工具, 其實都是為了應付棋局變化繁複而嘗試以簡馭繁的工具, 真的細較會發現這些工具與規則在棋局中間衝突與矛盾亦多, 長遠的利益與損失難以計較, 人的思考能力是只能提綱挈領而無法盡數.
2. 建立正確的"網路模型", "評估優劣方式"與"可自我改善的機制"
有了資料並不是就解決所有問題了
AlphaGo 的論文早已公開, 照理說之後各家推出的 Go Machine 都能有 AlphaGo 強度, 應當殺得職業棋士大喊不如歸去, 但是這一年看來很明顯並非如此. 在這領域打滾的研究者都清楚, 有了資料後該如何建立有效的網路模型也是相當的難題, 除了學習速率外還得兼顧有效性, 此外還必須在未知中找到可能的改進方式. 台上的一步 30 秒棋以及與高段棋手的勝局, 這階段上代表的是對於圍棋問題在本質上更正確的認識(數學, 分析與工程上, 與職業棋手不同面向)
3. 透過 2. 建立起純資料訓練的 NN
在大規模且複雜的問題上, 沒有 1, 2. 的努力無法走到這步, , 透過 1. 2. 所建立起對於圍棋本身的了解與分析的方法, 回過頭去作做法上的優化, 這些包含的是 1. 的 prior data 亦或是 2. 的妥協設計與初期有效但不理解的架構, 甚至是根本架構與有效性的提升, 在 AlphaGo/Master 已是領先世界的情況下, DeepMind 依然有著知識與眼界上的高度, 再優化既有的 AlphaGo/Master 來達到更效的且令人為之一亮的 AlphaGo Zero.
這其實更是人類知識上的累積, 對問題理解層次的演進, 理論模型細膩度的提升

沒有留言:

Chisel 學習筆記 - Scala 與 Chisel 基礎語法

標題為筆記, 但這篇比較屬於心得 延續 上一篇 的環境建立, 這次計劃藉由 Jserv 最新的 課程安排 來學習 Chisel, 當然個人目標是能夠按照 Jserv 的課程規劃在 期限之內 完成 Lab 3, 由於個人並非 digital designer (現在這年紀也算老貓學...