赞
踩
2023 ICLR
论文提出一种基于Transformer的多变量时序预测及自监督表示学习的模型。基于两个关键部分:
(1)将时序分割成子序列级别的patch,作为Transformer的输入token;
(2)通道独立性,其中每个通道包含一个单变量时间序列,该时间序列在所有序列中共享相同的Embedding和 Transformer 权重。
Patch设计有三方面的好处:
(1)局部语义信息保留在Embedding中;
(2)注意力映射的计算和内存使用在给定相同的回溯窗口下以二次方减少;
(3)该模型可以参加更长的历史。
与SOTA的基于Transformer 的模型相比,PatchTST可以显着提高长期预测准确性。作者还将模型应用于自监督的预训练任务并获得了出色的微调性能,而这比在大数据集上进行监督学习的效果更优。在一个数据集上的掩码预训练表示,迁移到其他数据集也会产生 SOTA 预测准确性。
Forward:将多序列拆成多个单序列
Patching:在单序列中,对序列进行patch、分成 p*n。(p:patch_size, n:num_patch)
Transformer Encoder: 原始的Transformer的编码器。它这里用的是BN不是LN。
Loss:MSE Loss。在M个channel,聚合平均。
Instance Normalization: 缓解训练集和验证集分布不一致。
原则:有意随机删除输入序列的一部分,并训练模型以恢复丢失的内容。
Masking 设置的一些问题:
(1)masking在时间步维度,因此很容易通过别的时间步推理得到。Zerveas 等人 (2021) 提出了复杂的随机化策略来解决具有不同大小的时间序列组被随机屏蔽的问题。
(2)预测层的输出任务可能会很麻烦。容易过拟合:
PatchTST
使用与监督学习相同的Transformer编码器。移除预测头并附上 D × P 线性层。与可以重叠Patch的监督模型相反,将每个输入序列划分为常规的非重叠Patch。确保Patch不包含被mask的Patch的信息。然后,随机均匀地选择Patch索引的子集,并根据这些选定的索引用零值屏蔽补丁。
每个时间序列都有自己的表示,这些表示通过共享权重机制进行交叉学习。PatchTST这种设计可以允许预训练数据包含与下游数据不同数量的时间序列,这在其他方法上可能是不可行的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。