1. 程式人生 > >序列模型(3)---LSTM(長短時記憶)

序列模型(3)---LSTM(長短時記憶)

false 我們 height 需要 img 問題 決定 mov clas

一、RNN回顧

技術分享圖片

略去上面三層,即o,L,y,則RNN的模型可以簡化成如下圖的形式:

技術分享圖片

二、LSTM模型結構:

整體模型:

由於RNN梯度消失的問題,大牛們對於序列索引位置t的隱藏結構做了改進,可以說通過一些技巧讓隱藏結構復雜了起來,來避免梯度消失的問題,這樣的特殊RNN就是我們的LSTM。由於LSTM有很多的變種,這裏我們以最常見的LSTM為例講述。LSTM的結構如下圖:

技術分享圖片

記憶細胞:

從上圖中可以看出,在每個序列索引位置t時刻向前傳播的除了和RNN一樣的隱藏狀態h(t),還多了另一個隱藏狀態,如圖中上面的長橫線。這個隱藏狀態我們一般稱為細胞狀態(Cell State),記為

C(t)。如下圖所示:

技術分享圖片

門控結構:

除了細胞狀態,LSTM圖中還有了很多奇怪的結構,這些結構一般稱之為門控結構(Gate)。LSTM在在每個序列索引位置t的門一般包括遺忘門,輸入門和輸出門三種。下面我們就來研究上圖中LSTM的遺忘門,輸入門和輸出門以及細胞狀態。

  • 遺忘門:是控制是否遺忘的,在LSTM中即以一定的概率控制是否遺忘上一層的隱藏細胞狀態。遺忘門子結構如下圖所示:

技術分享圖片

技術分享圖片

  • 輸入門:負責處理當前序列位置的輸入,它的子結構如下圖:

技術分享圖片

技術分享圖片

LSTM之細胞狀態更新:

在研究LSTM輸出門之前,我們要先看看LSTM之細胞狀態。前面的遺忘門和輸入門的結果都會作用於細胞狀態

C(t)。我們來看看從細胞狀態C(t1)如何得到C(t)。如下圖所示:

技術分享圖片

我們把舊狀態與ft相乘,丟棄掉我們確定需要丟棄的信息。接著加上itCt~。這就是新的候選值,根據我們決定更新每個狀態的程度進行變化。

技術分享圖片

  • 輸出門:有了新的隱藏細胞狀態C(t),我們就可以來看輸出門了,子結構如下:

技術分享圖片

技術分享圖片

三、LSTM的前向傳播

技術分享圖片

四、LSTM反向傳播算法

技術分享圖片

技術分享圖片

技術分享圖片

序列模型(3)---LSTM(長短時記憶)