针对非平稳时序预测问题,我们提出了Non-stationary Transformers,其包含一对相辅相成的序列平稳化(Series Stationarization)和去平稳化注意力(De-stationary Attention)模块, 能够广泛应用于Transformer以及变体,一致提升其在非平稳时序数据上的预测效果。
论文链接: https://arxiv.org/abs/2205.14415 代码链接: https://github.com/thuml/Nonstationary_Transformers
一、简介
时序预测普遍包含于日常生活与工业生产的诸多应用中,覆盖气象,能源,金融,医疗等多个领域。 近年 来,以注意力机制(Attention Mechanism)为结构核心的Transformer在深度时序预测领域取得了突破性进展,其点到点的注意力机制天然适合建模时间序列中的时序依赖(Temporal Dependency),可堆叠的编解码器也利于捕捉和聚合不同时间尺度下的时序特征。
尽管如此,预测非平稳的时序数据对深度模型依然是一项严峻挑战。非平稳的时序数据在现实世界中更加普遍,具有更复杂且难以捕捉的时序依赖,以及随着时间不断变化的数据分布,这对深度模型的建模能力以及泛化性都提出了更高的要求。
针对非平稳时序预测问题,以往的研究旨在利用平稳化技术消除数据在时间维度上的分布差异,以提高数据本身的可预测性。 然而基于我们大量的实验观察(图1),在平稳化后的数据上进行模型训练会限制Transformer建模时序依赖的能力,导致模型仅能学到不易区分的注意力图与较弱的时序依赖,从而产生平稳性过高的预测输出与较大的预测误差,我们称之为过平稳现象(Over-stationarization)。
针对非平稳时序预测问题,我们提出了Non-stationary Transformers,其包含一对相辅相成的序列平稳化(Series Stationarization)和去平稳化注意力(De-stationary Attention)模块,能够广泛应用于Transformer以及变体,一致提升其在非平稳时序数据上的预测效果。
二、问题分析
从实验观察出发,我们认为,平稳化技术虽然增强了时序数据的可预测性,但却将原始序列的复杂的时变分布退化为不随时间变化的平稳分布。作为依靠从分布中学习数据模式的深度模型,这种退化显然会导致Transformer在时序依赖的建模上失去其原本优势。此外,非平稳性是真实世界中时序数据的本质特性,往往与序列本身可捕捉的时序依赖互相关联。因此,如何同时提高时序数据的可预测性以及充分利用深度模型的时序建模能力,是提高非平稳时序预测效果的关键。
三、模型设计
我们提出的Non-stationary Transformers包含序列平稳化模块,以增强输入数据的平稳性;以及去平稳注意模块,用来重新整合非平稳信息到模型内部的时序依赖建模中,从而缓解过平稳问题。
序列平稳化:包含两个阶段(图2):窗口归一化(Normalization)与反归一化(De-normalization)。
图2 序列平稳化
第一阶段,我们对每一模型输入中的各个变量分别进行在时间维度的归一化,以消除了多变量时序数据中不同变量之间的尺度差异。另外,由于模型在训练阶段接收的输入是从整段序列上的各个滑动窗口采样得到,在时间维度上的进行窗口归一化实际上是针对各个输入进行的实例归一化(Instance Normalization),最终相邻窗口内的子序列都将服从相同的均值与方差,整体训练样本在时间维度上分布差异被减弱,从而提高了输入数据的平稳性。
如前文所述,归一化作为一种平稳化技术,虽然增强了数据的可预测性,但也对原本的数据分布造成了不可逆转的退化。因此在第一阶段中我们还存储了各个窗口内序列原本的均值和方差,在第二阶段中用这些统计量重新对模型的输出进行反向尺度变换,以恢复其归一化时丢失的分布信息。
序列平稳化作为两阶段数据处理模块,可以封装在任意深度模型前后层,在提高模型输入的可预测性的同时,尽可能还原原始输入的时变分布。
去平稳化注意力:尽管反归一化模块在外部还原了时序数据部分的非平稳性,但在模型内部,尤其是用以捕捉时序依赖的注意力模块,依然得到的是经过平稳化后的输入,这也是Transformer学习到不易区分的注意力图的主要成因。因此,我们深入模型内部,基于详细的理论推导,设计了面向非平稳时序数据的去平稳化注意力模块。
其推导的核心在于:使用经过归一化后的输入和归一化时存储的统计量,以近似未归一化时原始输入时本应得到的注意力图。根据Transformer的注意力计算公式:
以及进行序列平稳化时,模型输入在时间维进行的尺度变换公式( 为序列长度):
基于模型嵌入层(Embedding)和前向传播层(FFN)在时间维度的线性假设,可导出注意力层的输入分别满足:
其中对应在时间维的均值,为原始输入的方差。带入注意力计算公式,我们有:
其中为全1向量,根据Softmax算子的平移不变性,上述公式可简化为:
上式左侧为原本输入应得的注意力图,右侧由归一化输入的中间结果和相关统计量组成。可以观察到,要近似原始输入的注意力图,需要引入两个尺度变换因子: , 我们定义为去平稳化因子(De-stationary factors),作用在经过归一化后的输入得到的注意力图上。
由于FFN中存在非线性激活层,在推导出如上作用形式后,我们对模型层间的线性假设进行了弱化,采用一个多层感知机(MLP)从原始序列划窗得到的输入集以及相应均值方差中,自适应地学习去平稳化因子,由此设计出了去平稳化注意力模块(图3),进一步向模型内部传递时序数据本身的非平稳信息。
图3 去平稳化注意力
四、整体结构
综合上述模块设计,我们提出了Non-stationary Transformers(图4):将序列平稳化模块包裹于模型输入输出层前后,并在注意力计算中的Softmax算子前引入可学习的自适应尺度变换,使其能够广泛应用在以注意力为结构核心的Transformer及其变体上,在提高非平稳时序数据的可预测性的同时,充分挖掘注意力机制的时序建模能力。
图4 Non-stationary Transformers
五、预测效果
表1 实验数据集,更低的ADF Test Statistic意味着更高的数据平稳性
我们将提出的框架应用在Transformer上,在6个时序数据集测试其预测能力,涵盖气象、能源、交通、经济、疾病等领域(表1)。在与时下最先进的深度时序预测模型的对比中(表2),均取得了最优(SOTA)效果,特别是在在非平稳时序数据上,效果领先尤为明显。
表2 预测误差对比
六、框架通用性
我们将所提出方法应用于注意力为结构核心的Transformer以及变体上(表3)。实验结果显示,在前文所述的6个时序数据上,我们的框架能够取得一致的效果提升。具体而言,相较于原始模型,使用我们的方法能够在Transformer上取得49.43%的平均提升, 在Informer上取得47.34%的平均提升 , 在Reformer上取得46.89%的平均提升,以及在Autoformer上取得10.57%的平均提升。
表3 引入Non-stationary Transformers带来的预测效果提升(Promotion)
六、消融实验
我们对比了仅使用平稳化方案与序列平稳化与去平稳化结合使用的预测效果(图5)与平稳性差异(图6)。实验观察到:序列平稳化使窗口间的序列之间的统计量对齐,在一定程度上缓解深度模型在分布外数据泛化能力差的问题(图5 b);然而,只使用序列平稳化会导致模型倾向于产生过于平稳的预测输出(图5 c),导致了较大的平稳性差异(图6);引入模型内部的去平稳化注意力后,预测输出的过平稳问题得到有效缓解,有助于取得更加精确的时序预测(图5 c)。
图5 模型预测值与真实值对比
图6 模型预测值平稳性与真实值平稳性对比
七、结论
本文从平稳性的角度研究时间序列预测。我们提出了一种提高序列平稳性的方法,并且改进了Transformer内部的注意力机制,重新纳入非平稳信息,同时提高数据的可预测性,以及释放注意力机制优秀的时序建模能力。经过大量实验表明,所提出的框架在气象、能源、交通、经济、疾病等领域均取得了优秀预测效果。此外,该框架具有良好的模型通用性,具有很强的应用落地价值。
作者:刘雍 文章来源:公众号【 THUML 】
Illustratio n by Delesign Graphics fro m Ico n Scout
-The End-
扫码观看!
本周上新!
多家技术企业招聘来啦!
多家技术企业招聘来啦!有求必应的小将收集到来自TechBeat技术社群内技术企业的招人需求,包含来自微软亚研、腾讯、小红书等企业算法工程师等正式及实习岗位,欢迎有需求的大家向这些公司投递简历哦!
扫描了解详情~
关于我“门”
将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:
bp@thejiangmen.com
点击右上角,把文章分享到朋友圈
⤵一键送你进入TechBeat快乐星球
热门跟贴