如何理解 AlphaGo 2.0 所用的殘差網路?它是怎樣一種神經網路?有哪些優點缺點?

看到有推測說 AlphaGo 2.0 用的是 40 層的殘差網路,這是一種什麼樣的演算法?他又怎樣的優點缺點?用它訓練圍棋程序為什麼會比 1.0 更強?

有什麼比較通俗的解釋么?

進入圓桌 ? 人機對弈終章,參與更多相關討論。


據說馬上就要出論文了,到時候就知道演算法上有哪些改進了。

之前看到AlphaGo那篇論文用了兩個Deep CNN,一個用來評估落子策略,一個用來評估棋局。

評估棋局和落子策略應該都是為了給博弈樹剪枝,選擇幾條有可能獲勝的路徑進行推演。另外演算法還採用了蒙特卡洛樹,具體演算法不熟悉。聽起來,帶「蒙特卡洛」的演算法都是跟概率有關的,應該是為選擇提供一定的概率性和隨機性,使得演算法選擇勝率最高的下法。

如果像題主說的那樣採用了ResNet殘差網路,應該就是用了比之前更深的神經網路吧。殘差網路在圖像識別上的性能很好。做ImageNet,從8層網路增長到152層,大幅提高性能,利用的就是殘差網路。這個工作應該是微軟最初做的,看起來可以推廣到其他任務上去。

殘差網路的目的是在網路中加入跨層的identity連接,這樣每一層實際要訓練的目標函數就變成了減掉輸入的殘差。在殘差較接近0的時候,這樣的訓練更加容易一些。從推導過程上可以看出來,殘差網路有利於誤差的反向傳播,避免了誤差的彌散 (vanish)。另外,殘差網路和LSTM有一定的相似性,用LSTM的RNN做也有可能。不過每個棋盤狀態已經包含了完整的信息,歷史信息看起來並沒有什麼用,不知道有沒有用RNN的必要。

以上純屬瞎猜,還是等論文看吧。


現在問這個合適嗎?阿狗是不是殘差網路還不好說吧。。。

如果是 也說得通,畢竟殘差網路現在還算是圖像領域state of the art。

如何理解 簡單理解就是一個更好的deep的卷積神經網路,既然阿狗用卷積 那用更好的卷積也說的通。稍微理解就是加了飛線的dnn 避免梯度傳不過來所以能更深。再深入理解就看論文吧。

不過我覺得阿狗2.0的主要點不在這。


聽說最新版的AlphaGo是完全基於Deep Reinforcement Learning (DRL). 之前的版本,還是有參考人類棋譜作為booststrap, 這種方式可以使得訓練收斂更快,缺點就是會受到人類下棋的影響。如果純用DRL的話,開始的階段會很慢收斂,但一旦達到一個threshold,勝率會飛速提升。

基於上面的背景,我想他用40層的殘差網路,應該某種程度上可以加快初始收斂的速度。一般來說,對於這種POMDP的問題,我們還會在CNN後面接上一個LSTM層。

具體還是等官方論文吧

對於Deep Reinforcement Learning, 這裡有兩篇文

A3C [1602.01783] Asynchronous Methods for Deep Reinforcement Learning

UNREAL https://arxiv.org/abs/1611.05397


最近正好在學習相關內容,按照我的理解簡單做一些解釋。

題目中提到的殘差網路應該指的是alphago基於當前棋盤狀態評估棋局和決策時使用的卷積神經網路。

在神經網路研究中,研究者發現越深的網路在擬合數據時越靈活,最後形成的模型效果也越好。但是實際訓練中,人們發現在相同的訓練集下,當神經網路過深時效果反而比如相對較淺的網路,而且這種差別不是由於訓練集太小overfit造成的,而是因為從隨機的初始權值狀態下,過深的神經網路的前幾層難以收斂。殘差網路主要解決的就是神經網路過深時難以收斂的問題。

殘差網路使用每隔幾層就通過做差直接將input傳到output的方法讓backprop時output的error signal直接通過這條shortcut傳回input。這樣就很大程度上解決了之前提到的難以收斂的問題。使得人們可以嘗試訓練更深的神經網路模型。

論文原文:https://arxiv.org/abs/1512.03385


推薦閱讀:

神經翻譯?
哪位高手能解釋一下卷積神經網路的卷積核?
如何作用和理解神經網路在電力電子方向的運用?
神經網路中的退火是什麼概念?

TAG:神經網路 | 深度學習DeepLearning | AlphaGo |