【时序】Informer:对长序列预测更高效的Transformer
论文:AAAI2021 | Informer: Beyond efficient transformer for long sequence time-series forecasting [1]
作者:Zhou H, Zhang S, Peng J, et al.
机构:北航、UC伯克利、Rutgers大学等
录播:https://www.bilibili.com/video/BV1RB4y1m714?spm_id_from=333.999.0.0
代码:https://github.com/zhouhaoyi/Informer2020
引用量:162
Informer是AAAI2021的佳论文,主要是针对长时序预测任务(Long sequence time-series forecasting,LSTF),改进了Transformer。
一、历史瓶颈
图1展示了电力转换站的小时级温度预测,其中短期预测是0.5天(12个点),而长期预测是20天,480个点,其中当预测长度大于48个点时,整体表现会有明显的差异,LSTM的MSE和推理速度都在往很坏的方向发展。
图1:LSTM在不同预测长度上性能和准确性的分析
为了满足LSTF的挑战,模型需要有:能够有效地捕捉长序列输入和输出的相互依赖性。近,Transformer在捕捉长期依赖性上,明显比RNN有着卓越的表现。但存在以下瓶颈:
1. 自关注机制的二次计算复杂度高:自关注机制的算子,即点积,导致时间复杂度和每层内存消耗量为
2. 长序列输入下堆叠层的内存瓶颈:堆叠J层encoder/decoder层让内存使用率为
3. 预测长输出时推理速度慢:原始Transformer是动态解码,步进式推理很慢。
二、论文贡献
本文贡献如下:
1. 提出informer,能成功提高在LSTF问题上的预测能力,验证了Transformer模型的潜在价值,能捕获长序列时间序列输出和输入之间的个体长期相关性;
2. 提出ProbSparse自相关机制,使时间复杂度和内存使用率达到
3. 提出自相关蒸馏操作,在J个堆叠层上突出关注分高的特征,并极大减少空间复杂度到
4. 提出生成式decoder,直接一次性多步预测,避免了单步预测产生的误差累积。
三、网络结构
Informer的网络结构示意图如下:
图2:网络结构示意图
在图2中:
● 左边:encoder接收大量长序列输入(绿色),Encoder里ProbSparse自关注替换了原自关注模块,蓝色梯形是自关注蒸馏操作,用于抽取主要关注,减少网络尺寸。堆叠层是用于增加鲁棒性。
● 右边:decoder接收长序列输入,用0填充预测部分的序列。它衡量特征map上加权关注成分,然后生成式预测橙色部分的输出序列。
1. ProbSparse Self-attention
ProbSparse Self-attention是Informer的核心创新点,我们都知道Transformer里,自关注是有query, key和value组成:
但Transformer中attention分数是很稀疏的,呈长尾分布,只有少数是对模型有帮助的。
图3:在ETTh1数据集上,4层原Transformer的自关注的softmax分数分布
作者在文中提到:如果存在核心attention的点积pairs,那query的关注概率分布便会远离均匀分布。意思是说:如果
公式(6)中项是Log-Sum-Exp(LSE),第二项是算术平均数,散度越大,概率分布越多样化,越可能存在关注重点。但上述公式会有两个问题:
● 点积对的计算复杂度是
● LSE计算存在数值不稳定的风险,因为形式下,可能会数据溢出报错。
为了解决这两个问题,作者分别采取以下手段:
● 随机采样
● 用
2. Encoder
Informer Encoder结构如下:
图4:Encoder网络结构
Encoder的作用是Self-attention Distilling,由于ProbSparse自相关机制会带来冗余的V值组合,所以作者在设计Encoder时,采用蒸馏的操作不断抽取重点特征,从而得到值得重点关注的特征图。我们能从图4看到每个Attention Block内有n个头权重矩阵,整个Encoder可以由下面的公式所概况:
3. Decoder
Decoder如图2所示,由2层相同的多头关注层堆叠而成,Decoder的输入如下:
四、实验结果
在4个数据集上,单变量长序列时序预测结果:
图5:单变量长序列时序预测结果(4个数据集)
Informer在3种变量下,的参数敏感度:
图6:Informer的参数敏感度(3种变量)
ProbSparse自相关机制的消融实验:
图7:ProbSparse自相关机制的消融实验
每层的复杂度:
图8:各模型复杂度对比
自关注蒸馏的消融实验:
图9:自关注蒸馏的消融实验
生成式decoder的消融实验:
图10:生成式decoder的消融实验
训练和测试阶段的运行时间:
图11:训练和测试阶段的运行时间
五、总结
总的来说,Informer的亮点在于ProbSparse Self-attention和Encoder with Self-attention Distilling。前者采样点积对,减少Transformer的计算复杂度,让其能接受更长的输入。后者采用蒸馏的概念设计Encoder,让模型不断提取重点关注特征向量,同时减少内存占用。
据身边同事反馈,Informer的效果没有我们想象中那么好,也建议大家可以多试试。
参考资料
[1] Zhou, H., Zhang, S., Peng, J., Zhang, S., Li, J., Xiong, H., & Zhang, W. (2021, February). Informer: Beyond efficient transformer for long sequence time-series forecasting. In *Proceedings of AAAI.*
[2] 【务实基础】Transformer - 宅码
相关文章