循环核
我们可以利用卷积神经网络实现离散数据的分类,然而有些数据是与时间序列相关的,是可以根据上文预测出下文的。比如我们的大脑就可以利用脑记忆体提取出历史数据进行分析来预测接下来有可能出现的数据,比如“鱼离不开___”,我们下意识地会预测出接下来出现的可能是“水”。
那么在神经网络中也有这样一个记忆体,叫做“循环核”。循环核具有记忆力,通过不同时刻的参数共享,实现了对时间序列的信息提取。
循环核中记忆体的个数可以被设定,改变记忆容量。当记忆体个数、输入x以及输出y维度被指定,循环核周围这些带训练参数的维度也就被限定了。循环核内存储着每个时刻的状态信息ht,当前时刻存储的状态信息ht为:
当前时刻的输出为:
其实,这就是一层全连接,前向传播时,循环核内存储的状态信息ht,在每个时刻都被刷新,三个参数矩阵wxh、whh、why自始至终都是固定不变的;反向传播时,三个参数矩阵被梯度下降法更新
循环核按时间步展开
即按时间轴方向展开
我们训练优化的就是这些参数矩阵,训练完成后使用效果最好的参数矩阵执行前向传播预测结果。
循环神经网络,就是借助循环核提取时间特征后,送入全连接网络,实现连续数据的预测
循环计算层
每个循环核构成一个循环计算层