前言:lstm,(long short term memory networks)。是一種特殊的 rnn 迴圈神經網路,避免長期依賴問題。在很多情況下,lstm 比標準的 rnn 表現要出色。在 rnn 的基礎上網路進化到 lstm。
回憶 rnn 相關思想請點 這裡。
lstm 網路比 rnn 多了乙個(關鍵部分)控制引數c :
引數 c決定了什麼樣的資訊將會保留或者遺忘。
前言門:是一種讓資訊選擇式通過的方法。如下圖網路模組中的加法門和乘法門。
門:是一種讓資訊選擇式通過的方法。在下圖網路迴圈模組中的 sigmoi
d 函式經過乙個乘法門的作用就是:si
gmoi
d 層輸出 0 到 1 之間的數值,描述每個部分有多少量可以通過。0 代表「不許任何量通過」,1 就指「允許任意量通過」!
:當前資訊。
ht−1
:前一階段所有隱層的資訊。
ct−1
:前一階段保留的歷史引數控制資訊。
把 ht
−1和 xt
拼接起來,傳給乙個sigmoid函式,該函式輸出[0
,1] 之間的值 ft
(f :forget忘記門),這個值乘到細胞狀態ct
−1上去。sigmoid函式的輸出值直接決定了狀態資訊保留多少。
ft=σ
(wf⋅
[ht−
1,xt
]+bf
)
例如當要**下乙個詞時,細胞狀態可能包含當前主語的人稱(i),因此待測的正確代詞(am)可以被選出來。當網路看到新的主語(they)時,人們希望忘記舊主語(i)。
:要保留下來的新資訊(
i :input 輸入門)
ct:新資料形成的控制引數
上一步 ct
−1已經被忘記了部分資訊,接著本步就應該考慮把哪些新有的資訊加到細胞狀態中。
1、 乙個tanh層用來產生更新值的候選項c˜
t ,tanh的輸出範圍在[-1,1]。tanh的輸出決定細胞狀態在某些維度上需要加強,在某些維度上需要減弱。
2、 乙個sigmoid層,它的輸出值要乘到tanh層的輸出上,起到乙個縮放的作用。
it=σ
(wi⋅
[ht−
1,xt
]+bi
) c
˜t=t
anh(
wc⋅[
ht−1
,xt]
+bc)
如sigmoid輸出0說明相應維度上的細胞狀態不需要更新。在**下乙個詞的例子中,我們希望增加新的主語的身份(students)到細胞狀態中,來替代需要忘記的舊主語。
然後讓舊細胞狀態 ct−1與 ft
相乘來選擇性丟棄一部分資訊;再加上需更新的部分 it
∗c˜t
,由此生成新的細胞狀態ct
由此可知,更新後的引數是由兩部分組成:遺忘部分+保留新的部分。利用新的控制引數產生輸出:引數更新好了,最後結果的輸出由引數決定。把 ct
輸給乙個tanh函式得到輸出值的候選項。
候選項中的哪些部分最終會被選擇輸出,由乙個sigmoid層來決定。
在**下乙個詞的例子中,如果細胞狀態 ct
已知當前代詞是第三人稱(it),則可**下一詞可能是乙個第三人稱動詞。(does)。ot
如下圖,lstm 模組也可以像 rnn 的迴圈遞迴一樣迴圈展開:LSTM學習筆記
1.原理 描述一下細胞狀態和三個門。lstm的公式推導詳解 簡單理解lstm lstm 長效短期記憶神經網路 是一種特殊的rnn,它能夠學習到較長的依賴關係 注意是較長,太長了也不行 細胞狀態和三個門結構,遺忘門,輸入輸出門。第一步是決定從細胞狀態中丟棄什麼資訊 圖一 由 忘記門 的sigmoid層...
LSTM學習筆記
兩層的rnn y1 rnn1.step x y rnn2.step y1 長短期記憶體網路 通常只稱為 lstm 是一種特殊的rnn,能夠學習長期依賴性。lstm可以選擇性忘記不重要的資訊,只關聯重要的資訊。所有的遞迴神經網路都有乙個神經網路的重複模組鏈的形式。在lstm中,這個重複模組有4層。ls...
暑期個人學習筆記
sl 小火車 命令 sl sl afle sl h l cmatrix c矩陣 xeyes 眼睛 etc目錄下儲存系統配置檔案 幾個特殊檔案 hostname 可以修改計算機名 hosts 字串和ip的對映 bin目錄存放可執行檔案 home目錄下存放每個linux使用者的家 home 使用者名稱 ...