【神經網絡篇】--RNN遞歸神經網絡初始與詳解


一、前述

傳統的神經網絡每個輸入節點之間沒有聯系,

 RNN (對中間信息保留):

 

由圖可知,比如第二個節點的輸入不僅依賴於本身的輸入U1,而且依賴上一個節點的輸入W0,U0,同樣第三個節點依賴於前兩個節點的輸入,

假設每一個節點分別代表着“我出生在中國,我說——”的一個預測,則“說”后面則是依賴於前面的說的每個單詞的所有組合。

xt表示第t,t=1,2,3...步(step)的輸入

st為隱藏層的第t步的狀態,它是網絡的記憶單元

st=f(Uxt+Wst−1),其中f一般是非線性的激活函數。

ot是第t步的輸出,如下個單詞的向量表示softmax(Vst)(多分類)。
二、具體

1、遞歸神經網絡的反向傳播

損失函數有多個,以E3為例

E3t0t3時刻xW共同確定 Δ W的確定要考慮E3在各個時刻對w導數。

t3:

 

t2:

 

t1:

   

 

 

不僅更新當前節點的輸入梯度,還更新當前節點的所有記憶單元,一直傳播下去。

2、RNN局限性問題

I am Chines, I Love China
遞歸神經網絡參數太多,信息量冗余(因為最后的預測可能只 依賴它最近的詞,但我們輸入的時候是所有的詞,所以信息量冗余)、梯度消失或者爆炸。

 

3、LSTM(長短記憶網絡)

為了解決RNN的一些缺點,RNN與LSTM對比

C:控制參數
決定什么樣的信息會被保留什么樣的會被遺忘

 

 具體操作:

 門是一種讓信息選擇式通過的方法sigmoid 神經網絡層和一乘法操作。

Sigmoid 層輸出 0 到 1 之間的數值,描述每個部分有多少量可以通過。0 代表“不許任何量通過”,1 就指“允許任意量通過”!

Sigmoid函數

具體過程:

丟棄的信息:

先把當前節點的輸入和之前記憶的輸入傳遞進來,然后通過sigmod函數組合起來后得到的函數值(0,1)之間,然后再跟Ct-1組合,決定丟棄什么信息。Ct是永遠更新維護的值。

 

保留的信息:

最后總的信息:

分兩部分,遺忘的信息Cti-1和保留Ct的信息。先走遺忘的信息,再走保留的信息。Ct從開始到最后一直更新。

 輸出:

 LSTM整體架構:

 與RNN對比會有一部分信息保留,一部分信息丟棄。LSTM比RNN更實用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM