1. 程式人生 > >深度學習要點———神經網絡的類型

深度學習要點———神經網絡的類型

時序數據 一個 rec 概念 位置 TP org mage CA

CNN(Convolutional Neural Network)

  (1)CNN的概念

  CNN,常被稱作卷積神經網絡,經常被用於圖像處理。

  CNN最關鍵的兩個步驟是:卷積與池化。以下是它的過程圖:

技術分享圖片

 CNN之所以能夠進行卷積,有兩點理由:1.圖像的模式會遠遠的小於整張圖片;2.圖像中相同的模式會出現在不同的位置。

    CNN之所以能夠進行池化,主要是因為圖像中有很多冗余點,即使我們對它進行subsamble也不會改變整張圖片的模式。

  (2)卷積

    所謂卷積,就是預定義比原始矩陣更小的矩陣,然後用這個矩陣與原來的輸入矩陣進行矩陣乘法。可想而知,通過卷積之後矩陣的大小肯定會變小。假設原來的矩陣大小的是m*m,卷積的矩陣大小是n*n,那麽卷積之後的矩陣大小為(m-n+1)(m-n+1)。如果你想要保持卷積後的矩陣的大小和原來的矩陣大小相等,那麽你就要使用zero padding技術。

  (3)池化

    這裏的池化一般指的是最大池化。最大池化,就是預先定義一個k*k的矩陣,然後確定卷積後的矩陣在這個k*k的矩陣中的最大值。池化後的矩陣大小為(m-n+1)/k*(m-n+1)/k。

  (4)應用

    CNN主要運用於圖像處理,在Playing go中,運用了CNN的卷積技術,但是沒有用到池化技術。

RNN(Recureent nertual network)

  RNN,也叫做循環神經網絡模型。RNN用於處理時序數據,因為它能夠記住歷史信息。

  RNN的類型有很多,典型的RNN模型指的是:當前隱層節點的輸出被存貯,而後作用於當前層節點。

  由RNN衍生出了很多不同類型的RNN,不同類型的特征和定義,請參考同一分類下RNN類型文章:

  (1)Bidirectional RNN

技術分享圖片

(2)LSTM

技術分享圖片

(3)訓練過程

  因為利用了歷史信息,所有RNN的訓練不能簡單的使用後向傳播算法,而是要使用改進的BPTT(Back Propagation through time)。

  RNN在訓練的過程也會存在梯度消失的問題,LSTM可以克服這個問題。只要LSTM的forget gated還在的話,就不會出現梯度小時問題。比RNN更簡單的GRU也有這種效果。

  (4)應用

  機器翻譯,video caption generation, 看圖說話。。。。

深度學習要點———神經網絡的類型