点关注,不迷路,用心整理每一篇算法干货~
今天给大家介绍一篇香港科技大学、微软亚研院联合发布的时间序列预测Transformer模型工作。这篇文章的核心点是打造一个适用于可变预测窗口长度的Transformer时序预测基础模型,提升时序预测模型的灵活性。
论文标题:ElasTST: Towards Robust Varied-Horizon Forecasting with Elastic Time-Series Transformer
下载地址:https://arxiv.org/pdf/2411.01842v1
现有的基于Transformer的时间序列预测模型,基本只能支持固定窗口的预测。这种建模方式,在训练阶段就固定了历史窗口长度和未来窗口长度,导致模型的灵活性较差。当需要扩长预测窗口时,只能重新训练,或者在原来模型基础上做一些预测长度的延展,但并不是最优解。
为了解决上述问题,这篇文章提出了一种鲁棒性较强的,适用于可变预测窗口场景的Transformer时序预测模型。通过基于Placeholder的非自回归预测机制,配合RoPE位置编码,实现了灵活的变长窗口预测。
本文提出的ElasTST整体基于Transformer结构,针对位置编码、多尺度建模、训练方式等都做了一定的优化。下面将从基础模型结构、位置编码、样本加权等3个部分介绍本文提出模型的核心模块。
模型结构:ElasTST模型和其他Transformer的核心区别在于建模方式。相比于之前Transformer的自回归建模方法,ElasTST采用了基于Placeholder的非自回归方式。在历史序列后面,拼接上最大预测长度个Placeholder,Placeholder一般是0填充,类似Informer的结构。将历史序列和Placeholder拼接后,使用patch方法处理成不重叠的片段,输入到后续Transformer中。
为了让attention只关注历史序列而不要关注Placeholder部分,文中采用structured attention mask,在attention计算中对Placeholder部分使用mask为0进行处理。此外,为了让模型能够提取不同粒度的信息,文中也使用了多粒度的建模思路,将时间序列按照不同patch大小进行处理后,分别输入对应的Encoder和Decoder,再将各个粒度的预测结果进行融合。
位置编码:ElasTST的位置编码采用NLP中大模型常用的RoPE实现,并结合时间序列数据特点做了一些升级。文中重点是对RoPE中的旋转系数结合数据集中的周期性结构进行了个性化的设置,或者根据数据集将其当成超参数进行个性化调整,适配不同的数据集。结合RoPE,使ElasTST不仅从形式上可以支持可变长度预测,从位置编码的角度也支持了不同长度的外推。文中的RoPE公式如下,其中P是可调整的旋转参数。
训练方式:为了让模型支持不同长度的预测,一种基础的训练方式是每次随机采样预测长度的数据进行训练。文中将其转换成了一个样本加权问题,让模型可以每个样本都正常的在全序列上训练,通过不同时间步预测损失函数的权重,近似模拟这种随采样预测长度的过程,权重函数如下,其中r是时间步,Tmax是最大的预测窗口长度:
文中验证了训练好的模型在不同时间步长度的预测效果,可以看到ElasTST相比其他模型,能够在不同时间步取得一致性的最优效果,ElasTST在可变预测窗口长度上预测的有效性。
投稿&加交流群请加微信,备注机构+方向拉群~