3 RNN神經網路 LSTM模型結構

2022-07-04 05:57:11 字數 1623 閱讀 8966

1. rnn神經網路模型原理

2. rnn神經網路模型的不同結構

3. rnn神經網路-lstm模型結構

之前我們對rnn模型做了總結。由於rnn也有梯度消失的問題,因此很難處理長序列的資料,大牛們對rnn做了改進,得到了rnn的特例lstm(long short-term memory),它可以避免常規rnn的梯度消失,因此在工業界得到了廣泛的應用。下面我們就對lstm模型做乙個總結。

我們先看下lstm的整體結構。

由於rnn梯度消失的問題,大牛們對於序列索引位置t的隱藏結構做了改進,可以說通過一些技巧讓隱藏結構複雜了起來,來避免梯度消失的問題,這樣的特殊rnn就是我們的lstm。由於lstm有很多的變種,這裡我們以最常見的lstm為例講述。

在每個序列索引位置t時刻向前傳播的除了和rnn一樣的隱藏狀態\(h_t\),還多了另乙個隱藏狀態,如圖中上面的長橫線。這個隱藏狀態我們一般稱為細胞狀態(cell state),記為\(c_t\)。如下圖所示:

圖中輸入的有上一串行的隱藏狀態\(h_\)和本序列資料\(x_t\),通過乙個啟用函式,一般是sigmoid,得到遺忘門的輸出\(f_t\)。由於sigmoid的輸出\(f_t\)在[0,1]之間,因此這裡的輸出\(f_t\)代表了遺忘上一層隱藏細胞狀態的概率。用數學表示式即為:

\[f_ = \sigma(w_fh_ + u_fx_ + b_f)

\]其中\(w_f,u_f,b_f\)為線性關係的係數和偏倚,和rnn中的類似。\(\sigma\)為sigmoid啟用函式。

輸入門(input gate)負責處理當前序列位置的輸入,它的子結構如下圖:

從圖中可以看到輸入門由兩部分組成,第一部分使用了sigmoid啟用函式,輸出為\(i_t\)第二部分使用了\(tanh\)啟用函式,輸出為\(a_t\),兩者的結果後面會相乘再去更新細胞狀態。用數學表示式即為:

\[i_ = \sigma(w_ih_ + u_ix_ + b_i)

\]\[a_ =tanh(w_ah_ + u_ax_ + b_a)

\]其中\(w_i,u_i,b_i,w_a,u_a,b_a\)為線性關係的係數和偏倚,和rnn中的類似。\(\sigma\)為sigmoid啟用函式。

在研究lstm輸出門之前,我們要先看看lstm之細胞狀態。前面的遺忘門和輸入門的結果都會作用於細胞狀態\(c_t\)。我們來看看從細胞狀態\(c_\)如何得到\(c_t\)。如下圖所示:

細胞狀態\(c_t\)由兩部分組成,第一部分是\(c_\)和遺忘門輸出\(f_t\)的乘積,第二部分是輸入門的\(i_t\)和\(a_t\)的乘積,即:

\[c_ = c_ \odot f_ + i_ \odot a_

\]有了新的隱藏細胞狀態\(c_t\),我們就可以來看輸出門了,子結構如下:

從圖中可以看出,隱藏狀態\(h_t\)的更新由兩部分組成,第一部分是\(o_t\),它由上一串行的隱藏狀態\(h_\)和本序列資料\(x_t\),以及啟用函式sigmoid得到,第二部分由隱藏狀態\(c_t\)和\(tanh\)啟用函式組成, 即:

\[o_ = \sigma(w_oh_ + u_ox_ + b_o)

\]\[h_ = o_ \odot tanh(c_)

\]通過本節的剖析,相信大家對於lstm的模型結構已經有了解了。當然,有些lstm的結構和上面的lstm圖稍有不同,但是原理是完全一樣的。

LSTM神經網路

在傳統神經網路中,模型不會關注上一時刻的處理會有什麼資訊可以用於下一時刻,每一次都只會關注當前時刻的處理。舉個例子來說,我們想對一部影片中每一刻出現的事件進行分類,如果我們知道電影前面的事件資訊,那麼對當前時刻事件的分類就會非常容易。實際上,傳統神經網路沒有記憶功能,所以它對每一刻出現的事件進行分類...

RNN 迴圈神經網路和LSTM 01基礎

rnn的結構說明當前的的輸出與前面的輸出也有關,即隱層之間的節點不再是無連線的,而是有連線的 時間t隱層單元的輸出為 st f ux t ws t 1 st f uxt wst 1 時間t的輸出為 ot soft max vst ot softmax vst 在rnns中,每輸入一步,每一層都共享引...

RNN 迴圈神經網路or遞迴神經網路?

我 內心os 有嗎,我感覺我看到的都是迴圈神經網路啊?我 這個應該就是翻譯的問題吧 回去以後我查了一下,發現我錯了,迴圈神經網路和遞迴神經網路還是有點區別的。很明顯,它倆名字就是不一樣的,迴圈神經網路是recurrent neural network,遞迴神經網路是recursive neural ...