22
從 AlphaGo 從從 從 Deep Learning 從從從從 從從從從從 從從從 [email protected]

從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Embed Size (px)

Citation preview

Page 1: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

從 AlphaGo 四勝一敗看 Deep Learning 發展趨勢臺大電機系

于天立[email protected]

Page 2: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Outline• 電腦圍棋進展• 傳統技術• 蒙地卡羅法• Convolutional 神經網路• 加強式學習• 分散式 / 平行運算• Deep Learning 應用及未來展望

Page 3: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

從 DeepBlue 到 AlphaGo• 1997 IBM DeepBlue 擊敗 Kasparov ( 一秒評估約 108 盤面狀況 ).• 2012 Zen (on 4 PCs) 在被讓四、五子下擊敗武宮正樹• 2013 CrazyStone 在被讓四子下擊敗石田芳夫• 2015 10 月 AlphaGo 在分先以 5:0 擊敗歐洲圍棋冠軍華裔法籍棋士樊麾二段。電腦圍棋程式第一次公平擊敗職業圍棋棋手。此一結果刊載在 Nature 期刊。• 2016 3 月 AlphaGo 4:1 擊敗李世石九段 ( 近十年來最多次世界冠軍得主,目前 GoRating 排名第 5)• AlphaGo 目前 GoRating 排名第 2, 獲職業九段認証

Page 4: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

MiniMax 搜尋• 兩人零和回合制對局

Page 5: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Pruning• 並非每個節點都需要搜尋

• 即使不去評估某些節點,我們仍知道左邊是最佳選擇

MAX

MIN

MAX

Page 6: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

圍棋的困難度• 19x19 ,第一手即有 361 種可能,雖然考慮對稱性並沒那麼多,但對稱在第 4 、 5 手後即幾乎消失殆盡。• 估計約 210170 種合法盤面• 西洋棋約為 1047 種合法盤面

• DeepBlue 所使用的 MiniMax 及Alpha-Beta Pruning 難以實現。

Page 7: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

蒙地卡羅法• 隨機產生 x=0~1, y=0~1.• x2+y2 < 1 的機率為 /4

• 加權蒙地卡羅法被使用於各式市調

Page 8: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

蒙地卡羅樹狀搜尋 (MCTS)• 利用隨機隨算來搜尋雖不廣,但可較深• 早期做法即為

uniform 隨機• 配合多臂吃角子老虎機技術,對較有希望的走法做更深入的搜尋

Page 9: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Neural Networks• 從 perceptron 開始 (1943)• 線性分割

• 多層架構• 可 map 任意函數

Page 10: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Neural Networks 的衰退• 1969 MIT Minsky & Papert• 異同問題• 連接問題

• 90s 新的結構

Page 11: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Convolutional Neural Networks (CNN)• 模仿人類視神經• 利用多層、深度架構,讓網路自行產生特徵

Page 12: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

結合 CNN 和 MCTS• DeepMind (2014 被 Google 收購 )

• 兩個 CNN ,用來縮減 MCTS 的深度和寬度• Policy network在一狀態下執行一動作的可能性 (頻率 ) P(a|s)

• Value network估計勝率

Page 13: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

加強式學習 (RL)•將環境的 reward (or punishment) 回饋給 agent ,用來調整每個狀態的 utility (好處 )

當前的獎勵 未來可能的好處

Page 14: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

結合 supervised learning and RL• AlphaGo 從 KGS上蒐集了 160,000 個業餘棋譜共約

30,000,000 個盤面狀況 ( 大數據分析 ) 訓練 policy network

•透過自我對奕,勝方增強 P(a|s) ,輸方減低 P(a|s)

• Value network也利用搜尋的結果來做 RL ,進而學習到更精準的勝率估計

Page 15: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

AlphaGo 能下出自我風格• 第一局,李世乭開局使出新招, AlphaGo應對正確• 第二局,換 AlphaGo 開局使出新招

• 第一、二局 AlphaGo避劫?• 第四局 AlphaGo亂下、故意輸?• AlphaGo 中所使用的蒙地卡羅法,所搜尋的是最大勝率的一步,而並非最好的一步。

Page 16: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

分散式 / 平行運算的威力•摩爾定律• 18~24 個月晶片”效能”提高一倍

•單核效能已接近物理極限•往多核心技術發展

Page 17: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

分散式及平行運算•單機版 AlphaGo: 48 CPU + 8 GPU 。• 分散式版 AlphaGo: 1202 CPU + 176

GPU 。

• GPU: TESLA S1070• 960 核 (1.3 GHzs)

Page 18: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

越多核就越快?• Amdahl’s Law

•若一演算化有一半可被平行化,則就算給無窮的運算資源也僅僅能加速兩倍。•若考慮產生 / 結束執行緒的 cost ,有時使用過多的核心數反而效能降低。

加速=1

(1−可平行化比例 )+ 可平行化比例核心數

Page 19: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Deep Learning 應用• 視覺 (靜態、動態 ) 、手寫、語音辨識• 醫療診斷• 金融分析、預測• 發明新藥 (預測化學反應 )

• 資安

Page 20: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

AlphaGo打敗李世乭的意義•硬體大廠 軟體大廠

• 開發者需正視分散 / 平行運算•半監督式學習架構• 新的技術、新的結合、新的機會,我們必須與時俱進• 人類應該害怕嗎?•等 AlphaGo 不想下圍棋再說吧

Page 21: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

下一步?• 人類懂 AlphaGo嗎?• Convolutional neural network 所學習的知識,如何為人類所用?• 人類 程式語言 電腦• 電腦 知識庫 人類

Page 22: 從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授

Thanks!

Q & A