出处:ICLR 2023
代码链接:yuqinie98/PatchTST: An offical implementation of PatchTST: "A Time Series is Worth 64 Words: Long-term Forecasting with Transformers." (ICLR 2023) https://arxiv.org/abs/2211.14730
一 模型主要思想及预实验
1. Patch 思想
Input Token:将各时间点视为单一 token
Patch:时间序列被分为若干时间段 (segment),各时间段被视为单一 token(提取局部语义信息)
2. 关于通道混合 Channel-mixing(CD / CM) 和通道独立 Channel-independence(CI) 通道混合
通道混合 Channel-mixing(CD / CM):
强调:不同通道间的 “相关性、交互性” 建模,提高模型的表达能力及泛化能力;一个模型处理多个(所有)通道的时序信息
Transformer 架构的 “通道混合”:
1) 自注意力机制:每个位置的表示都是所有位置的加权组合;
2) 多头注意力机制:不同注意力头内,学习不同的特征表示,并进行合并;
通道独立 Channel-independence(CI):一个模型只处理一个通道的时序信息
3. 预实验:
二 Method
2.1 通道独立性(Channel-independence)
针对多元时序数据,按其 “变量数”(M),将其拆分为 M 个 “单变量时序数据”,针对每个单变量时序数据,使用 “单独的 transformer backbone” 处理,最终汇聚多个变量各自的预测结果。
2.2 Patch 操作(举个实际例子,帮助理解)
(1) 通过图示,直观理解:公式内的 “( L - P ) / S” 的含义;
(2) 理解 “+2” :加的是首部的第一个 Patch,以及 “除不尽/需padding” 情况下尾部的最后一个 Patch(除得尽,就只需 “+1”,添加首部的第一个 Patch);
(3) 之前的部分工作是将每个时间戳当作一个 token,故其时间复杂度为:O(L),而当我们采取 “Patch” 策略,则以 一个 Patch 为 一个 token;又因为 L >> P,故其时间复杂度可近似为:O(L/S);— 效率提升!!!
2.3 Transformer Encoder(多头注意力机制)
2.4 损失函数,如下:
2.5 Instance Normalization
帮助减轻 “训练、测试数据” 间的分布偏移效应 (Ulyanov et al., 2016; Kim et al., 2022);
2.6 “自监督” (self-supervised)策略 的 表示学习
论文阐述了在自监督学习中,通过分块(patch)对掩码(mask)进行重建的优势:如果仅对单一时间点进行掩码处理,那么直接利用相邻时间点的数据进行插值即可轻易实现重建,这种方式几乎不需学习就能够完成任务。然而,当采取对一个数据块(patch)进行掩码并尝试重建时,这种方法不仅更加具有挑战性,而且能够赋予模型更高的学习价值,因为这要求模型理解并利用数据的整体结构和模式,而不是简单地依赖于局部信息的插值。这样做的结果是提高了模型的泛化能力和对复杂模式的捕捉能力。
三 实验结果
“有监督” 的实验结果:
“自监督” 的实验结果:
迁移学习:
表示学习:
PS. 虽然在消融实验内,“通道独立性” 效果不错,但实际上现在的 sota 工作更倾向于 “通道混合” 或者采取介于 “CI / CD” 的中间状态。