题目: Timer: Transformers for Time Series Analysis at Scale
作者:Yong Liu,(刘雍), Haoran Zhang(张淏然), Chenyu Li(李晨宇), Jianmin Wang(王建民), Mingsheng Long(龙明盛)
机构:清华大学
网址:https://arxiv.org/abs/2402.02368
Cool Paper:https://papers.cool/arxiv/2402.02368
代码:https://github.com/thuml/Timer
关键词:时间序列分析,基础模型,Transformer,LTSM(大时间序列语言模型),统一数据集(UTSD)
TL, DR: 提出了一种新的decoder-only时间序列分析基础模型——Timer,为大时间序列模型(LTSM)提供了新的方向,提出了新的分层级的统一时间序列数据集(UTSD)。![标题和作者
🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘!🚀
欢迎大家关注时空探索之旅
摘要
深度学习对时间序列分析的进步做出了巨大贡献。 尽管如此,深度模型在现实世界的小样本场景中仍可能遇到性能瓶颈,而这种瓶颈可能由于当前基准测试中小模型的性能饱和而被掩盖。 同时,大型模型通过大规模预训练在这些场景中展现了强大的威力。 随着大型语言模型的持续发展,大模型在少样本泛化(few-shot generalization)、可扩展性(scalability)和任务通用性(generality)方面展现出前所未有的能力,而这是时间序列模型所不具备的。 为了改变当前在特定数据集上从头开始训练小型模型的做法,本文旨在早期开发大型时间序列模型(large time series models ,LTSM)。 在预训练过程中,本文整理了多达 10 亿个时间点的大规模数据集,将异构时间序列统一为单序列序列 (single-series sequence,S3) 格式,并开发面向 LTSM 的 GPT 风格架构。 为了满足不同的应用需求,本文将时间序列的预测、插补和异常检测转换为统一的生成任务。 这项研究的成果是一个时间序列Transformer(Time Series Transformer, Timer),它通过对大型多域数据集的自回归下一个token预测进行预训练,并针对下游场景进行微调,展现了作为 LTSM 的有前景的能力。
)
上图,ETTh1仅用5%数据训练,MSE提升了11%。虽然现实时间可能缺乏数据,但是目前模型训练有过饱和的现象。
Q: 这篇论文试图解决什么问题?
A: 这篇论文试图解决的问题是在时间序列分析领域中,深度学习模型在小样本场景下性能瓶颈的问题。具体来说,论文指出尽管深度学习在时间序列分析方面取得了显著进展,但在实际应用中,由于训练样本稀缺,现有模型的准确性可能会急剧下降。为了应对这一挑战,论文提出了以下几个关键点:
- 大型时间序列模型(LTSM)的发展:论文提倡开发大型时间序列模型,以利用大量未标记的时间序列数据进行预训练,从而直接迁移到各种下游任务。
- 预训练策略:论文提出了一种新的预训练策略,通过在大规模多领域数据集上进行自回归下一个时间点预测,来训练时间序列模型。
- 统一的时间序列序列格式(S3):为了处理异构时间序列数据,论文提出了将不同时间序列统一为单一序列序列(S3)的格式,以便在预训练过程中使用。
- 生成式任务的统一:论文将时间序列的预测、插补和异常检测任务统一为一个生成式任务,以简化模型的训练和应用。
- 时间序列Transformer(Timer):论文提出了一个名为Timer的时间序列Transformer,它通过在大规模多领域数据集上进行预训练,并在下游任务中进行微调,展现出作为LTSM的有前景的能力。
总的来说,这篇论文的目标是通过开发和训练大型时间序列模型,来提高时间序列分析在数据稀缺情况下的性能,并探索这些模型在多种时间序列分析任务中的通用性和可扩展性。
Q: 有哪些相关研究?
A: 相关研究主要集中在以下几个领域:
- 无监督预训练序列:这些研究探索了在大规模数据上进行无监督预训练的方法,包括掩蔽建模(masked modeling)、对比学习(contrastive learning)和生成建模(generative modeling)。例如,TST(Zerveas et al., 2021)和PatchTST(Nie et al., 2022)采用了BERT风格的掩蔽预训练来重建时间序列的某些点或片段。LaST(Wang et al., 2022b)基于变分推断学习分解时间序列的表示。TF-C(Zhang et al., 2022)通过时频一致性约束时间序列。SimMTM(Dong et al., 2023)结合了掩蔽建模和对比学习方法。
- 大型时间序列模型:这些研究致力于开发具有可扩展性的时间序列模型。例如,FPT(Zhou et al., 2023)使用GPT-2作为序列的表示提取器,然后适应于一般的时间序列分析。LLMTime(Chang et al., 2023)将时间序列编码为数值tokens,用于大型语言模型(LLMs),展示了模型在预测任务中的可扩展性。TimeLLM(Jin et al., 2023)研究了提示技术以增强预测,展示了LLMs的泛化能力。
- 时间序列Transformer(Timer):Timer是一个在大规模真实世界时间点上进行预训练的模型,它采用了GPT风格的自回归生成目标,并且展示了在多种时间序列分析任务中的可扩展性和泛化能力。与之前的工作不同,Timer是直接在时间序列上进行预训练,不需要模态对齐,并且适用于时间序列的下游任务。
这些研究为时间序列分析领域提供了宝贵的见解和方法,特别是在处理大规模数据集和开发具有泛化能力的模型方面。
Q: 论文如何解决这个问题?
UTSD包含7个域,包含多达10亿个时间点(UTSD-12G),涵盖了时间序列分析的典型场景。
A: 论文通过以下几个关键步骤来解决时间序列分析中的小样本性能瓶颈问题:
- 构建统一时间序列数据集(Unified Time Series Dataset,UTSD):为了支持大型时间序列模型(LTSM)的研究,论文首先从公开可用的时间序列数据集中筛选和构建了一个具有层次化能力的统一时间序列数据集(UTSD)。这个数据集包含了来自不同领域的大量时间序列数据,为模型提供了丰富的预训练信息。
- 提出单序列序列(S3)格式:为了将异构时间序列数据统一处理,论文提出了S3格式,将不同时间序列转换为统一的token序列。这种格式保留了序列的模式,同时允许模型在预训练过程中观察到来自不同数据集和时间段的序列,增加了预训练的难度,迫使模型更加关注时间变化。
- 采用GPT风格的预训练目标:论文采用了类似于大型语言模型(如GPT)的预训练目标,即通过自回归下一个时间点预测来训练模型。这种目标允许模型学习时间序列的生成过程,从而在下游任务中展现出更好的泛化能力。
- 开发时间序列Transformer(Timer):基于上述数据集、训练策略和模型架构,论文提出了Timer,这是一个大规模预训练的时间序列Transformer。Timer采用了与大型语言模型相似的解码器结构,通过自回归生成进行预训练,这使得它在各种时间序列分析任务中展现出显著的泛化能力、可扩展性和适用性。
- 统一生成式方法处理下游任务:为了利用Timer处理不同的时间序列分析任务,论文将预测、插补和异常检测等任务统一为一个生成式任务。这样,Timer可以通过微调来适应不同的下游任务,而不需要为每个任务单独训练模型。
- 评估和分析:论文通过在多个真实世界数据集上进行实验,验证了Timer在时间序列预测、插补和异常检测等任务中的有效性。同时,论文还分析了模型的可扩展性,包括模型大小和数据规模对性能的影响,以及不同架构对LTSMs的适用性。
通过这些方法,论文展示了Timer作为一个LTSM在处理小样本时间序列数据时的优越性能,以及其在多种时间序列分析任务中的泛化能力和可扩展性。
首先在变量级别进行归一化和合并。 每个变量序列表示将按照 9:1 的比例分为训练和验证部分进行预训练。 应用训练分割的统计数据来标准化整个系列。 然后,标准化时间序列以及相应的时间戳被合并到单变量序列池中。 单变量序列训练的时间点遵循正态分布,这主要减轻了多个数据集之间幅度和变量数量的差异。
主流的encoder-only结构的深度预测器通过Flatten和投影获得预测token。 虽然直接投影可能受益于端到端监督,但Flatten也可会消除通过注意力建模的token的依赖性,从而削弱 Transformer 层揭示时间变化的模式。
本文采用decoder-only结构
Q: 论文做了哪些实验?
A: 论文进行了一系列的实验来验证所提出的Time Series Transformer(Timer)模型的有效性,这些实验涵盖了时间序列分析的多个关键任务,包括时间序列预测、插补(Imputation)和异常检测。以下是实验的主要内容:
-
时间序列预测(Time Series Forecasting):
- 设立了包括ETT、ECL、Traffic、Weather和PEMS在内的多个真实世界数据集作为基准。
- 对比了从零开始训练的Timer(从零开始)和在大规模预训练数据集(UTSD-12G)上预训练后的Timer(预训练)在不同数据稀缺性(如100%、75%、50%、25%、20%、15%、10%、5%、4%、3%、2%、1%)下的性能。
- 分析了预训练对模型在数据稀缺情况下的性能提升(few-shot ability)。
SOTA选择为iTransformer(ICLR 24 Spotlight)。随着数据数量下降,Timer均能表现出超过基线的性能。(预训练要比从头训练的更好)
(这个我感觉还是挺让人震惊的,仅仅只用5%甚至1%的数据,效果仍然很好)
-
插补(Imputation):
- 在相同的数据集上进行了插补任务,以评估模型在处理缺失数据时的能力。
- 比较了Timer在5%、20%和100%可用样本下的性能,并与TimesNet模型进行了对比。
-
异常检测(Anomaly Detection):
- 使用UCR Anomaly Archive数据集,这是一个包含250个时间序列数据集的集合,用于评估模型在异常检测任务上的性能。
- 通过计算模型预测的置信度(confidence level),即预测段与实际值的均方误差(MSE),来评估模型的异常检测能力。
-
模型可扩展性(Scalability):
- 在PEMS数据集的不同子集上进行了实验,以研究模型大小(从1M到50M参数)和数据规模(从1G到12G时间点)对性能的影响。
- 分析了随着模型参数和数据规模增加,Timer在下游任务上的性能提升。
上面两张图横轴是层数,下面两张图横轴是 d m o d e l d_{model} dmodel的维度大小
-
架构分析(Architecture Analysis):
- 对比了不同架构的模型,包括基于MLP的TiDE、基于CNN的TCN、基于RNN的LSTM和基于Transformer的PatchTST,以验证哪种架构最适合作为LTSM的骨干网络。
- 分析了编码器-解码器(Encoder-Decoder)结构与仅解码器(Decoder-only)结构在预训练和下游任务中的性能差异。
这证实了Transformer作为大时间序列模型的骨干具有良好的可扩展能力,(LSTM也不错),而基于MLP(TiDE)和基于CNN(TCN)的架构在适应不同的时间序列数据方面可能会遇到瓶颈。
分为从头训练和在UTSD-12G上预训练两种实验:
- encoder-only的Transformer在不饱和场景(1%Traget-None)中获得了更好的端到端性能,而decoder-only需要从头开始训练更多的样本。
- 但是经过预训练后,Timer作为decoder-only的Transformer比encoder-only的预训练的模型表现出更好的泛化能力,从而提高了大多数下游场景的性能。
- 部分实验结果说明为什么encoder-only结构在主流时间序列预测领域的流行;即encoder-only模型更适合于小基准,而decoder-only架构具有显著的泛化能力和模型能力,是更适合开发LTSM的选择。
- 对比了不同架构的模型,包括基于MLP的TiDE、基于CNN的TCN、基于RNN的LSTM和基于Transformer的PatchTST,以验证哪种架构最适合作为LTSM的骨干网络。
-
灵活序列长度(Flexible Sequence Length):
- 展示了Timer在处理不同长度的时间序列时的灵活性,包括可变上下文长度和可变预测长度。
encoder-only架构提供了额外的灵活性,以适应一系列不同长度的结构。例如,Timer可以处理小于上下文长度的可变反向查找长度,因为它在此期间对每个上下文长度进行了基于MSE损失的监督训练。还可以通过自回归滑窗生成任意token作为预测。相比之下,通过具有刚性上下文长度的decoder-only模型来实现这一点,将需要滚动预测(rolling forecasting),从而导致显著的误差积累。
-
领域迁移(Domain Transfer):
- 研究了在不同领域数据上进行预训练和微调的效果,以评估模型在领域迁移任务中的性能。
- 域内转移可以进一步提高下游传输的性能。
- 随着下游数据样本数量的增加,预训练的相对改进将逐渐减少,甚至在一些域外的场景中导致负迁移。
这些实验不仅验证了Timer在时间序列分析任务中的有效性,还深入探讨了模型的可扩展性、架构选择和领域适应性等关键问题。
Q: 有什么可以进一步探索的点?
A: 尽管论文提出了Timer这一大型时间序列模型,并在多个任务上展示了其有效性,但仍有许多潜在的研究方向可以进一步探索:
- 零样本和少样本学习:研究Timer在零样本(zero-shot)或少样本(few-shot)学习场景下的性能,特别是在数据极度稀缺的情况下。
- 模型压缩和加速:探索模型压缩技术,如知识蒸馏(knowledge distillation)或模型剪枝(model pruning),以减少Timer的计算资源需求,使其更适合在边缘设备上部署。
- 多模态时间序列分析:将Timer应用于多模态时间序列数据,例如结合视频、音频和传感器数据,以处理更复杂的时间序列分析任务。
- 因果关系建模:研究如何将因果关系建模融入Timer,以便更好地理解和预测时间序列中的事件。
- 可解释性和透明度:提高Timer的可解释性,使模型的预测过程更加透明,便于用户理解和信任。
- 领域适应性和迁移学习:研究如何使Timer更好地适应特定领域,以及如何利用迁移学习技术将预训练模型的知识迁移到新领域。
- 长期依赖和季节性建模:探索Timer在处理具有长期依赖性和季节性变化的时间序列数据时的性能。
- 实时预测和在线学习:研究Timer在实时时间序列预测中的应用,以及如何实现在线学习以适应时间序列数据的动态变化。
- 模型稳健性:研究如何提高Timer在面对噪声、异常值和概念漂移时的稳健性。
- 跨领域数据集的预训练:构建更大规模的跨领域时间序列数据集,以进一步提高模型的泛化能力。
- 时间序列生成和模拟:利用Timer进行时间序列的生成和模拟,为金融、气象等领域提供预测和决策支持。
- 时间序列数据的自动标注:研究如何利用Timer自动标注时间序列数据,以减少人工标注的需求。
这些研究方向不仅有助于推动时间序列分析领域的理论发展,还有望在实际应用中产生重大影响。
Q: 总结一下论文的主要内容
A: 这篇论文提出了一个名为Timer的大型时间序列模型,旨在解决深度学习模型在小样本场景下的性能瓶颈问题。以下是论文的主要内容总结:
- 背景与挑战:论文指出,尽管深度学习在时间序列分析领域取得了显著进展,但在数据稀缺的实际应用场景中,现有模型的准确性可能会急剧下降。同时,大型语言模型在自然语言处理领域展示了强大的泛化能力和任务通用性,这启发了在时间序列领域开发类似模型的想法。
- 大型时间序列模型(LTSM):为了应对小样本挑战,论文提出了开发大型时间序列模型(LTSM),这些模型通过在大规模未标记时间序列数据上进行预训练,能够直接迁移到多种下游任务。
- 数据集构建:论文构建了一个名为Unified Time Series Dataset (UTSD)的大规模时间序列数据集,包含来自不同领域的1亿个时间点,以支持LTSM的研究。
- 预训练策略:提出了将异构时间序列转换为统一格式的单序列序列(S3),并采用GPT风格的自回归生成目标进行预训练,即预测下一个时间点。
- 模型设计:Timer模型采用了Transformer架构,具有解码器-only结构,这与大型语言模型相似,能够通过自回归生成进行预训练。
- 实验验证:论文在时间序列预测、插补和异常检测等任务上验证了Timer模型的有效性。实验结果表明,Timer在小样本情况下展现出显著的泛化能力和可扩展性。
- 可扩展性分析:通过增加模型大小和数据规模,论文展示了Timer模型在下游任务上的性能提升,验证了其可扩展性。
- 架构比较:论文比较了不同架构(如MLP、CNN、RNN和Transformer)作为LTSM的骨干网络,结果表明Transformer是最适合的选择。
- 灵活序列长度处理:Timer模型能够处理不同长度的时间序列,这为处理实际应用中的多样化数据提供了便利。
- 领域迁移:研究了在不同领域数据上进行预训练的效果,发现在领域内预训练可以进一步提升下游任务的性能。
- 结论与未来工作:论文总结了Timer模型的主要贡献,并提出了未来研究方向,包括进一步扩大数据集和模型规模,以及探索LTSMs的高级能力,如零样本学习和上下文学习能力。
总的来说,这篇论文通过构建大规模时间序列数据集、提出新的预训练策略和模型架构,成功开发了一个在多种时间序列分析任务中表现出色的大型时间序列模型Timer,并展示了其在小样本学习、可扩展性和领域
UTSD介绍
TIME POINT:多变量聚合所有变量的时间点总数。
FILE SIZE:数据集的CSV文件所占用的存储空间。
FREQ:时间点的采样间隔,其中“-”表示没有时间戳或不规则的间隔。
ADF:表示数据集的Augmented Dickey-Fuller(检测时间序列平稳性的一种方法)测试统计量
FORECAST:数据集的可预测性
SOURCE:数据集的原始论文或资源。
进行了时间序列分解:趋势性,周期性以及残余
完整实验结果和具体细节
模型大小
预测
插补
异常检测
模型扩展性
encoder-only VS decoder-only
0325954965)]
[外链图片转存中…(img-1kR1Axtz-1710325954966)]
[外链图片转存中…(img-17qSCRdx-1710325954966)]
异常检测
[外链图片转存中…(img-dYjU9Lfq-1710325954967)]
模型扩展性
[外链图片转存中…(img-s6tEfQ9P-1710325954967)]
encoder-only VS decoder-only
🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘!🚀
欢迎大家关注时空探索之旅