原标题 | Animated RNN, LSTM and GRU
作者 | Raimi Karim
译者 | 汪鹏(重庆邮电大学)、Overfitting
本文编辑:王立鱼
英文原文:
https://towardsdatascience.com/animated-rnn-lstm-and-gru-ef124d06cf45
递归神经网络(RNNs)是一类常用的序列数据人工神经网络。三种最常见的递归神经网络类型分别是:
vanilla RNN
长短记忆RNN(LSTM),由 Hochreiter和 Schmidhuber 在1997年提出
门控循环单元(GRU),由Cho等人在2014年提出賽普·霍克賴特
要指出的一点是,我将使用"RNNS"来统称本质上是递归神经网络结构,"vanilla RNN"来指代在图一所展示的最简单的循环神经网络结构.
有很多关于递归神经网络的图解.
我个人最喜欢的一个是Michael Nguyen发表在《走向数据科学》(Towards Data Science)的这篇文章,因为他不仅给我们提供了对这些模型的直觉,更重要的是这些漂亮的插图,使我们更容易理解。但我发表这篇文章的动机是为了更好地理解这些单元中发生了什么,节点是如何共享的,以及它们是如何转换为输出节点。这里,我也受到了Michael的动画启发。
本文研究了vanilla RNN、LSTM和GRU单元。这是一个简短的概述,是为那些读过关于这些主题的文章的人准备的。(我建议在阅读本文之前先阅读Michael的文章),需要注意的是,以下动画是按顺序引导的,但在向量化的机器计算过程中并不反映时间上的顺序。
下面是我用来做说明的图例:
图0:动画图例
在我的动画中,我使用了大小为3(绿色)的输入和2个隐藏单元(红色),批量大小为1。
让我们开始吧!
图1:vanilla RNN 示意动画
t—时间步长
X—输入
h—隐藏状态
X的长度—输入的大小
h的长度—隐藏单元。
请注意不同的库以不同的方式调用它们,但它们的含义相同:
- Keras — state_size ,units
- PyTorch — hidden_size
- TensorFlow — num_units
图2:LSTM 示意动画
C - 单元状态
注意,单元状态的维度与隐藏状态的维度相同。
图3:GRU 示意动画
希望这些动画能以某种方式帮助你!以下是静态图像中的概况:
图4:Vanilla RNN 单元
图5:LSTM 单元
图6:GRU 单元
一个提醒:我使用Google绘图来创建的这些示意图。
了解LSTM Networks - colah 的博客。
https://colah.github.io/posts/2015-08-Understanding-LSTMs/
LSTM和GRU的插图指南:逐步解释
https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21
想要继续查看该篇文章相关链接和参考文献?雷锋网雷锋网雷锋网
点击【从动图中理解 RNN,LSTM 和 GRU】即可访问!
今日资源推荐:CCF-GAIR | 张大鹏教授演讲 PPT:生物特征识别的新进展 - 纪念中国人工智能40年
非常高兴受邀参加本次会议,让我有机会汇报我的最新工作。今天我的讲题是“纪念中国人工智能40周年”,而我本人是中国学位法公布后首届入学的研究生,也是哈工大毕业的首个计算机博士,从 1980 年入学开始算起,我基本见证了中国人工智能这 40 年的发展历程。
这是我研究生期间所能找到最早的一篇论文,选题与指纹识别有关。 1984 年,陈光熙教授是我的博士生导师,图片展示的是当年哈工大进行博士学位论文答辩的场景。
点击链接获取:https://ai.yanxishe.com/page/resourceDetail/905