logo

【Paper】 Autoformer

王哲峰 / 2024-05-08


目录

论文信息

背景介绍

本文探索了长期时间序列预测问题:待预测的序列长度远远大于输入长度,即基于有限的信息预测更长远的未来。 上述需求使得此预测问题极具挑战性,对于模型的预测能力及计算效率有着很强的要求。

历史研究和瓶颈

之前基于 Transformer 的时间序列预测模型,通过自注意力机制(self-attention)来捕捉时刻间的依赖, 在时序预测上取得了一些进展。但是在长期序列预测中,仍存在不足:

基于 Transformer 的预测模型 Autoformer
应对复杂时间模式 难以直接发现可靠的时间依赖 深度分解架构,得到可预测的组分
长序列高效处理 稀疏注意力机制带来信息利用瓶颈 自相关机制,高效、序列级连接

论文贡献

Autoformer 模型的创新:

在长期预测问题中,Autoformer 在能源、交通、经济、气象、疾病五大时序领域大幅超越之前 SOTA, 实现 38% 的相对效果提升。

模型定义

Autoformer 全面革新 Transformer 为深度分解架构, 包括内部的序列分解单元自相关机制以及对应的编-解码器

img

深度分解架构

时间序列分解是指将时间序列分解为几个组分,每个组分表示一类潜在的时间模式, 如周期项(seasonal),趋势项(trend-cyclical)。由于预测问题中未来的不可知性, 通常先对过去序列进行分解,再分别预测。但这会造成预测结果受限于分解效果, 并且忽视了未来各个组分之间的相互作用。

Autoformer 提出深度分解架构,将序列分解作为 Autoformer 的一个内部单元,嵌入到编-解码器中。 在预测过程中,模型交替进行预测结果优化和序列分解,即从隐变量中逐步分离趋势项与周期项,实现渐进式分解。

序列分解单元

序列分解单元(series decomposition block)基于滑动平均思想,平滑周期项、突出趋势项:

$$\mathbf{X}_{T} = \text{AvgPool}(\text{Padding}(\mathbf{X}))$$ $$\mathbf{X}_{S} = \mathbf{X} - \mathbf{X}_{T}$$

其中,$\mathbf{X}$ 为待分解的隐变量,$\mathbf{X}_{T}$$\mathbf{X}_{S}$ 分别为趋势项和周期项, 将上述公式记为:

$$\mathbf{X}_{S}, \mathbf{X}_{T} = SeriesDecomp(\mathbf{X})$$

将上述序列分解单元嵌入 Autoformer 层间(上图中蓝色模块)。

编码器

在 Encoder 部分,逐步消除趋势项(这部分会在 Deocder 中通过累积得到), 得到周期项 $\mathbf{S}_{encoder}^{l,1}$$\mathbf{S}_{encoder}^{l,2}$。 而基于这种周期性,设计自相关机制,聚合不同周期的相似子过程,实现信息聚合:

$$\mathbf{S}_{encoder}^{l, 1}, \text{_} = SeriesDecomp\Big(AutoCorrelation(\mathbf{X}_{encoder}^{l-1}) + \mathbf{X}_{encoder}^{l-1}\Big)$$ $$\mathbf{S}_{encoder}^{l, 2}, \text{_} = SeriesDecomp\Big(FeedForward(\mathbf{S}_{encoder}^{l, 1}) + \mathbf{S}_{encoder}^{l,1}\Big)$$

解码器

在 Decoder 部分,对趋势项与周期项分别建模。其中,

$$\mathbf{S}_{decoder}^{l,1}, \mathbf{T}_{decoder}^{l,1} = \text{SeriesDecomp}\Big(\text{AutoCorrelation}(\mathbf{X}_{decoder}^{l-1})+\mathbf{X}_{decoder}^{l-1}\Big)$$ $$\mathbf{S}_{decoder}^{l,2}, \mathbf{T}_{decoder}^{l,2} = \text{SeriesDecomp}\Big(\text{AutoCorrelation}(\mathbf{S}_{decoder}^{l,1}, \mathbf{X}_{decoder}^{N})+\mathbf{S}_{decoder}^{l,1}\Big)$$ $$\mathbf{S}_{decoder}^{l,3}, \mathbf{T}_{decoder}^{l,3} = \text{SeriesDecomp}\Big(\text{FeedForward}(\mathbf{S}_{decoder}^{l,2})+\mathbf{S}_{decoder}^{l,2}\Big)$$

$$\mathbf{T}_{decoder}^{l} = \mathbf{T}_{decoder}^{l-1} + \mathbf{W}_{l,1} \mathbf{T}_{decoder}^{l, 1} +\mathbf{W}_{l,2}\mathbf{T}_{decoder}^{l,2}+\mathbf{W}_{l,3}\mathbf{T}_{decoder}^{l,3}$$

