LSTM及RNN簡單總結

2021-08-16 13:53:10 字數 879 閱讀 4963

rnn可以記住之前的資訊,將當前資訊聯絡到之前的資訊,比如**「the cloud are in the sky」最後的詞,我們並不需要其他的上下文就能知道是sky,這種場景中,相關資訊和**距離比較近,因此rnn可以有效利用先前的資訊。

但是當資訊距離比較長,比我我們看的一些電影,在前部份埋下伏筆,最後破案的過程中發現原來這地方是這個原因,原來如此,間隔非常遠,如果用rcnn,由於資訊距離較遠,梯度消失,rnn會喪失學習到連線如此遠的資訊的能力。

lstm(long short term memory)是一種rnn的特殊型別,可以學習長期依賴資訊,在lstm中有四種結構,來進行互動。

lstm中對細胞狀態進行一定的處理,通過「門」讓資訊選擇性通過,來去除或者增加資訊到細胞狀態。

四種門結構:

* 忘記門

細胞狀態可能包括單錢主語的類別,當我們看到新的代詞,我們希望忘記舊的代詞

* 決定放什麼資訊到「細胞狀態」中

sigmoid層決定什麼值需要更新,tanh層建立乙個新的候選值向量

* 更新細胞狀態 更新c

t−1 ct−

1為ct

c

t,把舊狀態與ft

f

t相乘,丟棄掉我們確定需要丟棄的資訊,加上it

∗c∗t

i t∗

ct

∗,這就是新的候選值,根據我們決定更新每個狀態的程度進行變化

* 基於細胞狀態得到輸出

首先執行乙個sigmoid層來決定細胞狀態的哪個部分輸出

接著用tanh處理細胞狀態,得到(-1,1)之間值,再將他和sigmoid門的輸出相乘,輸出我們確定輸出的那部分

比我我們可能需要單複數資訊來確定是輸出「他」還是「他們」;

RNN系列之六 LSTM

lstm的基本結構如下圖 包含三個門控,乙個更新門 輸入門 u,乙個遺忘門 f,乙個輸出門 o 更新門 將新的資訊選擇性的更新到細胞狀態中。遺忘門 將細胞狀態中的資訊選擇性的遺忘。輸出門 確定細胞狀態與輸入的哪個部分將輸出出去。具體數學表示式為 在很多lstm版本中,幾個門值的計算不只取決於輸入x ...

LSTM與RNN的區別

1.rnn rnn能夠處理一定的短期依賴,但無法處理長期依賴問題。因為當序列較長時,序列後部的梯度很難反向傳播到前面的序列,這就產生了梯度消失問題。當然,rnn也存在梯度 問題,但這個問題一般可以通過梯度裁剪 gradient clipping 來解決。rnn網路結構如下 ht 為timestep ...

LSTM為什麼比RNN好

來自知乎大佬towser的回答,比較深刻,也加了點自己的注釋,侵刪 lstm 能解決梯度消失 梯度 是對 lstm 的經典誤解,rnn 中的梯度消失 梯度 和普通的 mlp 或者深層 cnn 中梯度消失 梯度 的含義不一樣。mlp cnn 中不同的層有不同的引數,各是各的梯度 而 rnn 中同樣的權...