LSTM神經網路

2021-08-18 00:17:48 字數 1304 閱讀 1538

在傳統神經網路中,模型不會關注上一時刻的處理會有什麼資訊可以用於下一時刻,每一次都只會關注當前時刻的處理。舉個例子來說,我們想對一部影片中每一刻出現的事件進行分類,如果我們知道電影前面的事件資訊,那麼對當前時刻事件的分類就會非常容易。實際上,傳統神經網路沒有記憶功能,所以它對每一刻出現的事件進行分類時不會用到影片已經出現的資訊,那麼有什麼方法可以讓神經網路能夠記住這些資訊呢?答案就是recurrent neural networks(rnns)遞迴神經網路。txt

tht長時依賴是這樣的乙個問題,當**點與依賴的相關資訊距離比較遠的時候,就難以學到該相關資訊。例如在句子」我出生在法國,……,我會說法語「中,若要**末尾」法語「,我們需要用到上下文」法國「。理論上,遞迴神經網路是可以處理這樣的問題的,但是實際上,常規的遞迴神經網路並不能很好地解決長時依賴,好的是lstms可以很好地解決這個問題。

long short term mermory network(lstm)是一種特殊的rnns,可以很好地解決長時依賴問題。那麼它與常規神經網路有什麼不同? 

首先我們來看rnns具體一點的結構: 

理解lstms的關鍵就是下面的矩形方框,被稱為memory block(記憶塊),主要包含了三個門(forget gate、input gate、output gate)與乙個記憶單元(cell)。方框內上方的那條水平線,被稱為cell state(單元狀態),它就像乙個傳送帶,可以控制資訊傳遞給下一時刻。 tct

t−1,

xtht−1,xttht

t,it

,otft,it,ot

lstm第一步是用來決定什麼資訊可以通過cell state。這個決定由「forget gate」層通過sigmoid來控制,它會根據上一時刻的輸出ht−

1ht−1

和當前輸入xtxt

來產生乙個0到1 的ftft

值,來決定是否讓上一時刻學到的資訊ct−

1ct−1

通過或部分通過。如下: ~t

c~t,它作為當前層產生的候選值可能會新增到cell state中。我們會把這兩部分產生的值結合來進行更新。 tft

t∗c~

tit∗c~ttct

值縮放到-1到1間,再與sigmoid得到的輸出逐對相乘,從而得到模型的輸出。 

這顯然可以理解,首先sigmoid函式的輸出是不考慮先前時刻學到的資訊的輸出,tanh函式是對先前學到資訊的壓縮處理,起到穩定數值的作用,兩者的結合學習就是遞迴神經網路的學習思想。至於模型是如何學習的,那就是後向傳播誤差學習權重的乙個過程了。

迴圈神經網路與LSTM

是t時刻的輸入,例如單詞中相應的one hot向量st st是t時刻的隱狀態 memory 基於上一時刻的隱狀態和當前輸入得到 st f ux t ws t 1 st f uxt wst 1 其中f f一般是非線性的啟用函式,在計算s0s0 時,即第乙個單詞的隱藏層狀態,需要用到s 1 s 1,但是...

迴圈神經網路與LSTM

txt 是t時刻的輸入,例如單詞中相應的one hot向量st st是t時刻的隱狀態 memory 基於上一時刻的隱狀態和當前輸入得到 st f ux t ws t 1 st f uxt wst 1 其中f f一般是非線性的啟用函式,在計算s0s0 時,即第乙個單詞的隱藏層狀態,需要用到s 1 s ...

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

by yang liu 1.什麼是lstm 長短期記憶網路 lstm,long short term memory 是一種時間迴圈神經網路,是為了解決一般的rnn 迴圈神經網路 存在的長期依賴問題而專門設計出來的,屬於時間遞迴神經網路 rnn 中的一種。lstm適合於處理和 時間序列中間隔和延遲非常...