title:Frequency-Masked Embedding Inference: A Non-Contrastive Approach for Time Series Representation Learning
PAPER : https://arxiv.org/pdf/2412.20790
CODE : https://github.com/USTBInnovationPark/Frequencymasked-Embedding-Inference
Highlights:
1)非对比学习范式的突破
本文首次提出完全消除对比学习依赖的新范式。通过频率掩蔽嵌入推断(FEI)实现了无需样本对约束的表示学习,解决了对比学习中样本构造偏差和计算效率低的核心痛点。
2)频率域操作驱动语义关系建模
创新性地将频率掩蔽作为提示信号引入时间序列处理,通过选择性抑制频域分量引导模型捕捉序列的连续语义关系。这种频率域操作相比传统时域增强技术(如窗口裁剪)更符合时间序列的本质物理特性。
3)双重推断分支的协同优化机制
设计两个互补的推断分支,通过参数共享与交互实现特征互补,突破了单一自监督任务的信息局限性。
研究背景
对比学习范式是当前大多数自监督预训练时间序列表示方法的基础。构造正负样本对的策略会显著影响最终的表示质量。然而,由于时间序列语义的连续性,对比学习的建模方法难以适应时间序列数据的特征。这会导致诸如难以构建难负样本对构建过程中可能引入不适当的偏差等问题。尽管最近的一些工作(如: 1. TimesURL, 2. SimMTM , 3. InfoTS, 4. TimeDRL, 5. TF-C, and 6. TS2Vec )已经开发了几种科学策略来构建正负样本对,效果更高,但它们仍然受到对比学习框架的限制。为了从根本上克服对比学习的局限性,本文介绍了频率掩蔽嵌入推理 (FEI),这是一种新颖的非对比方法,完全消除了对正负样本的需求。所提出的 FEI 基于提示策略构建了 2 个推理分支: 1) 使用频率掩码作为提示来推断嵌入空间中缺少频段的目标序列的嵌入表示,以及 2) 使用目标序列作为提示来推断其频率掩码嵌入。通过这种方式,FEI 支持对时间序列进行连续的语义关系建模。使用线性评估和端到端微调对 8 个广泛用于分类和回归任务的时间序列数据集进行的实验表明,FEI 在泛化方面明显优于现有的基于对比的方法。本研究为时间序列的自我监督表示学习提供了新的解决方案。
方法
所提出的 FEI 的主要架构如下图所示。对于一个原始序列,使用频域随机mask的方式生成一个其可以视为正样本的增强序列(target series)。这两个序列都使用Encoder+MLP进行表征生成。然后使用原始序列的embedding去预测被mask后序列的embedding,实现表示学习embedding的训练过程。下面展开介绍模型中的各个模块,包括Encoder、Masking Block、优化目标3个部分。
Encoder
Encoder可以使用各种类型的模型,整体包括2个Encoder,一个Encoder用来对原始序列进行表征映射,另一个Encoder用来对经过Mask后的增强序列进行表征映射。由于整体只有正样本,为了避免表征坍缩(即所有表征学习点学到一块去),对于另一个Encoder使用Momentum Encoder的方式,主要就是增加了衰减累加参数,让两个Encoder参数空间产生差异。
Masking Block
这部分用来对原始序列在频域做mask掩码操作,以生成一个可以视为和原始序列互为正样本对的增强序列。具体做法,先采用快速傅里叶变换将原序列从时域映射到频域,然后随机mask掉一部分主成分。这里的mask比例服从均匀分布,且每次样本mask的比例随机。然后再将Mask后的掩码序列映射回时域得到增强样本(文中叫做Target Series)。
为了让mask部分在前向反馈神经网络中也参与梯度学习,文中使用了一个mask生成网络,用于学习每个频率成分是否应该mask:
优化目标
上述模型的优化目标包括2个部分。一方面,使用原始序列表征和mask结果来预测增强序列的表征;另一方面使用原始序列表征和增强序列的表征来预测mask的结果。公式如下,其中D是stop gradient,让模型在梯度传播的时候专注于对应表征的学习。
实验
在8个广泛使用的时间序列数据集上进行的分类和回归任务实验表明,FEI 在泛化性能上显著优于现有的基于对比学习的方法。具体来说,FEI 在分类任务中的线性评估和端到端微调中均表现出色,平均准确率分别提高了2.15%和3.50%
另外在回归预测任务中表现也实验SOTA水平:
代码实现
FEI 的官方代码已在 GitHub 上发布,可以通过以下命令快速开始预训练:
python ./experiment.py --task_type=p --method=FEI
预训练完成后,可以使用以下命令验证预训练模型:
python ./experiment.py --model=./train/model_result/your_model_path --task_type=l --task=c --dataset=FDB --method=FEI
结论
FEI 提供了一种新的时间序列自监督表示学习方法,通过频率掩码推理克服了对比学习的局限性,显著提升了模型的泛化性能