时间序列预测:层级化 Transformer 架构的构建方法
近年来,学界和业界致力于通过引入先进的网络架构和自监督预训练策略来提高时间序列预测的准确性。然而现有方法存在两大缺点。本文介绍一篇 KDD 2024 中的时间序列预测工作,来自中科大的研究者提出了一种新的生成式预训练分层 Transformer 架构用于预测,命名为 GPHT(Generative Pretrained Hierarchical Transformer)。
论文背景
时间序列预测作为时间序列分析中的一项基础任务,近年来的热度居高不下。一方面,基于深度学习的方法因其能够捕获时间和跨维度依赖性的能力而取得成功。另一方面,受自然语言处理(NLP)和计算机视觉(CV)领域预训练方法近期显著进展的启发,学界业界提出了各种基于预训练的时间序列分析方法。
对比学习技术在区分性预训练方法中得到了广泛应用,其中模型被期望从构建的正负样本对中学习表示。此外,将生成性目标(如掩码时间序列建模)纳入预训练任务也已被深入研究,目的是在重建过程中提取通用知识。
另外,考虑到时间序列和自然语言之间的共性,最近的一些研究开始通过提示或微调将预训练语言模型调整为准确的预测器。所有这些方法都取得了显著成功,甚至能够有效地与监督预测方法竞争。
尽管这些预训练预测器非常有效,但在提升性能方面仍然存在重大挑战:
- 数据依赖性:这些方法往往依赖于单一数据集进行训练,由于训练数据的规模有限,限制了模型的泛化能力。
- 生成方案局限:广泛采用的一步生成方案需要定制化的预测头部,并忽略了输出序列中的时间依赖性,同时在不同预测范围长度设置下也会导致训练成本的增加。
针对上述的研究背景和现有挑战,研究者提出了一种生成式预训练的层次 Transformer 模型,即 GPHT。该模型能够在不同的数据场景和预测设置中具有良好的泛化能力。
研究者将来自不同范围的时间序列作为一个整体进行处理,摒弃了异质性,并将来自不同数据集的每个变量的值连接起来,形成用于预训练的混合数据集。并且,用自回归解码替换了大多数最新预测方法所采用的常规一步生成方法,以提高灵活性和性能。此外,文中还引入了层次结构以更好地捕获混合数据集中的各种模式。
模型方法
GPHT 模型具有两个关键特征:一是 GPHT 在时间序列标记上以自回归方式进行预测;二是 GPHT 在包含多阶段分层 Transformer 块的混合数据集上进行预训练,擅长捕捉来自各种数据场景的时间序列之间的共性。
通道独立假设
GPHT 采用通道独立假设,将每个多变量时间序列视为多个独立的单变量时间序列。本质上,GPHT 在输入序列的每个变量上进行单独的预测,并将结果预测拼接起来以生成最终预测。
研究者将这种方法扩展到混合预训练数据集的构建中,忽略了每个变量的异质性,并且没有考虑额外的信息。因此,它可以无缝地应用于更多样化的场景,其中协变量信息可能缺失,且数据本身可能是合成的。模型在预训练数据集的构建中,将来自不同领域的多变量时间序列混合,不考虑额外信息,以丰富训练数据的多样性。
01 序列标记化
序列标记化技术在时间序列建模中已被证明是有效的方法。在本文中,为了处理时间序列数据中的噪声和稀疏信息分布,研究者采用非重叠的标记化策略,将输入系列转换为时间序列标记序列。这不仅有助于减轻噪声和稀疏信息分布的影响,还增强了模型更好地捕获局部语义的能力,最终有助于实现更鲁棒和准确的时间序列预测。
此外,研究者引入了实例归一化层(Instance Normalization),以解决时间序列数据中的分布偏移问题,增强模型对不同时间分布的适应性。实例归一化通过对每个样本的特征进行标准化,消除了不同样本间均值和方差的差异,使得模型更加关注序列内部的相对变化而非绝对数值。
02 分层 Transformer 模块
多尺度表示学习已在各种时间序列建模任务中展示了其有效性,这得益于实际时间序列数据中常见的多重周期性特征。例如,电力负荷数据可能同时包含日周期、周周期和年周期。此外,为了更好地发现由不同数据场景组成的混合数据集中隐藏的共性,研究者认为分层编码器是不可或缺的。
这里,研究者在分层 Transformer 模块中引入了一种基于标记的多阶段表示学习方法,通过最大池化操作和多层变换器网络来学习粗粒度和细粒度的时间序列模式。每个阶段的变换器块学习不同尺度的表示,通过上采样操作将预测结果映射回原始时间序列标记。这种全面的多阶段表示学习和预测方法能够捕获不同尺度下的复杂时间模式,有助于提高模型在处理各种时间序列场景时的有效性。
具体而言,浅层网络负责捕捉高频细节和短期波动,而深层网络则专注于低频趋势和长期依赖。这种设计模仿了人类感知信号的方式,先宏观后微观,逐步细化理解。
03 迭代残差学习
利用多阶段层次变换器块,GPHT 通过迭代残差学习策略,将预测过程转化为迭代方式,逐步精细化预测结果。输入下一个阶段的是前一阶段输入和输出的残差,通过自回归训练模式,每个标记可以被视为下一个标记的预测值。
直观上,分层 Transformer 内的池化操作允许模型专注于较低频率的特定模式。此外,较深层块的任务被简化,因为较浅的层过滤掉了已良好近似的信号。因此,迭代残差学习策略使模型能够专注于细化更精细的细节,从而实现预测精度的逐步提升。
此外,该策略自然适合混合预训练数据集中多样化的模式,并具有适应各种时间结构的能力,从而保证了良好的泛化性。这意味着模型在面对未见过的数据分布时,能够通过残差修正机制快速调整预测偏差。
04 优化目标
文中定义了 GPHT 的中间预测结果为所有层次变换器块输出的总和,并通过逆实例归一化层进行反归一化,恢复输入系列的特性。
为了充分利用混合数据集并更好地捕捉时间依赖性,预训练任务被构建为标准的语言建模任务,采用逐标记的自回归损失函数作为优化目标(这同样是一个预测任务)。这种目标函数强制模型在预测当前时刻之前必须充分理解历史上下文,从而隐式地学习了时间序列的动态演化规律。
05 推理
鉴于预训练任务可以被视为一个预测任务,预训练的 GPHT 可以直接应用于下游预测任务,而无需任何修改。而 GPHT 也可以通过微调来进一步提升。在实践中,为了在保持泛化能力和在特定数据集上提高性能之间取得平衡,文中采用了一种参数高效的调整策略。
在推理过程中,得益于上述训练模式和通道独立假设,GPHT 在理论上能够对任何输入的多变量时间序列进行通用预测,而不管预测范围(即时间步长)的长度如何。预测过程类似于语言模型的解码过程。给定任何输入,该模型可以首先预测下一个第一个标记。然后,将这个预测标记拼接到输入序列的末尾,以生成对第二个标记的预测。这种自回归机制允许模型动态调整预测长度,而不需要重新训练。
实验效果
研究者在 8 个广泛使用的数据集上进行了充分的实验,并与主流的自监督预训练模型和监督模型进行了比较。结果表明,在传统的长期预测任务中,GPHT 在各种微调、零样本/少样本学习设置下均优于基线模型。
GPHT 在不同数据集上的平均 MSE 降低了 9.23%(在 Exchange 数据集上)、1.60%(在 Traffic 数据集上)和 3.00%(在 ETTh1 数据集上)。在 MAE 评估中,改进更为明显,分别降低了 5.30%、3.97% 和 5.07%。GPHT 在较短的预测范围内表现更优,这归功于其显式地对输出系列的时间依赖性进行建模。
文中通过比较不同层次的 GPHT 模型在所有基准数据集上的表现,发现增加层次可以提高模型的性能。随着阶段数的增加,GPHT 在理论上更能够捕获混合数据集中各种时间依赖性,如不同的周期性。
在混合数据集上进行预训练使模型能够利用时间序列之间的共性,从而更好地转移到特定数据集。与从头开始训练的 GPHT 相比,预训练导致平均 MAE 减少了 5.75%。这一结果证明了大规模预训练对于提升小样本场景下模型性能的重要性。
总结
GPHT 通过结合生成式预训练、分层 Transformer 架构以及自回归解码策略,有效解决了传统时间序列预测方法在泛化能力和多尺度模式捕捉上的不足。其核心贡献在于打破了单一数据集训练的局限,利用混合数据预训练提升了模型的通用性,同时通过迭代残差学习实现了预测结果的逐步精细化。这一架构为未来时间序列预测模型的设计提供了新的思路,特别是在缺乏大量标注数据的场景下展现出巨大潜力。