前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从动图中理解 RNN,LSTM 和 GRU

从动图中理解 RNN,LSTM 和 GRU

作者头像
AI研习社
发布2019-07-16 16:11:17
1.1K0
发布2019-07-16 16:11:17
举报
文章被收录于专栏:AI研习社AI研习社

原标题 | Animated RNN, LSTM and GRU 作者 | Raimi Karim 译者 | 汪鹏(重庆邮电大学)、Overfitting 注:本文的相关链接请访问文末【阅读原文】

递归神经网络(RNNs)是一类常用的序列数据人工神经网络。三种最常见的递归神经网络类型分别是:

  1. vanilla RNN
  2. 长短记忆RNN(LSTM),由 Hochreiter和 Schmidhuber 在1997年提出
  3. 门控循环单元(GRU),由Cho等人在2014年提出賽普·霍克賴特

要指出的一点是,我将使用"RNNS"来统称本质上是递归神经网络结构,"vanilla RNN"来指代在图一所展示的最简单的循环神经网络结构.

有很多关于递归神经网络的图解.

我个人最喜欢的一个是Michael Nguyen发表在《走向数据科学》(Towards Data Science)的这篇文章,因为他不仅给我们提供了对这些模型的直觉,更重要的是这些漂亮的插图,使我们更容易理解。但我发表这篇文章的动机是为了更好地理解这些单元中发生了什么,节点是如何共享的,以及它们是如何转换为输出节点。这里,我也受到了Michael的动画启发。

本文研究了vanilla RNN、LSTM和GRU单元。这是一个简短的概述,是为那些读过关于这些主题的文章的人准备的。(我建议在阅读本文之前先阅读Michael的文章),需要注意的是,以下动画是按顺序引导的,但在向量化的机器计算过程中并不反映时间上的顺序。

下面是我用来做说明的图例:

图0:动画图例

在我的动画中,我使用了大小为3(绿色)的输入和2个隐藏单元(红色),批量大小为1。

让我们开始吧!

Vanilla RNN

图1:vanilla RNN 示意动画

  • t—时间步长
  • X—输入
  • h—隐藏状态
  • X的长度—输入的大小
  • h的长度—隐藏单元。 请注意不同的库以不同的方式调用它们,但它们的含义相同: - Keras — state_size ,units - PyTorch — hidden_size - TensorFlow — num_units

LSTM(长短期记忆网络)

图2:LSTM 示意动画

  • C - 单元状态

注意,单元状态的维度与隐藏状态的维度相同。

GRU

图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

本文编辑:王立鱼

英文原文:

https://towardsdatascience.com/animated-rnn-lstm-and-gru-ef124d06cf45

想要继续查看该篇文章相关链接和参考文献?

点击底部【阅读原文】即可访问:

https://ai.yanxishe.com/page/TextTranslation/1601

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vanilla RNN
  • LSTM(长短期记忆网络)
  • GRU
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档