频域Mask实现只需正样本的时间序列表示学习
今天给大家介绍一篇时间序列表示学习的文章,这篇文章提出了一种和对比学习不同的表示学习方法,无需显示构造负样本,避免了伪负样本影响对比学习效果的问题。
论文标题:Frequency-Masked Embedding Inference: A Non-Contrastive Approach for Time Series Representation Learning
下载地址:https://arxiv.org/pdf/2412.20790v1
1.研究背景
表示学习可用来将原始数据转换成向量,用于后续的深度学习任务。现有的表示学习基本都采用对比学习的方法进行建模,对于一个样本使用不同的变换生成其增强样本作为正样本对,同时使用随机负采样的其他样本作为负样本对,拉近正样本对距离,推远负样本对距离,实现表征的学习。然而,在时间序列数据中,由于其连续性,正负样本的界定并不像图像等数据形式那么明显,经常会出现伪负样本的问题,影响了表示学习的效果。
为了解决上述问题,本文提出了一种完全基于正样本的表示学习方法,和BYOL的建模思路非常像,无需显示构造负样本,产出的表征应用到下游分类、回归等任务都取得了比较好的效果。
2.建模方法
文中的整体建模过程如下图所示。对于一个原始序列,使用频域随机mask的方式生成一个其可以视为正样本的增强样本。这两个样本都使用Encoder+MLP进行表征生成。然后使用原始序列的embedding去预测被mask后序列的embedding,实现表示学习embedding的训练过程。下面展开介绍模型中的各个模块,包括Encoder、Masking Block、优化目标3个部分。
Encoder:Encoder可以使用各种类型的模型,整体包括2个Encoder,一个Encoder用来对原始时间序列映射成表征,另一个Encoder用来对经过Mask后的原始序列映射成表征。由于整体只有正样本,为了避免表征坍缩,对于另一个Encoder使用Momentum Encoder的方式,衰减累加主Encoder的参数,让两个Encoder参数不一样,以免表征都学到一个点上。
Mask Block:Mask Block部分用来对原始的时间序列在频域做mask,生成一个可以视为和原始序列互为正样本的序列。首先将原始的时间序列映射到频域,然后随机mask掉一部分主成分。这里面mask的比例是一个均匀分布,每次样本mask的比例不同。Mask后的序列再映射回时域得到正样本(文中叫做Target Series)。为了让mask部分可学习,文中使用了一个mask生成网络,去生成每个频率成分是否mask。
优化目标:上述模型的优化目标包括2个部分。一方面,使用原始序列的表征以及mask结果去预测target series的表征;另一方面使用原始序列表征和target series表征预测mask的结果。公式如下,其中D是stop gradient,让模型在梯度传播的时候专注于对应表征的学习。
3.实验效果
在实验部分,作者在分类任务、回归任务上验证了上述表示学习的效果。文中提出的方法相比其他的包括TS2Vec、TimeDRL等都有显著的提升。