简单理解RNN循环神经网络

RNN(Recurrent Neural Network)介绍

介绍: RNN,也就是循环神经网络,是用来建模序列化数据的一种主流的深度学习模型。传统的前馈神经网络处理的输入往往都是一个定长向量,较难应对变长的序列信息,就算把序列处理成定长的向量,模型也很难捕捉序列中的长距离依赖关系。而RNN中的每个神经元能够运用其内部变量保存之前输入的序列信息,将所有神经元串行就可以处理序列化数据。
应用领域: 机器翻译、聊天机器人、序列标注、图像描述和推荐系统。

图说RNN宏观结构

在这里插入图片描述
(左边是折叠后的RNN结构,右边是展开后的RNN结构。两种结构相同)
其实RNN处理数据很简单,其大致可概括为两步走的形式:

RNN两步走:
Step One:
数据 x x 输入激活,输出结果保存到小黑盒 “■” W W 中。
Step Two
数据 x x 联合上一次的小黑盒 “■” W W 一起输入激活,输出结果继续保存到小黑盒 “■” W W 中。

以上就是RNN处理数据的流程。

下面描述一下RNN的计算方法:
   t t 时刻接收到输入 x t x_t 之后,隐藏层的值是 s t s_t ,输出值是 o t o_t
在这里插入图片描述

图说RNN微观结构

明白了RNN的宏观大致流程后,就可以引入RNN的微观结构了。
我们将宏观结构中的展开部分透视如下图:
在这里插入图片描述
RNN主要处理序列化数据,以上三个绿色的模块(又称Cell,细胞)代表了RNN在不同时刻所处理的序列数据。其中中间部分的Cell,明确的透视出了RNN在 t t 时刻所进行的操作:输入上一时刻 t 1 t-1 Cell输出的隐藏状态值和此时刻的输入组合,乘以权重和偏置,经过一次 t a n h tanh 就得到了这个cell的输出。

发布了18 篇原创文章 · 获赞 1 · 访问量 4281

猜你喜欢

转载自blog.csdn.net/weixin_44151089/article/details/104204771
今日推荐