1.2 模型結構
降低了整體的模型引數,因為所有steps都共享相同的引數
在nlp領域有著很廣泛的應用
將rnn模型展開形式類似於dnn模型,只是在每個輸入step都共享相同的引數變數,如下圖所示:
在2023年,由jefrey elman提出的網路是最早的簡單的迴圈神經網路,以及後面jordan提出的迴圈網路。
elman網路計算公式如下:
h t=
σh(w
hxt+
uhht
−1+b
h)h_t = \sigma_h(w_hx_t + u_hh_ + b_h)
ht=σh
(wh
xt
+uh
ht−1
+bh
)y t=
σy(w
yht+
by)y_t = \sigma_y(w_yh_t + b_y)
yt=σy
(wy
ht
+by
)jordan網路計算公式如下:
h t=
σh(w
hxt+
uhyt
−1+b
h)h_t = \sigma_h(w_hx_t + u_hy_ + b_h)
ht=σh
(wh
xt
+uh
yt−1
+bh
)y t=
σy(w
yht+
by)y_t = \sigma_y(w_yh_t+b_y)
yt=σy
(wy
ht
+by
)其中x
tx_t
xt是輸入向量,h
th_t
ht是hidden layer向量,y
ty_t
yt是輸出向量,w,u
,bw, u, b
w,u,
b是模型引數,σ
h\sigma_h
σh和σ
y\sigma_y
σy是啟用函式。在step t
tt的h
th_t
ht計算包含兩個輸入,乙個是t
tt步的x
tx_t
xt,乙個就是上一時刻的隱層狀態ht−
1h_ht−1。
通過門機制去控制資訊的接收和釋放,和上面提到的普通的rnn模型結構的主要區別是加了幾個門機制用來控制xxx
圖形表示如下:
在計算輸入門,遺忘門,輸出門,cell狀態時,輸入都是x(t
)x^x(t)
和h (t
−1)h^
h(t−1)
,各自有對應的引數矩陣是u
uu和w
ww,其中u
uu和w
ww可以合併為乙個大的矩陣引數,所以整體來說,模型需要學習的引數就是在計算輸入門,遺忘門,輸出門,cell狀態時總共需要學習更新的的4個大的矩陣引數。
lstm確實有效,但是感覺有點複雜,所以後來又發明了gru結構。lstm和gru是目前為止用的最廣泛的兩種門機制rnn結構。而gru的計算公式如下:
LSTM和GRU聯絡以及區別
為什麼會出現lstm 基於rnn的缺點 當輸入序列較長時rnn很難把較早的資訊傳遞到後面,出現這個問題的原因是在反向傳播期間,rnn的梯度可能會消失。我們都知道,網路權重更新依賴梯度計算,rnn的梯度會隨著時間的推移逐漸減小,當序列足夠長時,梯度值會變得非常小,這時權重無法更新,網路自然會停止學習。...
lstm結構的原理
一.lstm網路 long short term memory,即我們所稱呼的lstm,是為了解決長期以來問題而專門設計出來的,所有的rnn都具有一種重複神經網路模組的鏈式形式。在標準rnn中,這個重複的結構模組只有乙個非常簡單的結構,例如乙個tanh層。不必擔心這裡的細節。我們會一步一步地剖析 l...
LSTM 網路結構簡述
rnn 存在 長期依賴 問題,當序列過長時候,一方面在優化時出現梯度消失或 的問題。另一方面,展開後的前饋神經網路會占用較大的記憶體。實際中,複雜語言場景中,有用的資訊間隔有大有小,長短不一,rnn效能受限。lstm則靠一些 門 結構讓資訊有選擇性地影響迴圈神經網路中每個時刻的狀態。門 結構就是通過...