2020 12 02 人人都能看懂的LSTM

2021-10-11 03:11:36 字數 2294 閱讀 6279

轉知乎:

謝謝您!

迴圈神經網路(recurrent neural network,rnn)是一種用於處理序列資料的神經網路。相比一般的神經網路來說,他能夠處理序列變化的資料。比如某個單詞的意思會因為上文提到的內容不同而有不同的含義,rnn就能夠很好地解決這類問題。

先簡單介紹一下一般的rnn。

這裡:為當前狀態下資料的輸入,

表示接收到的上乙個節點的輸入。

為當前節點狀態下的輸出,而

h'為傳遞到下乙個節點的輸出。

通過上圖的公式可以看到,輸出 h' 與 x 和 h 的值都相關。

而 y 則常常使用 h' 投入到乙個線性層(主要是進行維度對映)然後使用softmax進行分類得到需要的資料。

對這裡的y如何通過 h' 計算得到往往看具體模型的使用方式。

通過序列形式的輸入,我們能夠得到如下形式的rnn。

長短期記憶(long short-term memory, lstm)是一種特殊的rnn,主要是為了解決長序列訓練過程中的梯度消失和梯度**問題。簡單來說,就是相比普通的rnn,lstm能夠在更長的序列中有更好的表現。

lstm結構(圖右)和普通rnn的主要輸入輸出區別如下所示。

相比rnn只有乙個傳遞狀態

h^t,lstm有兩個傳輸狀態,乙個

c^t(cell state),和乙個

h^t(hidden state)。(tips:rnn中的

h^t對於lstm中的

c^t其中對於傳遞下去的

c^t改變得很慢,通常輸出的

c^t是上乙個狀態傳過來的

c^加上一些數值。

h^t則在不同節點下往往會有很大的區別。

下面具體對lstm的內部結構來進行剖析。

首先使用lstm的當前輸入

x^t和上乙個狀態傳遞下來的

h^拼接訓練得到四個狀態。

其中,z^f

z^iz^o

是由拼接向量乘以權重矩陣之後,再通過乙個

sigmoid

啟用函式轉換成0到1之間的數值,來作為一種門控狀態。而

則是將結果通過乙個

啟用函式將轉換成-1到1之間的值(這裡使用

是因為這裡是將其做為輸入資料,而不是門控訊號)。

下面開始進一步介紹這四個狀態在lstm內部的使用。(敲黑板)

是hadamard product,也就是操作矩陣中對應的元素相乘,因此要求兩個相乘矩陣是同型的。

\oplus

則代表進行矩陣加法。

lstm內部主要有三個階段:

1. 忘記階段。這個階段主要是對上乙個節點傳進來的輸入進行選擇性忘記。簡單來說就是會 「忘記不重要的,記住重要的」。

具體來說是通過計算得到的

z^f(f表示forget)來作為忘記門控,來控制上乙個狀態的

c^哪些需要留哪些需要忘。

2. 選擇記憶階段。這個階段將這個階段的輸入有選擇性地進行「記憶」。主要是會對輸入

x^t進行選擇記憶。哪些重要則著重記錄下來,哪些不重要,則少記一些。當前的輸入內容由前面計算得到的

z表示。而選擇的門控訊號則是由

z^i(i代表information)來進行控制。

c^t3. 輸出階段。這個階段將決定哪些將會被當成當前狀態的輸出。主要是通過

z^o來進行控制的。並且還對上一階段得到的

c^o進行了放縮(通過乙個tanh啟用函式進行變化)。

與普通rnn類似,輸出

y^t往往最終也是通過

h^t變化得到。

以上,就是lstm的內部結構。通過門控狀態來控制傳輸狀態,記住需要長時間記憶的,忘記不重要的資訊;而不像普通的rnn那樣只能夠「呆萌」地僅有一種記憶疊加方式。對很多需要「長期記憶」的任務來說,尤其好用。

但也因為引入了很多內容,導致引數變多,也使得訓練難度加大了很多。因此很多時候我們往往會使用效果和lstm相當但引數更少的gru來構建大訓練量的模型。

新手都能看懂的Dubbo!

1.dubbo架構 上述節點簡單說明 呼叫關係說明 1.服務容器負責啟動,載入,執行服務提供者。2.服務提供者在啟動時,向註冊中心註冊自己提供的服務。3.服務消費者在啟動時,向註冊中心訂閱自己所需的服務。4.註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者...

小白都能看懂的block

首先說明一下,我自己也是乙個小白 這是我對block的一點認識或總結,有不對的地方,希望大家指出來 block就是乙個 塊,用來執行一小段程式的,通常我們定義乙個block 可以用它的基本模型,返回值型別 變數的名字 引數型別 例如 int myblock int 這就是定義了乙個block 這個變...

《人人都能看懂經濟學》讀書筆記

推薦指數 5顆星,極力推薦,是我度過最通俗易懂,且沒有什麼廢話的書籍,全書用乙個完整的場景來解釋並闡述了一些經濟學的東西,至少我自己收穫頗多。部分筆記 這裡我摘出來一些個人覺得需要的筆記,裡面其他的大家可以自己去看書哦。1 機會成本 為了得到某種東西而所要放棄另一些東西的最大價值。這裡書上舉了乙個例...