最近,香港科技大学、上海AI Lab等多个组织联合发布了一篇时间序列无监督预训练的文章,相比原来的TS2Vec等时间序列表示学习工作,核心在于提出了将空间信息融入到预训练阶段,即在预训练阶段考虑各个序列之间的关系。因此,本文提出的方法也更适合作为时空预测领域的预训练模型。下面为大家详细介绍一下这篇文章。
论文标题:Correlated Time Series Self-Supervised Representation Learning via Spatiotemporal Bootstrapping
下载地址:https://arxiv.org/abs/2306.06994
1、背景
在过去的工作中,有很多对时间序列无监督预训练的研究,一般使用对比学习的思路进行时间序列Encoder的自监督训练。然而,历史的工作存在3个弊端。
第一个是大多数过去的方法学习的都是序列整体的表示,而时间序列预测任务更关注每个时间步的表示,因此上下游任务存在一定的不适配问题。
第二个是过去的工作都是在单个时间序列本身上进行预训练,没有考虑到各个序列之间的关系。
第三点是以往的对比学习预训练方法,在构造负样本的过程中经常出现伪负样本问题(即构造的负样本其实应该是正样本),这导致了对模型效果的负向影响。
针对上述3个问题,本文提出了一系列解决方法,核心是在预训练阶段同时考虑时序关系和空间关系,并且将对比学习框架改为不依赖正样本的BYOL。
图片
2、模型细节
本文提出的模型核心结构如下图所示,其核心一方面是将时空信息融合到对比学习中的方式,另一方面是对比学习框架的升级。
对于一个时间序列,需要在时间维度和空间维度都进行对比学习,将时空信息同时融合到预训练阶段。对于时间维度,文中利用滑动窗口的方式,对一个序列生成两个有overlap的子序列,其中一个作为View,另一个作为时间维度的Target。其中,View部分使用随机mask的方式,遮盖一部分时间步的样本点。在时间维度的对比学习,即利用View和Temporal Target之间进行对比学习。
在空间维度上,根据节点之间的拓扑关系,随机采样一个当前序列的邻居序列,同样使用滑动窗口生产成本一个子序列。这个序列作为View的空间维度Target,使用对比学习拉近View和Spatial Target之间的距离。
在得到上述两类样本后,文中采用了BYOL的对比学习框架,避免了对负样本进行构造,因此解决了伪负样本的问题。BYOL是一种只依赖正样本的对比学习框架,其原始论文中的具体做法为,使用两个模型结构完全相同但参数不同的online network和target network,其中target network的参数是online network参数的滑动平均,target network的输出表示是online network的预测目标,target部分不会根据loss更新其参数。也就是用两套参数实现正样本1对正样本2的预测。
图片
在本文中也是类似的方式,利用被部分mask的View,同时预测Temporal Target和Spatial Target,模型的loss包含Temporal和Spatial两部分相应的对比学习loss。模型的具体结构采用了TCN的结构(主体为空洞卷积),且View的模型参数和Target的模型参数不共享。
3、实验效果
下面为本文提出的表示学习方法在时空预测数据集上的预测效果,可以看到相比TS2Vec(目前SOTA的时间序列表示学习方法),有比较明显的效果提升。这说明本文提出的引入空间信息的对比学习,对于时空预测类型的问题效果更好。
图片
下图为预测case分析,本文提出的方法相比TS2VecUI有更好的预测趋势。
图片