问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

时间序列预测中的LSTM与TCN:原理与对比分析

创作时间:
作者:
@小白创作中心

时间序列预测中的LSTM与TCN:原理与对比分析

引用
1
来源
1.
https://bbs.huaweicloud.com/blogs/detail/264168

时间序列预测是机器学习和深度学习中的一个重要领域,广泛应用于金融、气象、交通等领域的数据分析和预测。传统的神经网络在处理时间序列数据时存在诸多局限性,因此研究者们提出了循环神经网络(RNN)、长短期记忆网络(LSTM)和时间卷积网络(TCN)等更先进的模型。本文将详细介绍LSTM和TCN的工作原理及其在时间序列预测中的应用。

1. 简介

传统神经网络(DNN)无法对时间序列进行建模,只能接受特定的输入得到输出,前一个输入和后一个输入之间没有关系。针对某些需要序列时序信息的任务,即前一个输入和后一个输入之间是有关系的,则需要循环神经网络(RNN)来处理。RNN由神经元和一个或多个反馈循环组成,神经元的输出在下一时刻是可以传递给自身的,同时还输出一个隐藏层状态,在当前层处理下一个时刻的样本时进行使用,可以看做是带自循环反馈的全连接神经网络。

RNN隐藏层以循环结构形成记忆,可以保留之前的信息,从而有效利用过去时刻的信息进行处理。但是随着序列长度的逐渐增加,RNN无法处理长距离依赖的问题,同时由于采用BRTT的反向传播算法,RNN容易出现梯度爆炸和梯度消失的问题。因此,对于较长序列,一般不能直接使用RNN进行预测建模。

2. LSTM(Long Short-Term Memory)长短期记忆网络

长短时记忆网络(Long Short Term Memroy, LSTM)是由 Hochreiter 和 Schmidhuber[1]提出一种特殊的 RNN,可以解决RNN无法处理长距离依赖的问题。LSTM 与RNN有着类似的链式结构,如图1所示。LSTM在RNN的基础上通过增加3个门(gates)来控制单元添加或者删除信息的能力。


图1 LSTM网络结构[3]

  • 遗忘门(Forget Gate):决定忘记上一时刻Memory cell中的哪些信息,主要通过一个sigmoid的网络层来控制。
  • 输入门(Input Gate):决定哪些信息存储在当前时刻的Memory cell中,主要通过一个sigmoid的网络层确定,然后通过一个tanh的网络层生成一个新的候选值向量添加到Memory cell中,之后对两者进行整合并更新。
  • 输出门(Output Gate):决定当前时刻Memory cell中的哪些信息进行输出,主要通过一个sigmoid的网络层确定输出,然后对单元状态进行tanh操作并与sigmoid的输出相乘,作为最后的隐藏层输出。

3. TCN(Temporal Convolutional Networks)时间卷积网络

TCN的特点在于:1.网络的输入和输出长度相等;2.不利用将来的信息。为了解决上述问题,TCN以CNN为基础,并做了如下改进。

  • 一维卷积
    TCN使用一维全卷积结构和zero padding保证了各隐藏层之间长度与输入长度相同。

  • 因果卷积
    因为要处理时间序列,使用x1,x2,....,xt和y1,y2,....,yt-1来预测yt,因此不能使用普通的CNN。使用因果卷积,不考虑未来的信息,对前一层 t 时刻及之前的状态进行卷积,计算得到 t 时刻的输出,如图2所示。


图2 因果卷积网络结构示意图[4]

但是,如果需要考虑的时间序列很长,那就需要增加卷积层数,提升网络深度,才能捕捉到长时间的历史信息。网络深度的增加,容易造成梯度消失,难以训练的问题。针对这个问题,TCN使用扩张卷积来扩大网络的感受野。

  • 扩张卷积(膨胀卷积)
    相比于普通卷积,扩张卷积引入扩张因子(dilation rate),指的是卷积核的点的间隔数量(普通卷积为1),通过跳过部分输入的方式,使得卷积核filter可以应用于大于filter本身长度的区域,从而扩大网络的感受野。如图3所示,扩张卷积在普通卷积的基础上,保证网络参数数量不变,扩大卷积核的感受野。

图3 扩张卷积示意图[5]

  • 残差模块
    TCN同时还采用ResNet的残差结构来代替卷积层,进而训练更深的网络。如图4所示,残差模块包括:两层扩展卷积,两层权重归一化,两层激活函数ReLU,两层Dropout。与ResNet不同的是,标准ResNet中是将输入直接添加到输出中,而TCN中,由于输入输出的维度了可能不一致,因此先引入1*1卷积改变输入特征维度,然后再与输出相加。

图4 TCN残差结构[2]

4. 实验结果总结

实验结果[2]表明:TCN的效果明显优于LSTM和RNN等一般的递归体系结构。尽管RNN在理论上可以处理较长时间的序列数据,但是在实践过程中并不能实现。LSTM和TCN都能够保存更加长期的记忆,并且有效避免了RNN中梯度爆炸和梯度消失的问题。但是,对于时间较长的序列数据,LSTM需要使用大量内存来存储单元状态,而TCN中特征的反向传播只取决于网络深度,相比LSTM消耗更小的内存。

参考文献

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号