[文献阅读] TF-C: 基于时频一致性的时间序列自监督对比预训练方法
Published:
通过时间编码和频域编码的自监督算法,一个基于时频一致性的双编码器SimCLR 训练框架
摘要
对时间序列进行预训练是一项独特的挑战,因为预训练和目标域之间可能存在不匹配,例如时间动态的偏移、快速演变趋势以及长周期和短周期效应,这些都可能导致下游性能不佳。虽然领域自适应方法可以缓解这些变化,但大多数方法都需要直接从目标领域中获取示例,这就使它们成为预训练的次优方法。
为了应对这一挑战,方法需要适应具有不同时间动态的目标域,并且能够在预训练时不看到任何目标示例。相对于其他模态,我们认为在时间序列中,同一示例的基于时间的表示和基于频率的表示在时频空间中位于接近的位置。为此,我们假设时间-频率一致性(TF-C)——将示例的基于时间的邻域嵌入到其基于频率的邻域附近——对于预训练是可取的。
受 TF-C 的启发,我们定义了一个可分解的预训练模型,其中自监督信号由时间和频率分量之间的距离提供,每个分量都通过对比估计进行了单独训练。我们在八个数据集上对新方法进行了评估,包括电子诊断测试、人类活动识别、机械故障检测和物理状态监测。
与八种最先进方法的对比实验表明,TF-C 在一对一设置(例如在肌电图数据上微调脑电图预训练模型)中平均比基准方法高出 15.4%(F1 分数),在具有挑战性的一对多设置(例如微调脑电图预训练模型用于手势识别或机械故障预测)中平均比基准方法高出 8.4%(精确度),反映了实际应用中出现的各种情况。
源代码和数据集:https://github.com/mims-harvard/TFC-pretraining

时频一致性
NLP和CV领域都有了他们的表示方法,但对于时频分析来说,却总是缺少一个高效,有用的方法。
对于模型来说,对特征的表达是最根本的问题。 在这样的一个长时间序列中,时域信号和频域信号是不变的,时域和频域成为了表示这个时间序列的两个方向,而时域和频域之间又可以通过傅里叶变换或逆傅里叶变换进行相互的转换;那么在一个有相当容量的时间序列中,作者通过两个方向的编码器,对同一个片段的表达是存在一些联系的。
时间编码器 Time Encoder
Encoder
TF-C 的表征提取使用的是ResNet
给定一个时间序列: \(x \in \mathbb{R}^{L}\) 对这个序列进行增广,包括(jittler\ scaling\ shift)
\[\tilde{x} = \mathcal{A}_T(x)\]通过对时域编码器进行表征提取
\[h_T = G_T(x), \quad \tilde{h}_T = G_T(\tilde{x})\] \[G_T: \mathbb{R}^{L} \rightarrow \mathbb{R}^{d}\]投影空间来分离“表征空间”和“对比空间”
\[z_T = R_T(h_T), \quad \tilde{z}_T = R_T(\tilde{h}_T)\]时域损失函数使用使用 InfoNCE / 对比损失
\[\mathcal{L}_T = -\log \frac{\exp(\text{sim}(z_T, \tilde{z}_T)/\tau)}{\sum_{j} \exp(\text{sim}(z_T, z_T^j)/\tau)}\]频域编码器
频域编码器 傅里叶变换
\[x_F = \mathcal{F}(x)\]频域增广
\[\tilde{x}_F = \mathcal{A}_F(x_F)\]表征提取
\[h_F = G_F(x_F), \quad \tilde{h}_F = G_F(\tilde{x}_F)\] \[G_F: \mathbb{R}^{L} \rightarrow \mathbb{R}^{d}\]投影空间
\[z_F = R_F(h_F), \quad \tilde{z}_F = R_F(\tilde{h}_F)\]频域的对比损失
\[\mathcal{L}_F = -\log \frac{\exp(\text{sim}(z_F, \tilde{z}_F)/\tau)}{\sum_{j} \exp(\text{sim}(z_F, z_F^j)/\tau)}\]时频域对齐一致性
跨域表征
\[z_T = R_T(G_T(x))\] \[z_F = R_F(G_F(x_F))\]相似度计算
\[\text{sim}(z_T, z_F) = \frac{z_T \cdot z_F}{\|z_T\| \|z_F\|}\]一致性约束/排序关系
\[\text{sim}(z_T, z_F) > \text{sim}(z_T, \tilde{z}_F)\]TF-C 损失函数
\[\mathcal{L} = \mathcal{L}_T + \mathcal{L}_F + \lambda \mathcal{L}_{TF}\]- SimCLR [1]: https://amitness.com/posts/simclr
- NT-XENT 损失函数 [2]: https://www.ymshici.com/tech/2459.html




