f5fcb4b70c9e5a36611cb48a8082cbca.gif

©作者 | 杜大钊

单位 | 中科院软件所

研究方向 | 时序建模

本文中了 2023 ICLR。作为 Transformer-based 预测模型,它是和计算机视觉中的 ViT 最相似的一篇论文(文章标题也很像)。它成功超过了 DLinear,也证明了 DLinear 中 Transformer可能不适合于序列预测任务的声明是值得商榷的。

3d97275adabee7439109008cc2ecc7fc.png

论文标题:

A Time Series is Worth 64 Words: Long-term Forecasting with Transformers

论文链接:

https://arxiv.org/pdf/2211.14730.pdf

代码链接:

https://github.com/yuqinie98/patchtst

建议先看一下下面关于 DLinear 的回答和 DLinear 论文:

https://www.zhihu.com/question/493821601/answer/2506641761

https://arxiv.org/pdf/2205.13504.pdf


72a7cb47a9a9834f712c5e4d67411378.png


Key Points

1.1 Patching

本文的核心思想就是 Patching,这和 Preformer 中的核心思想很相似,只不过效果要比 Preformer 好不少。具体来说,它们都是将时间序列分成若干个时间段(Preformer 里用的术语是 segment,本文用的是 patch,实际上是差不多的),每一个时间段视为一个 token(这不同于很多 Transformer-based 模型将每一个时间点视为一个token)。

Preformer 的论文和详细解析如下:

https://arxiv.org/pdf/2202.11356.pdf

https://zhuanlan.zhihu.com/p/536398013

分 patch 的结构如下图所示。对于一个单变量序列(为什么是单变量,可以看下一小节 Channel-independence 中的介绍),将其划分为 个 patch(可以是有重叠的,也可以是无重叠的,无重叠的情况就相当于 Preformer 中的均匀分段),每个 patch 的长度为 。

然后将每个 patch 视为一个 token,进行 embedding 以及加上位置编码,即可直接输入到普通的 Transformer 中(图中的 Transformer Encoder)。最后将向量展平之后输入到一个预测头(Linear Head),得到预测的单变量输出序列。

eb3a15424a8b504e69a8023c3912d15d.png

分 patch(时间段)的好处主要有四点:

1. 降低复杂度,因为 Attention 的复杂度是和 token 数量成二次方关系。如果每一个 patch 代表一个 token,而不是每一个时间点代表一个 token,这显然降低了 token 的数量。

2. 保持时间序列的局部性,因为时间序列具有很强的局部性,相邻的时刻值很接近,以一个 patch 为 Attention 计算的最小单位显然更合理。

3. 方便之后的自监督表示学习,即 Mask 随机 patch 后重建。

4. 分 patch 还可以减小预测头(Linear Head)的参数量。如果不分 patch 的话,Linear Head 的大小会是 , 是输入序列长度, 是序列个数, 是预测序列长度;如果分 patch 的话,Linear Head 的大小是 , 是 patch 个数要远小于 。因此,分 patch 之后,Linear Head 参数量大大减小,可以防止过拟合。


1.2 Channel-independence

很多 Transformer-based 模型采用了 channel-mixing 的方式,指的是,对于多元时间序列(相当于多通道信号),直接将时间序列的所有维度形成的向量投影到嵌入空间以混合多个通道的信息。Channel-independence 意味着每个输入 token 只包含来自单个通道的信息。本文就采用了 Channel-independence,DLinear 中也采用了这种方式。

b950d308e4d22841334ce35fad3302bb.png

如上图,本文将多元时间序列(维度为 )中每一维单独进行处理,即将每一维分别输入到 Transformer Backbone 中,将所得预测结果再沿维度方向拼接起来。这相当于将不同维度视为独立的,但 embedding 和 Transformer 的权重在各个维度是共享的。这样的话,每个 Transformer Backbone 只需要处理单变量序列。

1.3 自监督表示学习

470a8effebcbc2fe0c8e032cf3b390b8.png

这就很直观了,直接 mask 掉一些 patch 然后进行重建即可。对于每一个 token(patch),它通过 Transformer Encoder 后输出维度是 ,由于该 patch 本身的长度是 ,因此要重建它的话,再加上一个 的 Linear 层即可。作者还说明了分 patch 对 mask 重建来进行自监督学习的好处:mask 一个时间点的话,直接根据相邻点插值就可以重建,这就完全没必要学习了,而 mask 一个 patch 来重建的话则更有意义更有难度。

先进行自监督训练再微调下游预测任务,效果会比直接训练下游预测任务要好。


1.4 实验结果

8d425ad67bd5b3bcfcc5684e19aacb38.png

可以看到 PatchTST 的效果超过了 DLinear 以及其它的 Transformer-based 模型。

baa2cbde134c53bf94593b8678e6b7c0.png


Comments

论文最核心的两点,分 patch、通道独立、以及自监督 mask 重建的做法在之前的时间序列相关论文中都已经存在了,所以我认为创新性并不是很强,但是效果不错。

更多阅读

851707ef76bcb2664cd2e79797e40279.png

4add138bc2e5701f6fc065e9651338f0.png

abd81841b7e8329e231bab441e704acb.png

6af050318a64878c28fabee47970373b.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

1941508ea76f79e5c5e817f9875b76a6.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

f560771841835244bc4e8402935be055.jpeg

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