GIF动画解析RNN,LSTM,GRU

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

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

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

2.长短期记忆网络(LSTM),由Hochreiter和Schmidhuber于1997年提出

3.门控循环单元网络(GRU),由Cho等人于2014年提出

现在可以查到许多解释循环神经网络这一概念的图示。不过我个人比较推荐的是Michael Nguyen在《迈向数据科学》上发表的这篇文章,因为这篇文章撰写了关于这些模型的很多知识而且提供了清楚易懂的插图易于读者理解这篇文章目的是启发大家思考如何更好地可视化这些单元中发生的情况,节点是如何共享的,以及它们怎么转换为输出节点这些问题。Michael 的精彩动画也给了我很大的启发从中受益匪浅

本文主要研究了维尼拉循环神经(RNN)、长短期记忆(LSTM)和门控循环单元(GRU)这三个网络,介绍的比较简短适用于已经了解过几个网络的读者并且建议在阅读本文之前阅读Michael的文章请读者注意,下面的动画是顺序排列的,读者请依序查看

如下图所示,是我用来做插图的图例

c09b016d834a201eb93799560502a7cf9376e6be

Fig. 0: Legend for animations


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

    演示如下:

Vanilla RNN

3681d8dcfd2817a0f6ffaeac103de42625c55102

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

0f0bc67e61055f9ba8e1fa1d28911ddc559feaee

Fig. 2: Animated LSTM cell


* C — cell state

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

GRU

2524af3b04602c67ea0e5c5481581ce2d081858f

Fig. 3: Animated GRU cell


    希望这些动画片对你有所帮助!以下是静态图像中的单元格的概述

a2aa1d422308a2a9f3690de5efe7268fc493eba7

Fig. 4: RNN cell


33284e6069afb20df439cdfe10ab2ba3a2deccd6

Fig. 5: LSTM cell


e7165952dae811d3cee0ab91abedd0139b360a57

Fig. 6: GRU cell


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

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


作者信息

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

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

相关文章
|
3天前
|
机器学习/深度学习 算法 Python
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
47 12
|
1月前
|
机器学习/深度学习 自然语言处理 并行计算
神经网络结构——CNN、RNN、LSTM、Transformer !!
神经网络结构——CNN、RNN、LSTM、Transformer !!
136 0
|
3月前
|
机器学习/深度学习 自然语言处理 数据处理
RNN vs LSTM:序列数据处理的选择
RNN vs LSTM:序列数据处理的选择
53 0
|
4月前
|
机器学习/深度学习 存储 自然语言处理
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
116 0
|
4月前
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch搭建RNN联合嵌入模型(LSTM GRU)实现视觉问答(VQA)实战(超详细 附数据集和源码)
PyTorch搭建RNN联合嵌入模型(LSTM GRU)实现视觉问答(VQA)实战(超详细 附数据集和源码)
73 1
|
4月前
|
机器学习/深度学习 自然语言处理 计算机视觉
RNN长短期记忆(LSTM)是如何工作的?
RNN长短期记忆(LSTM)是如何工作的?
94 0
RNN长短期记忆(LSTM)是如何工作的?
|
1月前
|
机器学习/深度学习 自然语言处理 数据处理
大模型开发:描述长短期记忆网络(LSTM)和它们在序列数据上的应用。
LSTM,一种RNN变体,设计用于解决RNN处理长期依赖的难题。其核心在于门控机制(输入、遗忘、输出门)和长期记忆单元(细胞状态),能有效捕捉序列数据的长期依赖,广泛应用于语言模型、机器翻译等领域。然而,LSTM也存在计算复杂度高、解释性差和数据依赖性强等问题,需要通过优化和增强策略来改进。
|
3天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
23 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
46 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】REMD_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】REMD_ MFE_SVM_LSTM 神经网络时序预测算法
44 5

热门文章

最新文章

推荐镜像

更多