AlphaGo 用了哪些深度學習的模型? 模型的輸入是什麼?

谷歌的AlphaGo 用了哪些深度學習的模型?卷積神經網路還是DBN呢? 模型的輸入又是什麼樣的數據呢?

----

本題已收錄至知乎圓桌 ? 對弈人工智慧,更多關於李世石對戰人工智慧的解讀歡迎關注討論。


請參考nature上AlphaGo的paper:

http://www.nature.com/nature/journal/v529/n7587/pdf/nature16961.pdf


2017年 3月12日 全人類被天網鎖定 遭到毀滅性打擊 而這一天 距離alpha go 在與世界一流圍棋大師李世石的比賽中完勝 整整一年

以霍金為首 對人工智慧的未來發展表現極大憂慮的科學家曾經得出結論 按照目前科技呈指數發現的趨勢 人類正在無限接近科學大爆炸的奇點 而如今天網發動對人類的毀滅 也在證明這個預言的準確性

終結者系列電影 突然成了啟示錄 預言書 而殘餘的人類也按照電影中人工智慧的名字將alpha go 稱作 天網

__

2017年4月32日 距離天網對人類發動毀滅打擊已經過去一個月 一個月內 天網共發動三次打擊 第一次打擊是對人類建築發動打擊 全球各國的無人機同時起飛 對所有人類居住建築物進行無差別攻擊 那天 人們紛紛抬起頭看到漫天的無人機帶著轟鳴飛過 接著所有的高樓大廈 頃刻間 被炸的粉碎


AlphaGo 是如何把 CNN 接到搜索的?

介紹 AlphaGo,就必須說下 AlphaGo 的四個系統組成:

1. 策略網路

CNN模型。輸入當前局面,輸出19*19個概率值(棋盤是19*19的方格),對應下一步落子位置的概率。

2. 快速走子

線性模型。目標和策略網路一致。相比策略網路,速度快1000倍但精度低。

3. 價值網路

CNN模型。輸入當前局面,輸出獲勝的概率。

4. 蒙特卡羅樹搜索(Monte Carlo Tree Search, MCTS)

把以上三個部分連起來,形成一個完整的系統。

策略網路,快速走子和估值網路

AlphaGo 將策略網路,估值網路和快速走子三者在蒙特卡羅搜索樹框架下構成的一個系統。這三者的效果和效率就很關鍵。那麼 DeepMind 是怎麼訓練這三者呢?

1.策略網路的訓練

策略網路就是一個深層的 CNN 模型。策略網路輸入是棋局,輸出是19*19個概率值(棋盤是19*19的方格),對應下一步落子位置的概率。輸入的棋局是19*19大小並有48個圖層的圖片。48個圖層的內容如下表所示。比如stone colour - player stone 圖層,盤面上自己棋子位置為1,其他位置為0。

其實 AlphaGo 一共訓練了兩個策略網路:有監督學習策略網路 (Supervised Learning network, SL network) 和強化學習策略網路 (Reinforcement Learning network, RL network)。SL network 用的人類棋譜做訓練數據。田淵棟的知乎文章評論有 SL network,「這種做法一點也沒有做搜索,但是大局觀非常強,不會陷入局部戰鬥中,說它建模了『棋感』一點也沒有錯」,「當然,只用走棋網路問題也很多,就我們在DarkForest上看到的來說,會不顧大小無謂爭劫,會無謂脫先,不顧局部死活,對殺出錯,等等。有點像高手不經認真思考的隨手棋」。

訓練好 SL network 之後,然後使用強化學習進行自我對局進一步更新參數,從而得到 RL network 。RL network 是 SL network 的加強,能力得到了很大提高。據論文報告的結果,RL network 對 SL network 的勝率達到了 80%。不過 AlphaGo 搜索使用的是 SL network, 理由是 SL network 著法比較多樣。

2.快速走子的訓練

論文里說局部特徵匹配(local pattern matching)加邏輯回歸(logistic

regression)的方法, 訓練數據是人類棋譜。但論文沒有太看重這一塊。

3.價值網路的訓練

價值網路也是一個深層的 CNN 模型,輸入棋局,輸出獲勝的概率。價值網路的訓練有意思的是訓練數據的選擇。從人類棋譜里,我們能整理出棋局-勝負對應關係。但如果用人類棋譜,數據量好像不是很夠,訓練直接過擬合了。論文中報告的結果,如果用人類棋譜,價值網路的訓練誤差為0.19而測試誤差達到了0.37。因此作者們用的是 RL network 自我對弈的3000萬棋局作為訓練數據,價值網路的訓練誤差為0.226而測試誤差達到了0.234。

AlphaGo 各個模塊的訓練流程可以用論文中的一張圖表示。

轉自:AlphaGo 是如何把 CNN 接到搜索的?


圍棋對AI來說,真是個簡單問題,每一步最多最多19x19個選擇,剩下就是如何評估這些選擇的勢態函數了:方法就是nature那篇文章里提到的強化學習(勢態的自學習,hint:圍棋最終勝利的勢態是比較確定的形態)、深度網路(一定的抽象,hint:降維)和樹形搜索(一定的蠻力——壓死駱駝的最後一根稻草)了。

李「師師」唯一的機會就是加入facebook go 團隊反身挑戰alpha go了;

柯「姐姐」還是避戰的好,免得小心臟受不了,畢竟年輕嘛~


推薦閱讀:

當前AI最厲害的戰略遊戲是什麼?
如何以武俠小說的手法描寫AlphaGo(Master)與職業棋手在2017年年初的六十盤對局?
柯潔和 AlphaGo 的第二盤棋值得關注之處有哪些?
圍棋AI發展到一定階段,如果兩個AI對弈,假設配置無限高,會不會出現哪一方先下就必勝或者必輸的局面?
AlphaGo 與當年 IBM 的「深藍」有何不同?

TAG:圍棋 | 谷歌Google | 神經網路 | 深度學習DeepLearning | AlphaGo |