天天看點

GIF動畫解析RNN,LSTM,GRU

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

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

2.長短期記憶網絡(LSTM),由

Hochreiter和Schmidhuber于1997年提出 3.門控循環單元網絡(GRU),由 Cho等人于2014年提出

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

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

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

GIF動畫解析RNN,LSTM,GRU

Fig. 0: Legend for animations

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

    示範如下:

Vanilla RNN
GIF動畫解析RNN,LSTM,GRU

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的長度表示不屬于隐蔽的機關

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

- Keras —

state_size , units - PyTorch —  hidden_size - TensorFlow — num_units LSTM
GIF動畫解析RNN,LSTM,GRU

Fig. 2: Animated LSTM cell

* C — cell state

注意,單元格狀态的次元與隐藏狀态的次元相同。

GRU
GIF動畫解析RNN,LSTM,GRU

Fig. 3: Animated GRU cell

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

GIF動畫解析RNN,LSTM,GRU
Fig. 4: RNN cell
GIF動畫解析RNN,LSTM,GRU
Fig. 5: LSTM cell
GIF動畫解析RNN,LSTM,GRU

Fig. 6: GRU cell

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

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

作者資訊

Raimi Karim

本文由阿裡雲雲栖社群組織翻譯。

文章原标題《Animated RNN, LSTM and GRU Recueernt neural network cells in GIFs]》,譯者:麼凹,審校:Viola。

文章簡譯,更為詳細的内容,

請檢視原文

繼續閱讀