文章解析整理:《如果你還沒搞懂LSTM 網路,那本文絕對值得一看》

NO IMAGE

本文僅是博主自己學習用來加深印象和留存整理,對該內容有興趣請去閱讀原文。

原文地址:
https://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==&mid=2247485477&idx=1&sn=0d6bd491b593b497eb1f9d92f9afb10d&chksm=e99d3bdcdeeab2ca436750184f999a58b849be41a3a4ec1bd039b531accae124a2297e57ac0e&scene=21#wechat_redirect

迴圈神經網路(RNN)

迴圈神經網路(Recurrent Neural Networks)的特點是帶有環,能使資訊持久化,基於前面的資訊進行處理。
這裡寫圖片描述
但換言之,RNN和普通的神經網路也沒什麼不同。一個RNN可以看作是網路間的資訊傳遞。
這裡寫圖片描述

RNN在一系列的任務中都取得了令人驚歎的成就,比如語音識別,語言建模,翻譯,圖片標題等等。

LSTM(Long Short Term Memory)是一種特殊的迴圈神經網路,LSTM是RNN中出類拔萃的存在。

長期依賴的問題

RNN主要可以通過訓練來預測待測位置和相關資訊距離較小時的情況,比如預測句子“the clouds are in the sky”中的最後一個單詞。而對於距離較遠的上下文訊息時,比如預測句子“I grew up in France… I speak fluent French”中的最後一個單詞,RNN就顯得無能為力了。幸運的是,LSTM可以用來解決這些。

LSTM網路

LSTM全稱為長短期記憶網路,能夠學習到長期依賴關係,能夠記住長期資訊。

普通RNN重複模組結構非常簡單,例如只有一個tanh層。LSTM的重複模組中有四個神經網路層。
這裡寫圖片描述
這裡寫圖片描述

LSTM核心思想

LSTM的關鍵是元胞狀態(Cell State),元胞狀態有點像傳送帶,貫穿整個鏈,上面承載著資訊。
這裡寫圖片描述

LSTM通過門結構對元胞狀態新增或者刪除資訊。
0值表示不允許資訊通過,1值表示讓所有資訊通過。一個LSTM有3個這種門,來保護和控制元胞狀態。

LSTM的分佈詳解

LSTM的第一步是決定我們將要從元胞狀態扔掉哪些資訊。該決定由叫做“遺忘門(Forget Gate)”的Sigmoid層控制。遺忘門觀察ht−1h_{t-1}和xtx_t,對於元胞狀態Ct−1C_{t-1}中的每一個元素輸出一個0~1之間的數。1則完全保留該資訊,0表示完全丟棄該資訊。
遺忘在什麼時候發生呢?元胞狀態可能包含當前主語的性別資訊,當遇到一個新的主語時,我們就需要把舊的性別資訊遺忘了。
這裡寫圖片描述

下一步是決定我們對資訊的儲存。類似於前面,叫做輸入門的層決定我們要更新的資訊,另一個層,進一步判斷候選值,之後就用於元胞狀態的更新。將舊元胞狀態Ct−1C_{t-1}更新到新狀態CtC_t。
這裡寫圖片描述
這裡寫圖片描述

最後,需要決定最終的輸出。總之是通過一定的限制,輸出元胞的需要的部分。

LSTM的變種

提到了一些LSTM的改進版本,主要是對遺忘資訊,記憶資訊的更改和優化。