DNN、CNN、RNN、LSTM的区别
昨天聽室友問起DNN與CNN的區別,感覺自己不太了解,所在在網上搜了一些資料,這篇博客主要是根據知乎上的回答,加上自己的理解整理出來的。
廣義上來說,NN(或是DNN)確實可以認為包含了CNN、RNN這些具體的變種形式。在實際應用中,所謂的深度神經網絡DNN,往往融合了多種已知的結構,包括卷積層或是LSTM單元。但是從狹義上來說,單獨的DNN、CNN、RNN及LSTM也可以對比。
DNN(深度神經網絡)
神經網絡是基于感知機的擴展,而DNN可以理解為有很多隱藏層的神經網絡。多層神經網絡和深度神經網絡DNN其實也是指的一個東西,DNN有時也叫做多層感知機(Multi-Layer perceptron,MLP)。
DNN存在的局限:
參數數量膨脹。由于DNN采用的是全連接的形式,結構中的連接帶來了數量級的權值參數,這不僅容易導致過擬合,也容易造成陷入局部最優。
局部最優。隨著神經網絡的加深,優化函數更容易陷入局部最優,且偏離真正的全局最優,對于有限的訓練數據,性能甚至不如淺層網絡。
梯度消失。使用sigmoid激活函數(傳遞函數),在BP反向傳播梯度時,梯度會衰減,隨著神經網絡層數的增加,衰減累積下,到底層時梯度基本為0。
無法對時間序列上的變化進行建模。對于樣本的時間順序對于自然語言處理、語音識別、手寫體識別等應用非常重要。
DNN的基本介紹可參考:
CNN(卷積神經網絡)
主要針對DNN存在的參數數量膨脹問題,對于CNN,并不是所有的上下層神經元都能直接相連,而是通過“卷積核”作為中介。同一個卷積核在多有圖像內是共享的,圖像通過卷積操作仍能保留原先的位置關系。
CNN之所以適合圖像識別,正式因為CNN模型限制參數個數并挖掘局部結構的這個特點。
CNN相關知識可參考:
RNN(循環神經網絡)
針對CNN中無法對時間序列上的變化進行建模的局限,為了適應對時序數據的處理,出現了RNN。
在普通的全連接網絡或者CNN中,每層神經元的信號只能向上一層傳播,樣本的處理在各個時刻獨立(這種就是前饋神經網絡)。而在RNN中,神經元的輸出可以在下一個時間戳直接作用到自身。
(t+1)時刻網絡的最終結果O(t+1)是該時刻輸入和所有歷史共同作用的結果,這就達到了對時間序列建模的目的。
存在的問題:RNN可以看成一個在時間上傳遞的神經網絡,它的深度是時間的長度,而梯度消失的現象出現時間軸上。
RNN相關知識可參考:
LSTM(長短時記憶單元)
為了解決RNN中時間上的梯度消失,機器學習領域發展出了長短時記憶單元LSTM,通過門的開關實現時間上記憶功能,并防止梯度消失。
參考:
擴展
深度神經網絡中的梯度不穩定性,前面層中的梯度或會消失,或會爆炸。前面層上的梯度是來自于后面層上梯度的乘乘積。當存在過多的層次時,就出現了內在本質上的不穩定場景,如梯度消失和梯度爆炸。
梯度爆炸(exploding gradient):梯度爆炸就是由于初始化權值過大,前面層會比后面層變化的更快,就會導致權值越來越大,梯度爆炸的現象就發生了。
在深層網絡或循環神經網絡中,誤差梯度可在更新中累積,變成非常大的梯度,然后導致網絡權重的大幅更新,并因此使網絡變得不穩定。在極端情況下,權重的值變得非常大,以至于溢出,導致 NaN 值。
網絡層之間的梯度(值大于 1.0)重復相乘導致的指數級增長會產生梯度爆炸。
解決梯度爆炸的方法參考:詳解梯度爆炸和梯度消失
梯度消失(vanishing gradient):前面的層比后面的層梯度變化更小,故變化更慢,從而引起了梯度消失問題。
因為通常神經網絡所用的激活函數是sigmoid函數,這個函數有個特點,就是能將負無窮到正無窮的數映射到0和1之間,并且對這個函數求導的結果是f′(x)=f(x)(1?f(x))。因此兩個0到1之間的數相乘,得到的結果就會變得很小了。神經網絡的反向傳播是逐層對函數偏導相乘,因此當神經網絡層數非常深的時候,最后一層產生的偏差就因為乘了很多的小于1的數而越來越小,最終就會變為0,從而導致層數比較淺的權重沒有更新,這就是梯度消失。
因為sigmoid導數最大為1/4,故只有當abs(w)>4時梯度爆炸才可能出現。深度學習中最普遍發生的是梯度消失問題。
解決方法:使用ReLU,maxout等替代sigmoid。
ReLU與sigmoid的區別:(1)sigmoid函數值在[0,1],ReLU函數值在[0,+無窮],所以sigmoid函數可以描述概率,ReLU適合用來描述實數;(2)sigmoid函數的梯度隨著x的增大或減小和消失,而ReLU不會。
參考:
總結
以上是生活随笔為你收集整理的DNN、CNN、RNN、LSTM的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dcase_util教程(二)——各单元
- 下一篇: 《lol》牛头愚人节皮肤 萌萌奶牛到来