本文主要研究了三个网络:维内拉循环神经(RNN)、长时和短时记忆(LSTM)和门控循环单元(GRU)。简介适合已经了解这些网络的读者。
循环神经网络是一种常用于序列数据的人工神经网络。三种最常见的循环神经网络是:
1.Venera循环神经网络(vanillaRNN)
2.长时和短时记忆网络(LSTM),由Hochreiter和Schmidhuber于1997年提出。
3.门控循环细胞网络(GRU),由Cho等人在2014年提出。
现在你可以找到很多解释循环神经网络概念的图表。不过我个人还是推荐MichaelNguyen在《迈向数据科学》上发表的这篇文章,因为这篇文章写了很多关于这些机型的知识,并且提供了清晰易懂的插图,读者很容易理解。本文的目的是启发人们思考如何更好地可视化这些单元中发生的事情,节点是如何共享的,以及它们是如何转化为输出节点的。迈克尔精彩的动画也给了我很大的启发,让我受益匪浅。
本文主要研究了维内拉循环神经(RNN)、长时和短时记忆(LSTM)和门控循环单元(GRU)三个网络。简介简短,适合已经了解这些网络的读者(并且建议在阅读本文之前先阅读Michael的文章)。请注意,以下动画是按顺序排列的。请按顺序检查。
如下图所示,是我用来插画的图例。
图0:Legendforanimations
在演示的动画中,我使用的输入大小为3(绿色)和2个隐藏单元格(红色),批量大小为1。
演示如下:
VanillaRNN
图1:动态神经元
* t-timestep时间步长
* X—输入输入
* h-隐藏状态
* length of x-size/dimensionofinputx的长度表示输入的尺寸,size。
* length of h—of hden units . h的编号表示它不是隐藏单元。
注意,不同的库可以用不同的方式调用它们,但是它们的含义是相同的。
-Keras —状态大小,单位
-PyTorch — hidden_size
-张量流-数量单位
LSTM
图2:动画演示单元
*C —细胞状态
请注意,单元状态的维度与隐藏状态的维度相同。
GRU
图3:动画单元
希望这些漫画能帮到你!以下是静止图像中细胞的概述:
图4:RNNcell
图5:LSTMcell
图6:格鲁塞尔
我非常感谢德里克和任杰的想法,建议和更正。
如果你想继续学习人工智能和深度学习,可以在Twitter@remykarem上阅读我的抽象文章和演示。
本文由阿里巴巴云起社区组织翻译。
文章原标题《AnimatedRNN,LSTMandGRURecueerntneuralnetworkcellsinGIFs]》,莫傲翻译,维奥拉修改。