循环神经网络初探 不同于一张张独立的图像数据的处理,很多序列数据需要考虑到上下文信息,因此引入了循环神经网络(RNN)来进行序列数据的建模。春恋慕
通过不同时刻的参数共享,实现对时间序列的信息提取。
上图所示为一个循环核,循环核中部拥有多个记忆体,可以指定记忆体的个数,改变记忆容量。当记忆体的个数被限定,输入数据x、输出数据y的维度被确定,则循环核的三组参数(Wxy、Whh、Why)维度也就确定了。记忆体内存储着每个时刻的状态信息ht。
以上两式是ht与yt的计算过程。ht在每一时刻都被更新。反向传播时,三个参数矩阵被梯度下降法更新。
循环神经网络借助循环核提取时间特征后,送入全连接网络。yt层就是一个全连接网络,借助全连接网络完成序列数据的预测。
每个循环核构成一层循环计算层,循环计算层的层数向着输出方向增长。
其中每个循环核的记忆体的个数是根据需求任意指定的。
本章以字母序列预测为例,深入详细探讨循环神经网络的计算过程。字母预测任务:遇到a预测出b,遇到b预测出c,遇到c预测出d,遇到d预测出e,遇到e预测出a。
首先使用独热码对字母进行编码,并随机生成三个参数矩阵,选择记忆体的个数为3. 通过记忆体个数,输入数据维度,输出数据维度,确定参数矩阵的维度:
一个字母一个字母输入做计算。
连续输入四个字母,预测下一个字母,因此时间步为4,按时间步展开,依次输入每个字母,计算ht,更新记忆体的记忆,直到第四步,计算yt,得到预测结果。