RNN(Recurrent Neural Network)介绍
介绍: RNN,也就是循环神经网络,是用来建模序列化数据的一种主流的深度学习模型。传统的前馈神经网络处理的输入往往都是一个定长向量,较难应对变长的序列信息,就算把序列处理成定长的向量,模型也很难捕捉序列中的长距离依赖关系。而RNN中的每个神经元能够运用其内部变量保存之前输入的序列信息,将所有神经元串行就可以处理序列化数据。
应用领域: 机器翻译、聊天机器人、序列标注、图像描述和推荐系统。
图说RNN宏观结构
(左边是折叠后的RNN结构,右边是展开后的RNN结构。两种结构相同)
其实RNN处理数据很简单,其大致可概括为两步走的形式:
RNN两步走:
Step One:
数据输入**,输出结果保存到小黑盒 “■” 中。
Step Two
数据联合上一次的小黑盒 “■” 一起输入**,输出结果继续保存到小黑盒 “■” 中。
以上就是RNN处理数据的流程。
下面描述一下RNN的计算方法:
时刻接收到输入之后,隐藏层的值是,输出值是。
图说RNN微观结构
明白了RNN的宏观大致流程后,就可以引入RNN的微观结构了。
我们将宏观结构中的展开部分透视如下图:
RNN主要处理序列化数据,以上三个绿色的模块(又称Cell,细胞)代表了RNN在不同时刻所处理的序列数据。其中中间部分的Cell,明确的透视出了RNN在时刻所进行的操作:输入上一时刻 Cell输出的隐藏状态值和此时刻的输入组合,乘以权重和偏置,经过一次就得到了这个cell的输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单理解RNN循环神经网络 - Python技术站