GIF動畫解析RNN,LSTM,GRU

摘要: 本文主要研究了維尼拉循環神經(RNN)、長短期記憶(LSTM)和門控循環單元(GRU)這三個網絡,介紹的比較簡短,適用於已經瞭解過這幾個網絡的讀者閱讀。

循環神經網絡是一類常用在序列數據上的人工神經網絡。三種最常見的循環神經網絡分別是:

1.維尼拉循環神經網絡(vanilla RNN)

2.長短期記憶網絡(LSTM),由Hochreiter和Schmidhuber於1997年提出

3.門控循環單元網絡(GRU),由Cho等人於2014年提出

現在可以查到許多解釋循環神經網絡這一概念的圖示。不過我個人比較推薦的是Michael Nguyen在《邁向數據科學》上發表的這篇文章,因爲這篇文章撰寫了關於這些模型的很多知識,而且提供了清楚易懂的插圖,易於讀者理解。這篇文章目的是啓發大家思考如何更好地可視化這些單元中發生的情況,節點是如何共享的,以及它們怎麼轉換爲輸出節點這些問題。Michael 的精彩動畫也給了我很大的啓發,從中受益匪淺。

本文主要研究了維尼拉循環神經(RNN)、長短期記憶(LSTM)和門控循環單元(GRU)這三個網絡,介紹的比較簡短,適用於已經瞭解過這幾個網絡的讀者(並且建議在閱讀本文之前閱讀Michael的文章)。請讀者注意,下面的動畫是按順序排列的,讀者請依序查看。

如下圖所示,是我用來做插圖的圖例。

Fig. 0: Legend for animations

在所演示的動畫中,我使用了3(綠色)和2個隱藏單元(紅色)的輸入大小,批處理大小爲1。

演示如下:

Vanilla RNN

Fig. 1: Animated RNN cell

* t — time step 時間步長

* X — input 輸入

* h — hidden state 隱藏狀態

* length of X — size/dimension of input   X的長度表示輸入的大小,尺寸

* length of h — no. of hidden units.  h的長度表示不屬於隱蔽的單位

注意,不同的庫可以用不同的方式調用它們,但它們的含義都是相同的。

LSTM

Fig. 2: Animated LSTM cell

* C — cell state

注意,單元格狀態的維度與隱藏狀態的維度相同。

GRU

Fig. 3: Animated GRU cell

希望這些動畫片對你有所幫助!以下是靜態圖像中的單元格的概述:

Fig. 4: RNN cell

Fig. 5: LSTM cell

Fig. 6: GRU cell

非常感謝德里克和任傑對本文的想法、建議和糾正。

如果您想繼續瞭解人工智能和深度學習,可以在Twitter@remykarem上閱讀我寫的關於這些的摘要文章和演示。



本文作者:【方向】

閱讀原文

本文爲雲棲社區原創內容,未經允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章