LSTM長短期記憶人工神經網路簡述

2021-10-07 17:09:54 字數 2326 閱讀 4597

by:yang liu

1.什麼是lstm

長短期記憶網路(lstm,long short-term memory)是一種時間迴圈神經網路,是為了解決一般的rnn(迴圈神經網路)存在的長期依賴問題而專門設計出來的,屬於時間遞迴神經網路(rnn)中的一種。lstm適合於處理和**時間序列中間隔和延遲非常長的重要事件。

2.lstm的結構

上圖被稱為memory block(記憶塊),主要包含了三個門(forget gate、input gate、output gate)與乙個記憶單元(cell)。

方框內上方的那條水平線,被稱為cell state(單元狀態),它就像乙個傳送帶,可以控制資訊傳遞給下一時刻。

換句話說,cell 最上面的一條線的狀態 代表了長時記憶,而下面的 線代表了工作記憶或短時記憶。lstm中最重要的是forget gate,其次是input gate,最次是output gate。

可以看到中間的 cell 裡面有四個黃色小框,每乙個小黃框代表乙個前饋網路層,num_units就是這個層的隱藏神經元個數。其中1、2、4的啟用函式是 sigmoid,第三個的啟用函式是 tanh。

名詞解釋:

sigmoid:在資訊科學中,由於sigmoid單增以及反函式單增等性質,sigmoid函式常被用作神經網路的啟用函式,將變數對映到0,1之間。在計算機網路中,乙個節點的啟用函式定義了該節點在給定的輸入或輸入的集合下的輸出。標準的計算機晶元電路可以看作是根據輸入得到開(1)或關(0)輸出的數位電路啟用函式。

公式:

tanh:tanh是雙曲函式中的乙個,tanh()為雙曲正切。

公式:前饋神經網路:前饋神經網路(feedforward neural network,fnn),簡稱前饋網路,是人工神經網路的一種。前饋神經網路採用一種單向多層結構。其中每一層包含若干個神經元。在此種神經網路中,各神經元可以接收前一層神經元的訊號,並產生輸出到下一層。第0層叫輸入層,最後一層叫輸出層,其他中間層叫做隱含層(或隱藏層、隱層)。隱層可以是一層。也可以是多層。整個網路中無反饋,訊號從輸入層向輸出層單向傳播,可用乙個有向無環圖表示。

3.lstm流程介紹

(1)第乙個小黃框表示忘記門,該層的輸出是乙個介於0到1的數,表示允許資訊通過的多少,0 表示完全不允許通過,1表示允許完全通過。

(2)第二個和第三個小黃框表示產生我們需要更新的新資訊。第乙個是乙個「input gate」層(第二個小黃框)通過sigmoid來決定哪些值用來更新,第二個是乙個tanh層用來生成新的候選值。

上兩步結合起來就是丟掉不需要的資訊,新增新資訊的過程。

(3)第三個小黃框(輸出門)和之後的部分決定模型的輸出,首先是通過sigmoid層來得到乙個初始輸出,然後使用tanh將值縮放到-1到1間,再與sigmoid得到的輸出逐對相乘,從而得到模型的輸出。tanh函式是對先前學到資訊的壓縮處理,起到穩定數值的作用。

4.三個門的作用

遺忘門(forget gate):決定了上一時刻的單元狀態 有多少保留到當前時刻。

輸入門(input gate):決定了當前時刻網路的輸入有多少儲存到單元狀態。

輸出門(output gate):控制單元狀態 有多少輸出到 lstm 的當前輸出值。

5.lstm的反向傳播

(1) 前向計算每個神經元的輸出值。

(2)反向計算每個神經元的誤差項值。

兩個方向:

1.沿時間的反向傳播,即從當前 t 時刻開始,計算每個時刻的誤差項;

2.將誤差項向上一層傳播。

(3)根據相應的誤差項,計算每個權重的梯度。

參考文獻:

(1)(2)

(3)(4)

LSTM長短期記憶迴圈神經網路詳解

一句話,有時候單獨拎出來難以理解,而放在整篇文章中,我們則容易通過聯絡上下文理解。什麼叫聯絡上下文理解,就是把前文資訊聯絡結合到當前語句上,這也是rnn的關鍵。基本概念 維基百科 rnn本質是乙個迴圈神經網路結構,將其展開,會得到乙個序列結構,上一次的輸出會作為下一次的輸入 即前面的輸入將會對後面的...

長短期記憶網路 長短期記憶網路 LSTM 簡介

考慮這樣乙個場景,當我們在看乙個精彩的電影時,我們會被電影中的各個精彩情節所吸引,但是我們不能夠記住所有的電影情節。當觀影結束時,我們會立馬忘記電影裡面一些無關緊要的情節,留在我們腦海中的可能更多的是一些對劇情發展起關鍵作用的場景,這些場景可能在之後的很長一段時間後依然停留在我們的腦海中,以至於當我...

lstm原理 長短期記憶網路LSTM

上兩小節我們主要講述了迴圈神經網路rnn,但是儘管 rnn 被設計成可以利用歷史的資訊來 當前的決策,例如使用之前出現的單詞來加強對當前單詞的理解,但是 rnn決策的主要還是最後輸入的一些訊號,更早之前的訊號會隨著時間的推遲而變得強度越來越低,它對後續的影響越來越弱。這樣就會給rnn帶來了新的技術挑...