博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GIF动画解析RNN,LSTM,GRU
阅读量:6291 次
发布时间:2019-06-22

本文共 1025 字,大约阅读时间需要 3 分钟。

摘要: 本文主要研究了维尼拉循环神经(RNN)、长短期记忆(LSTM)和门控循环单元(GRU)这三个网络,介绍的比较简短,适用于已经了解过这几个网络的读者阅读。

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

1.维尼拉循环神经网络(vanilla RNN)

2.长短期记忆网络(LSTM),由

3.门控循环单元网络(GRU),由

现在可以查到许多解释循环神经网络这一概念的图示。不过我个人比较推荐的是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的长度表示不属于隐蔽的单位

注意,不同的库可以用不同的方式调用它们,但它们的含义都是相同的。

  • Keras —,
  • PyTorch — 
  • TensorFlow — num_units

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上阅读我写的关于这些的摘要文章和演示。


本文作者:【方向】

本文为云栖社区原创内容,未经允许不得转载。

你可能感兴趣的文章
- configuration.module has an unknown property 'loader' 问题解决
查看>>
七层网络模型
查看>>
Create C++ Class
查看>>
习题6-5 UVa1600 Patrol Robot(BFS)
查看>>
js获取网页高度
查看>>
java国际化(转)
查看>>
Netty
查看>>
StringBuilder与StringBuffer的区别(转)
查看>>
「陶哲軒實分析」 習題 3.5.11 註記 由冪集公理的兩種等價表述而想到的函數的定義問題...
查看>>
使用Asymptote的循环功能画出绿叶阵
查看>>
域上多项式的带余除法
查看>>
EM算法
查看>>
C#高级编程(第七版)读书笔记(1)——字符类型
查看>>
js sort()
查看>>
Java环境变量从jdk1.7修改为1.8
查看>>
二分查找/暴力 Codeforces Round #166 (Div. 2) B. Prime Matrix
查看>>
vue项目启动需安装?
查看>>
dedecms 系统的 data/rssmap.html不存在!更新了也没有。。。
查看>>
理解RESTful架构
查看>>
Zookeeper02
查看>>