时间序列数据:具有很强的先后顺序,最重要的一个特征是上一时刻的数据对下一时刻的数据有很大的影响。
全连接神经网络和卷积神经网络都是前馈神经网络模型的输出与模型本身没有关联,不能很好的考虑到时间序列的序列关系。而循环神经网络的前一时刻的输出可以作为下一时刻的输入从而学习到前面时刻的信息,所以循环神经网络可以很好的学习到时间序列数据的序列关系,能更好的处理时间序列数据。
1、RNN神经网络
下图为rnn神经网络的基本结构:xt为神经网络的输入,ht为神经网络的输出,A为神经网络的隐藏层。
上图表述不够直观,将网络展开为下图
1.1 权重共享
卷积神经网络的卷积核在整个特征图上滑动处理,不断进行特征数计算,因此一个特征图共享一个卷积核,不像全连接神经网络,每个输入都有自己的权重,这样会让计算机的计算量大大的提升,也容易导致网络模型过拟合,从而模型的泛化能力不强。
循环神经网络模型中的权重W,U,V是一样的,意味着这些权重在每个时刻是共享的,这样循环神经网络的参数要少很多,因此神经网络的参数更新的计算量要少很多,大大减少计算机的计算量。
1.2 循环神经网络存在的问题
循环神经网络理论上可以学习任意时刻的信息,但是在网络的反向传播进行参数更新的时候容易出现梯度消失和梯度爆炸。
利用链式求导法则
以sigmoid函数为例:f' = f*(1-f)属于(0,1/4),所以当w<4的时候,梯度小于1,多次相乘逐渐接近0,当w>4的时候,梯度大于1,多次相乘,出现梯度爆炸。
由于误差对参数的导数是累加的,所以比较近的梯度是一致存在的,占主导地位,模型就无法建立远距离的依赖性。
2、LSTM网络
根据上述分析,知道RNN网络在参数进行更新的时候容易出现梯度消失和梯度爆炸的情况,这样使得神经网络不能很好的学习较长序列中的信息,因此RNN只具有短时的记忆。LSTM在一定程度上缓解梯度消失的问题。LSTM是在RNN的基础上添加一些门控单元。
2.1LSTM的网络结构
1、遗忘门
该门将上一时刻的输出和当前时刻的输入做一个sigmoid的非线性映射,然后输出一个向量
2、输入门
2.3 更新细胞状态
根据遗忘门和输入门对细胞状态进行更新,
2.4 输出门
由上可知LSTM一共有Wf,Wi,Wc,Wo4个参数矩阵,这些参数利用梯度下降法更新参数。
2.5 LSTM缓解RNN梯度消失问题