GRU和LSTM結構對比

2021-10-10 08:55:01 字數 1836 閱讀 4307

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則靠一些 門 結構讓資訊有選擇性地影響迴圈神經網路中每個時刻的狀態。門 結構就是通過...