PatchTST中的channel-independence
- 总结
- Patching
- Channel-independence
A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
时间:2022
引用:8 ICLR 2023
代码:https://github.com/yuqinie98/PatchTST
中文参考:
A Time Series is Worth 64 Words(PatchTST模型)论文解读
Transformer在时间序列预测中不如线性模型?ICLR 2023最新回复来了!
Nie Y, Nguyen N H, Sinthong P, et al. A Time Series is Worth 64 Words: Long-term Forecasting with Transformers[J]. arXiv preprint arXiv:2211.14730, 2022.
总结
文中提出两点创新点:
(1)Patching
(2)Channel-independence
Patching
因为时间序列,某个时间步前后时刻的值十分接近,所以可以使用patching聚合。
good:
- 减少了训练时GPU内存的占用
- 可以使得模型看到更长的历史序列,提高了预测的性能。
bad:
- 损失了时间序列的分辨率,也就是说颗粒度更大了。
Channel-independence
将时间序列的每个变量单独考虑,即单独送入Transformer
中。
good:
- 作者说,能减少过拟合的发生。但博主认为,Channel-independence相当于变相增加了训练的数据。
bad:
- 缺少了序列变量之间的交互,这对于某些下游任务来说,可能是十分重要的。
1. 模型总览
2. 数据集
以下内容为论文附录中提及的Channel-independence的好处:
3. 消融实验
B - batch size.
M - number of variables.
N - number of patches.
P - patch size.
S - patch stride.
- Only channel-independence: P(patch的长度)和S(patch的步长)设置为1。
- Only patching:改变输入格式。
BM x N x P -> B x N x MP
。namely channel-mixing with patching. - Original TST: 指的是TST KDD2021。
Channel-independence的优势:
(1)Adaptablity:每个(变量的)时间序列都分别输入Transformer中,每个时间序列都有自己的Attention Map。这意味着不同的时间序列可以学习到不同的注意力模式。而Channel-mixing的方法,所有的序列都共享相同的注意力模式,这有可能是对性能有害的,因为每个变量的时间序列可能有自己不同的行为模式。
图6 揭示了有趣的现象,不相关的时间序列的预测 依赖于 不同的注意力模式,while 相似的序列可以产生相似的(注意力)图。
(2)Channel-mixing需要更多的训练数据来达到 channel-independence的性能表现。学习 不同channel之间的相关性 的灵活性 也是一把双刃剑,因为它需要更多的数据来学习不同channel、不同时间步之间的信息。然而,channel-independence的模型只需要关注 时间轴 上的信息即可。
为了验证这个假设,我们进行了实验。使用不同训练数据大小,如图7。可以很明显看到,channel-independence的方法随着训练数据的增加,收敛更快。我们广泛使用的这些数据集(Table 2所示),可能对于有监督学习来说,都太小了。
(3)Channel-independence的模型更不同过拟合。如图7,Channel-mixing的模型很快就过拟合了,而Channel-independence的模型却不会。
Channel-independence更多的技术优势:
(1)可以学习不同序列间的空间相关性:尽管我们没有在这篇文章中做充足的研究,但Channel-independence的设计可以自然的扩展到学习cross-channel的关系(使用比如图神经网络的方法)。
(2)多任务学习的损失函数 可以添加到不同的时间序列中。
(3)对噪声的容忍性:如果噪声在某一个序列中处于主导地位,那么这个噪声将会被映射到其他序列的隐空间中(如果使用channel-mixing的方法)。Channel-independence的方法可以缓解这种情况,通过在noisy channels中重新训练这个noisy.(?)
Channel independence can mitigate this problem by only retaining the noise in these noisy channels. We can further alleviate the noise by introducing smaller weights to the objective losses that associate with noisy channels.