ICLR 2023 | 清华大学龙明盛组提出通用时间序列神经网络骨干—TimesNet

3cbee9aa94ac469f4ad068a556402673.gif

©作者 | 杜大钊

单位 | 中科院软件所

研究方向 | 时序建模

70c7269e1c11b660dc30922d1f842bf0.png


简介

本文中了 ICLR 2023,是清华软院老师组的文章,一如既往的 Solid。

a459fa58fccc1382108a74756aa113c9.png

论文标题:

TimesNet: Temporal 2D-Variation Modeling for General Time Series Analysis

论文链接:

https://openreview.net/forum?id=ju_Uqw384Oq

代码链接:

https://github.com/thuml/TimesNet

本文的作者就是 Autoformer 的作者,所以本文的很多思想都延续了 Autoformer。Autoformer 在知乎有作者团队官方的解析,如下:

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

不同于 Autoformer 只集中于时间序列预测,本文提出的 TimesNet 是一个通用的时间序列神经网络骨干,可处理各种不同的时间序列任务,如最常见的任务:预测、分类、异常检测等等。其实几乎所有的时间序列预测模型也可以当做是通用骨干,比如 Autoformer,Informer,FEDformer,Preformer 这些 Transformer-based 模型中只采用 Encoder 就相当于是一个时间序列的特征提取器,区别在于它们捕获时序依赖性的方式不同。

比如 Autoformer 是用 Auto-Correlation,Informer 中的概率稀疏 Attention,FEDformer 的频域 Attention,Preformer 中的 Multi-Scale Segment-Correlation。还有那些 MLP-based 模型比如 DLinear 也可以当做是通用骨干,它是直接采用线性层权重来表示时序依赖性。

71b926bd3ba99cb9bd487cf2e75caef8.png


Key Points

2.1 1D变2D

这是本文的核心。大部分现有方法都是作用于时间序列的时间维度,捕获时序依赖性。实际上,现实时间序列一般都有多种模式,比如不同的周期,各种趋势,这些模式混杂在一起。如果直接对原始序列的时间维度来建模,真正的时序关系很可能隐藏在这些混杂的模式中,无法被捕获。

考虑到:现实世界的时间序列通常具有多周期性,比如每天周期、每周周期、每月周期;而且,每个周期内部的时间点是有依赖关系的(比如今天 1 点和 2 点),不同的相邻周期内的时间点也是有依赖关系的(比如今天 1 点和明天 1 点),作者提出将 1D 的时间维度 reshape 成 2D 的,示意图如下。

下图左侧的时间序列具有三个比较显著的周期性(Period 1、Period 2、Period 3),将其 reshape 成三种不同的 2D-variations,2D-variations 的每一列包含一个时间段(周期)内的时间点,每一行包含不同时间段(周期)内同一阶段的时间点。变成 2D-variations 之后,就可以采用 2D 卷积等方式来同时捕获时间段内部依赖和相邻时间段依赖。

2c11675203eb57c61115c3928b2fecf3.png

那么怎么确定时间序列中的周期性呢?采用傅里叶变换。给时间序列做傅里叶变换后,主要的周期会呈现对应的高幅值的频率分量。设定超参数 k,然后只取 top k 个最大的幅值对应的频率分量,即可得到 top k 个主要的周期,这和 Autoformer中的处理类似。

具体操作如下图,左侧是确定 top k 个周期,在此只画了三个,然后将 1D 的时间序列 reshape 成 3 种不同的 2D-variations(不能整除的可以用padding),对这三种 2D-variations 用 2D 卷积进行处理之后再聚合结果即可。

00cf5fd81620bc27e5214ab4c5bdfd6f.png

一般来说,对于一个多变量时间序列 ,其中 是变量维数, 是长度,虽然它是一个 2D tensor,但作者将其称为是 1D 的,这是因为在时间维度上来看是 1D 的。可以通过上图中这种方式,先算出主要周期和频率,再根据主要周期和频率将时间维度上是 1D 的时间序列 reshape 成 k 个 2D-variations。

注意,对于 个变量,最终算得的主要周期是所有变量的主要周期的平均,这也说明输入的多变量时间序列中包含的不同单变量时间序列的周期模式需要相似。最后,第 i 个 2D-variations 即是 ,其中 和 分别表示第 i 个周期和频率,它们的关系如下式:

208a9b056f908dc495c9ed38b54b29f3.png

2.2 TimesBlock

得到 k 个 2D-variations之后该怎么处理呢?本文提出了 TimesBlock,每层 TimesBlock 又分为两步。首先是要先对这些 2D-variations 分别用 2D 卷积(可以是 ResNet、ConvNeXt 等)或者其他的视觉骨干网络(比如 Swin,Vit)处理;其次将 k 个处理后的结果再聚合起来。

对于第一步,本文采用了一种参数高效的 Inception block。Inception block 是GoogleNet 中的模块,包含多个尺度的 2D 卷积核。如下图左侧蓝色区域,处理 k 个 2D-variations 的 Inception block 是参数共享的。因此,模型整体的参数量不会随着超参数 k 的增大而增大,因此本文将其称为参数高效的. Inception block(Parameter-efficient Inception block)。

5df879a206b393eb89a03792cec197f3.png

对于第二步,在处理完 k 个 2D-variations 之后,需要将其展平回 1D-variations,并截断到原始长度 (这对应于前面不能整除时使用 padding 的情况,相当于把多余的 padding 给去掉)。总之,得到 k 个变换回去的 1D-variations 之后,该如何聚合这 k 个结果呢?

如上图右侧所示,也是延续 Autoformer 的思路,根据傅里叶变换后频率周期对应的赋值大小来加权聚合,幅值大的证明该频率周期的分量越显著也越重要,给它较大的聚合权重,幅值小的则相反。直接用 softmax 归一化这些幅值 ,然后将归一化后幅值作为加权权重来聚合上面得到的 k 个 1D-variations 即可:

6cfce4e87d3484c583086762a146412b.png

2.3 实验结果

作者在五种时间序列任务上做了实验,充分对比了一些其他的时间序列骨干。五边形战士:

68e30e42d22455686e3b8a67f3adaa47.png

作者也用了不同的视觉骨干来处理 2D-variations:

4f617f4e604179e08722669448120e3e.png

在长时间序列预测上的效果:

c9a136aa13fbb22841db20bf8156a8aa.png

c5e4929a66b6a150941164760ca1a65a.png


Comments

文章真的写的很好,idea 很清晰合理,实验很充分效果也很不错,在长时间序列预测上超越了很多很先进的 Transformer-based 模型和 MLP-based 模型。有些新中 2023 ICLR 的论文在长时间序列预测上的效果非常差,甚至是一些时序预测任务上中了 oral 的文章,写的花里胡哨,创新性也没有特别显著,常看这个领域的基本看一遍那些文章就知道大概啥水平,效果也不能打,根本不实用。

更多阅读

b240656c8f8666cb142cf741cd8609fa.png

91ea77cc003ee9e1c04b162c32928b98.png

db75987e4b7067e684203e7b1ce623c9.png

31f74230c3977069488d9e4baae51777.gif

#投 稿 通 道#

 让你的文字被更多人看到 

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

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

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

📝 稿件基本要求:

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

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

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

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

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

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

ebe1eb7d2d9920209a5d2ed6efcd4b75.png

△长按添加PaperWeekly小编

🔍

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

进入知乎首页搜索「PaperWeekly」

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

·

9543e97a9244d2f5338953c50d333608.jpeg

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值