RNN简介
循环神经网络的主要用途是处理和预测序列数据。
RNN的网络结构
1、循环神经网络的经典结构
从网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。
参数共享思想:由于模块A中的运算和变量在不同时刻是相同的,因此循环神经网络理论上可以看作是同一神经网络被无限复制的结果。循环神经网络在不同的位置共享参数,从而使有限的参数处理任意长度的序列。
2、循环神经网络按时间展开后的结构
将循环神经网络对长度为N的序列展开后,可视为一个有着N个中间层的前馈神经网络。对于一个序列数据,可以将这个序列上不同时刻的数据依次传入循环神经网络的输入层,输出时可以是对下一个时刻的预测,也可以是对当前时刻信息处理的结果。循环神经网络要求每一个时刻都有一个输入,但不一定每个时刻都需要有输出。
3、循环神经网络实现机器翻译示意图
机器翻译的网络结构可以分为两部分:encoder和decoder。简单描述一下机器翻译的过程,假设机器翻译的的句子是ABCD,那么循环神经网络的第一个时刻的输入分别是A、B、C、D,然后用第一个 _ 作为开始翻译的提示符。在翻译的过程中每一个时刻的输入都是上一个时刻的输出,当预测输出为 _ 时翻译结束,得到的XYZ就是ABCD的翻译结果。