基于上述渐进式分解架构,模型可以在预测过程中逐步分解隐变量, 并通过自相关机制、累积的方式分别得到周期、趋势组分的预测结果, 实现分解、预测结果优化的交替进行、相互促进。

自相关机制

提出自相关机制来实现高效的序列级连接,从而扩展信息效用。 观察到,不同周期的相似相位之间通常表现出相似的子过程, 利用这种序列固有的周期性来设计自相关机制,其中, 包含基于周期的依赖发现(Period-based dependencies)和时延信息聚合(Time delay aggregation)。

基于周期的依赖发现

基于随机过程理论,对于实离散时间过程 $\{\mathbf{X}_{t}\}$,可以如下计算其自相关系数:

$$\mathbf{R}_{\mathbf{X}\mathbf{X}}(\tau) = \underset{L \rightarrow \infty}{\text{lim}}\frac{1}{L}\sum_{t=0}^{L-1}\mathbf{X}_{t}\mathbf{X}_{t-\tau}$$

其中,自相关系数 $\mathbf{R}_{\mathbf{X}\mathbf{X}}(\tau)$ 表示序列 $\mathbf{X}_{t}$ 与它的 $\tau$ 延迟 $\mathbf{X}_{t-\tau}$ 之间的相似性。

将这种时延相似性看作未归一化的周期估计的置信度,即周期长度为 $\tau$ 的置信度为 $\mathbf{R}(\tau)$

img

时延信息聚合

为了实现序列级连接,需要将相似的子序列信息进行聚合。 这里依据估计出的周期长度,首先使用 $Roll()$ 操作进行信息对齐, 再进行信息聚合,我们这里依然使用 query、key、value 的形式,从而可以无缝替代自注意力机制。

$$\tau_{1}, \cdots, \tau_{k} = \underset{\tau \in \{1, \cdots, L\}}{\text{arg}}\text{Topk}(\mathbf{R}_{\mathbf{Q}, \mathbf{K}}(\tau))$$

$$\hat{\mathbf{R}}_{\mathbf{Q}, \mathbf{K}}(\tau_{1}), \cdots, \hat{\mathbf{R}}_{\mathbf{Q}, \mathbf{K}}(\tau_{k}) = \text{SoftMax}(\mathbf{R}_{\mathbf{Q}, \mathbf{K}}(\tau_{1}), \cdots, \mathbf{R}_{\mathbf{Q}, \mathbf{K}}(\tau_{k}))$$

$$\text{AutoCorrelation}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \sum_{i=1}^{k}\text{Roll}(\mathbf{V}, \tau_{k})\hat{\mathbf{R}}_{\mathbf{Q},\mathbf{K}}(\tau_{k})$$

这里挑选最有可能的 $k=[c \times \text{log}L]$ 个周期长度,用于避免挑选到无关、甚至相反的相位。 在 Autoformer 中,使用多头(multi-head) 版本。

img

高效计算

基于 Wiener-Khinchin 理论,自相关系数 $\mathbf{R}_{\mathbf{X}, \mathbf{X}}(\tau)$ 可以使用快速傅立叶变换(FFT)得到,计算过程如下:

$$\mathbf{S}_{\mathbf{X}, \mathbf{X}}(f)=\mathbf{F}(\mathbf{X}_{t})\mathbf{F}^{*}(\mathbf{X}_{t})=\int_{-\infty}^{\infty}\text{X}_{t}e^{-i2\pi t f}\text{d}t \overline{\int_{-\infty}^{\infty}\text{X}_{t}e^{-i2\pi t f}dt}$$ $$\mathbf{R}_{\mathbf{X}, \mathbf{X}}(\tau)=\mathbf{F}^{-1}(\mathbf{S}_{\mathbf{X}, \mathbf{X}}(f))=\int_{-\infty}^{\infty}\mathbf{S}_{\mathbf{X}, \mathbf{X}}(f)e^{i2\pi f \tau}\text{d}f$$

对比分析

相比于之前的注意力机制或者稀疏注意力机制, 自注意力机制(Auto-Correlation Mechanism)实现了序列级的高效连接, 从而可以更好的进行信息聚合,打破了信息利用瓶颈。

img

总结

针对长时序列预测中的复杂时间模式难以处理与运算效率高的问题, 提出了基于深度分解架构和自相关机制的 Autoformer 模型。 通过渐进式分解和序列级连接,大幅提高了长时预测效率。

同时,Autoformer 在能源、交通、经济、气象、疾病五大主流领域均表现出了优秀的长时预测结果, 模型具有良好的效果鲁棒性,具有很强的应用落地价值。

参考