阅读论文:
Zhou, Haoyi, et al. “Informer: Beyond efficient transformer for long sequence time-series forecasting.” Proceedings of the AAAI conference on artificial intelligence. Vol. 35. No. 12. 2021.
背景与动机
与Autoformer和FEDformer等相似,Informer算是较早的一篇致力于将Transformer应用于长期时序预测的论文。本文同样着眼于解决原始Transformer的计算和存储复杂度问题,不同的是还注意到了原始Encoder-Decoder结构中,Decoder结构导致的step-by-step的生成方式带来的低效问题。文章发现并非所有时点的数据都与其他时点有很强的相关性,因此希望利用这种性质减少注意力计算。
模型与方法
本文模型依旧是Encoder-Decoder结构,其中Encoder同样是多层结构,但其中每个EncoderLayer(由概率稀疏自注意力组成)间均有一个ConvLayer用于下采样,用于蒸馏输出,将序列长度减半,也正因如此模型纵览图中概率稀疏注意力是梯形的。输入数据包括时序数据和多种时间戳信息,经过embedding后,包含时间日期星期和节假日的时间戳信息被以位置编码的方式加到时序数据的embedding上。
Decoder依然是多层结构,每层中使用了两种注意力,一种是使用了遮罩的概率稀疏自注意力,其mask用于避免自回归生成;另外一种是原始的多头注意力,用于在Masked Muti-head ProSparse self-attention输出和Encoder输出间做完全的交叉注意力。最后在最后一层后面做一下norm再进全连接层输出待预测部分。
概率稀疏自注意力是本文的核心,有研究指出注意力计算中不是所有query都是必要的,且文章观察到每个时点并非在注意力计算中产生相同的贡献。具体而言不是每个时点与其他时点的相关性并非都是高的,时点与其他时点的相关性的统计曲线具有长尾分布特性,这点可以从下图中观察到,因此可以舍弃一些query减少必要的计算,文章称这种需要舍弃的query为lazy query。
下一步就需要考虑舍弃哪些query,文章定义更符合均匀分布的query为lazy query,具体通过计算一个query的概率分布与均匀分布间的KL散度来衡量。但计算每个query分布与均匀分布的的KL散度存在计算复杂度上的问题,因此文章对计算进行了简化,用活跃分数来衡量query的重要程度,分数越低越可能是lazy query。
M ˉ ( q i , K ) = max j { q i k j ⊤ d } − 1 L K ∑ j = 1 L K q i k j ⊤ d \begin{equation}\bar{M}\left(\mathbf{q}_i, \mathbf{K}\right)=\max _j\left\{\frac{\mathbf{q}_i \mathbf{k}_j^{\top}}{\sqrt{d}}\right\}-\frac{1}{L_K} \sum_{j=1}^{L_K} \frac{\mathbf{q}_i \mathbf{k}_j^{\top}}{\sqrt{d}}\end{equation} Mˉ(qi,K)=jmax{dqikj⊤}−LK1j=1∑LKdqikj⊤
公式中的key是用所有key中随机采样的共的 ln L \ln L lnL个,但在计算注意力时是与所有key进行的。只有活跃分数高的 ln L \ln L lnL个query参与注意力计算。
实验
数据集:
-
ECL(电力)
-
ETT(电力)
-
Weather(天气)
Baslines:Logformer和Reformer两个与Treansformer相关的深度学习方法和其他传统方法
实验设置:设置单变量和多变量时序预测实验用于与其他模型进行对比,并设置消融实验检验ProbSparse 自注意力机制、自注意力蒸馏、生成式解码器各部分的意义。
实验结果:单变量实验上在ETT和Weather数据集上取得SOTA,但随着预测长度增加,预测误差和推理速度的增加较为缓慢;在多变量预测上在三个数据集上均取得了SOTA。消融实验表明各部分均有正面意义。
个人思考
-
Informer作为比较早的文章,也许对其后的文章都产生了很多影响,包括模型的Encoder-Decoder结构的改进,对transformer的应用到时序数据的效率的追求。注意力机制的长序依赖建模效果已经是公认的了,这些文章都在从注意力机制、模型结构和数据处理等方面追求更好的效率和准确率,最好的计算复杂度甚至已经逼近线性,因此在学术上在计算复杂度和存储复杂度等方面的提升已经没有太多提升空间,工程上的提升还可能有机会。
-
Informer的稀疏注意力机制基于query的相关性长尾性分布特性,而这对于不同的时序数据并非都适用,论文的对比实验在三个数据集上也只在两个数据集上取得SOTA。