循环神经网络是一类常用序列数据的人工神经网络三种最常见的循环神经网络分别是:

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


    非常感谢德里克和任杰对本文的想法、建议和纠正。

    如果您想继续了解人工智能和深度学习,可以在[email protected]上阅读我写的关于这些的摘要文章和演示。


作者信息

Raimi Karim
本文由阿里云云栖社区组织翻译。
文章原标题《Animated RNN, LSTM and GRU Recueernt neural network cells in GIFs]》,译者:么凹,审校:Viola。

文章简译,更为详细的内容,请查看原文

相关文章: