摘要
挑战性任务: 文章首先指出,从无标签时间序列数据学习良好的表示是一个非常具有挑战性的任务。这是因为无标签数据通常缺乏监督信号,使得学习有意义的时间序列表示变得更加困难。
TS-TCC框架概述: 作者提出了一个名为TS-TCC的无监督时间序列表示学习框架。该框架通过"Temporal and Contextual Contrasting"来学习时间序列的表示。该方法主要分为三个步骤。
数据变换: 原始时间序列数据首先通过使用弱和强数据增强方法被转换为两个不同但相关的视图。
时序对比模块: 作者引入了一个新颖的时序对比模块,通过设计具有挑战性的跨视图预测任务,以学习具有鲁棒性的时序表示。
上下文对比模块: 为了进一步学习具有区分性的表示,作者提出了一个建立在时序对比模块上的上下文对比模块。该模块旨在通过最大化同一样本的不同上下文之间的相似性,同时最小化不同样本的上下文之间的相似性。
实验结果: 文章在三个真实世界的时间序列数据集上进行了实验证明。实验结果表明,使用作者提出的TS-TCC学到的特征进行线性分类器训练与监督训练性能相当。此外,TS-TCC在少标签数据和迁移学习场景中表现出高效性。
代码开源: 作者提供了实现该方法的代码,并且可以在GitHub - emadeldeen24/TS-TCC: [IJCAI-21] "Time-Series Representation Learning via Temporal and Contextual Contrasting" 上公开获取。
Introduction
自监督学习的关注度上升: 文中指出,最近自监督学习在从无标签数据中提取有效表示方面受到了更多的关注。这种方法的目标是在没有明确标签的情况下训练模型,以便在下游任务中能够取得好的性能。
与有标签数据模型的比较: 作者比较了自监督预训练模型与使用完整有标签数据训练的模型(即有监督模型)之间的性能。指出自监督预训练模型在有限的标签数据情况下可以取得与有监督模型相媲美的性能,这对于在现实应用中数据标注有限的情况下尤为重要。
不同的自监督方法: 文中提到,自监督方法使用不同的前提任务来训练模型并从无标签数据中学习表示。举例说明了一些自监督方法,如解决谜题和预测图像旋转。
前提任务的局限性: 作者指出,尽管自监督学习在从无标签数据中学习表示方面取得了成功,但前提任务可能限制了学到的表示的普遍性。以图像旋转预测为例,该任务可能使模型偏离学习有关对象颜色或方向的特征。
自监督学习的关注度上升: 文中指出,最近自监督学习在从无标签数据中提取有效表示方面受到了更多的关注。这种方法的目标是在没有明确标签的情况下训练模型,以便在下游任务中能够取得好的性能。
与有标签数据模型的比较: 作者比较了自监督预训练模型与使用完整有标签数据训练的模型(即有监督模型)之间的性能。指出自监督预训练模型在有限的标签数据情况下可以取得与有监督模型相媲美的性能,这对于在现实应用中数据标注有限的情况下尤为重要。
不同的自监督方法: 文中提到,自监督方法使用不同的前提任务来训练模型并从无标签数据中学习表示。举例说明了一些自监督方法,如解决谜题和预测图像旋转。
前提任务的局限性: 作者指出,尽管自监督学习在从无标签数据中学习表示方面取得了成功,但前提任务可能限制了学到的表示的普遍性。以图像旋转预测为例,该任务可能使模型偏离学习有关对象颜色或方向的特征。
TS-TCC框架概述: 作者提出了一个名为TS-TCC的时间序列表示学习框架,以解决前文中提到的问题。该框架利用"Temporal and Contextual Contrasting"来学习时间序列的表示。
数据增强: 该框架采用简单但高效的数据增强技术,这些技术能够适应任何时间序列数据,以创建输入数据的两个不同但相关的视图。
时序对比模块: 为了学习鲁棒的表示,作者提出了一个新颖的时序对比模块。该模块通过设计具有挑战性的跨视图预测任务,对于某个时间步,利用一个增强的过去潜在特征来预测另一个增强的未来。这种操作将迫使模型通过更难的预测任务学习鲁棒的表示,以对抗不同时间步和增强引入的任何扰动。
上下文对比模块: 在TS-TCC中,作者进一步提出了一个上下文对比模块,以在时序对比模块学到的鲁棒表示的基础上进一步学习具有区分性的表示。在这个上下文对比模块中,目标是最大化同一样本不同上下文之间的相似性,同时最小化不同样本上下文之间的相似性。
2 Related Works
2.1 Self-supervised Learning
这段文字总结了自监督学习的最新进展,特别是在图像上应用先验任务以学习有用的表示。它提到了图像领域中一些先验任务,如解决拼图难题、图像着色和预测图像旋转,这些任务取得了不错的结果。然而,文字指出这些任务依赖于启发式方法,可能限制学到的表示的普适性。
与之相反,对比方法通过从增强的数据中学习不变表示开始表现出色。例如,MoCo利用动量编码器从存储库中获取的负样本学习表示。SimCLR通过使用更大批次的负样本替换了动量编码器。BYOL通过引导表示的学习,甚至不使用负样本。最后,SimSiam支持忽略负样本的想法,仅依赖于孪生网络和停梯度操作来实现最先进的性能。
尽管所有这些方法都成功地改进了对视觉数据的表示学习,但是它们可能在具有不同属性(如时间依赖性)的时间序列数据上表现不佳。这突出了在处理时间序列数据时需要特殊考虑其独特性质的问题。
2.2 Self-supervised Learning for Time-Series
时间序列数据的先验任务: 一些方法采用了先验任务来学习时间序列数据的表示。例如,Saeed等人设计了一个二元分类先验任务,用于人类活动识别,通过对数据应用多种变换,模型被训练来在原始和经过变换的版本之间进行分类。类似地,SSL-ECG方法通过对数据集应用六种变换学习了心电图(ECG)的表示,并根据变换类型分配伪标签。此外,Aggarwal等人通过建模局部和全局活动模式学到了主体不变的表示。
对比学习在时间序列数据中的应用: 部分工作受到对比学习的成功启发,近期开始在时间序列数据中应用对比学习。例如,CPC通过在潜在空间中预测未来来学习表示,在各种语音识别任务中取得了显著进展。另外,Mohsenvand等人设计了与脑电图(EEG)相关的增强,并将SimCLR模型扩展到EEG数据。这些方法通常利用对比学习的思想,通过在不同视图之间最大化相似性来学习数据表示。
创新性的方法: 文中强调了作者提出的方法的创新性。与现有方法不同,该方法首先通过设计时间序列特定的增强方法为输入数据构建不同的视图。此外,提出了一种新颖的跨视图时序和上下文对比模块,旨在改进时间序列数据的学到的表示。
3 Methods
这一部分详细描述了作者提出的TS-TCC框架。如图1所示,框架首先通过强和弱的数据增强生成两个不同但相关的视图。然后,引入了一个时序对比模块,通过自回归模型探索数据的时间特征。这些模型通过预测一个视图的未来,利用另一个视图的过去,执行一个具有挑战性的跨视图预测任务。通过一个上下文对比模块,我们进一步最大化自回归模型上下文之间的一致性。接下来,我们将在以下子节中介绍每个组件。
3.1 Time-Series Data Augmentation
增强视图的表示: 强调了对于每个输入样本 x,有两个不同的增强视图 x_s 和 x_w,分别表示强增强和弱增强。
编码器架构: 描述了编码器的架构,采用了一个三块卷积的结构,这个结构的灵感来源于之前的研究,具体为 [Wang et al., 2017] 所提出的。
潜在表示的定义: 定义了潜在表示 z,其中包含了每个时间步的表示 zi,其中 T 表示总的时间步数,d 表示特征长度。
输入时序对比模块: 强调了得到的 z_s 和 z_w 将被输入到时序对比模块中,以便进行后续的表示学习
3.2 Temporal Contrasting
这段文字描述了在作者的方法中,如何通过强增强和弱增强的上下文执行跨视图预测任务,并且通过对比损失进行学习。这有助于提高模型对时间序列数据的表示的鲁棒性。
Transformer模型的选择: 作者选择使用Transformer作为自回归模型,原因在于其效率和速度,这得益于其在自然语言处理等领域取得的成功(参考Vaswani等人的工作,2017年)。
Transformer的体系结构: 文中提到Transformer模型的体系结构,包括多头自注意力(Multi-Head Attention,MHA)块和一个MLP块。MLP块由两个全连接层组成,之间有非线性ReLU函数和dropout。在Transformer中,作者采用了预归一化残差连接,这有助于产生更稳定的梯度。
层的堆叠: 作者堆叠了L个相同的层来生成最终的特征。
Token的引入: 受到BERT模型的启发,作者在输入中引入了一个表示上下文的 token c ∈ R^h。该 token 的状态充当输出中的代表性上下文向量。
Transformer的运算过程: Transformer的操作从将特征 z≤t 应用于线性投影 WT ran 开始,将特征映射到隐藏维度。接下来,将线性投影的输出送入Transformer中,即 z˜ = WT ran(z≤t),其中 ˜z ∈ R^h。
上下文向量的添加: 将上下文向量添加到特征向量 ˜z 中,使得输入特征变为 ψ0 = [c; ˜z]。
Transformer层的传递: 将ψ0传递给Transformer层,通过一系列方程进行计算。
总体而言,这段文字描述了作者选择的Transformer模型的架构和运作方式,以及如何在该模型中引入上下文向量进行时序对比学习。
3.3 Contextual Contrasting
上下文对比模块的目标: 上下文对比模块的目标是学习更具有区分性的表示。
非线性变换: 模块以对上下文应用非线性变换为起点,使用一个非线性投影头(non-linear projection head),类似于 [Chen et al., 2020] 中的方法。
非线性投影头: 文中提到了投影头,它是一个非线性投影头,将上下文映射到上下文对比模块应用的空间。
上下文的定义: 对于每个样本,有两个来自其两个增强视图的上下文,因此总共有 2N 个上下文。
正样本和负样本的定义: 对于一个上下文 c_i_t,作者定义了 c_i+t 作为 c_i_t 的正样本,它来自于同一输入的另一个增强视图。因此,(c_i_t, c_i+t) 被视为正样本对。同时,批次中其他输入的 (2N - 2) 个上下文被视为 c_i_t 的负样本,即 c_i_t 可以与其负样本形成 (2N - 2) 个负样本对。
上下文对比损失: 由此,可以导出一个上下文对比损失,以最大化正样本对的相似性,并最小化负样本对之间的相似性。这有助于使最终的表示更具有区分性。
4 Experimental Setup
4.1 Datasets
数据集的选择: 作者采用了三个公开可用的数据集,分别用于人类活动识别(human activity recognition)、睡眠阶段分类(sleep stage classification)和癫痫发作预测(epileptic seizure prediction)。这表明作者在不同应用场景下测试了模型的性能。
特征迁移研究: 除了在特定任务上的性能评估外,作者还调查了他们学到的特征在故障诊断数据集上的迁移性。这意味着作者对模型学到的特征在不同领域的通用性进行了研究。
5 Results
5.1 Comparison with Baseline Approaches
随机初始化(Random Initialization): 将一个线性分类器训练在随机初始化的编码器之上,用作对比基线。
有监督(Supervised): 对编码器和分类器模型进行有监督训练,作为对比基线。
SSL-ECG [P. Sarkar, 2020]: 使用 SSL-ECG 方法作为对比基线。
CPC [Oord et al., 2018]: 使用 CPC 方法作为对比基线。
SimCLR [Chen et al., 2020]: 使用 SimCLR 方法作为对比基线。作者特别指出,为了适应他们的应用场景,他们使用了针对时间序列的特定数据增强,因为SimCLR最初是为图像设计的。
评估方案: 为了评估TS-TCC模型的性能,作者采用了标准的线性基准评估方案。具体而言,他们在一个冻结的自监督预训练编码器模型之上训练了一个线性分类器(单层MLP),并通过线性评估来比较各种方法的性能。
结果展示: 表2展示了TS-TCC方法在线性评估中与基线方法的结果。总体而言,TS-TCC在所有三个先进方法中表现最好。此外,TS-TCC仅使用线性分类器,在三个数据集中有两个表现最好,同时在第三个数据集上与有监督方法的性能相当。这表明了TS-TCC模型在表示学习方面的强大能力。
对比方法的优越性: 引入对比方法(如CPC、SimCLR和TS-TCC)通常比基于预设任务的方法(即SSL-ECG)获得更好的结果。这反映了对比方法学到的不变特征的强大能力。
CPC相对于SimCLR的优势: CPC方法相对于SimCLR表现更好,这表明在时间序列数据中,时间特征比一般特征更重要。
这段文字描述了作者对TS-TCC模型在半监督设置下的有效性进行的研究。他们通过在训练数据的1%、5%、10%、50%和75%的随机选择实例的情况下训练模型,来考察模型在半监督情境下的表现。Figure 3展示了TS-TCC在上述设置下以及有监督训练的结果。特别是,TS-TCC的微调(即Figure 3中的红色曲线)表示作者使用了少量标记样本对预训练编码器进行了微调。
这一研究旨在评估TS-TCC模型在数据标签有限的情况下的性能,即在半监督和少标签数据情境下的泛化能力。通过比较不同标签比例下的性能,可以评估TS-TCC在具有不同程度标签限制的应用场景中的鲁棒性。
6 Conclusion
TS-TCC框架概述: 作者提出了一个名为TS-TCC的新型框架,用于从时间序列数据中进行无监督表示学习。
关键步骤: TS-TCC框架的关键步骤包括首先通过应用强弱数据增强为每个样本创建两个视图。接着,通过实施艰巨的跨视图预测任务,时序对比模块学习了强健的时序特征。最后,引入了上下文对比模块,以学习基于学到的强健表示的判别性特征。
实验结果: 实验证明,在我们的TS-TCC框架学到的特征上进行线性分类器训练,其性能与有监督训练相当。此外,TS-TCC在少标签数据和迁移学习场景中表现出高效性,例如,仅使用10%的标签数据的TS-TCC可以实现与使用全部标签数据的有监督训练相近的性能。
时间序列的表示学习
用对比学习的方式 Time-series representation learning via temporal and contextual contrasting(IJCAI’21)
本文采用对比学习的方式进行时间序列表示学习。首先对于同一个时间序列,使用strong和weak两种数据增强方法生成原始序列的两个view。
Strong Augmentation指的是将原始序列划分成多个片段后打乱顺序,再加入一些随机扰动;
Weak Augmentation指的是对原始序列进行缩放或平移。
接下来,将strong和weak两个增强的序列输入到一个卷积时序网络中,得到每个序列在每个时刻的表示。文中使用了Temporal Contrasting和Contextual Contrasting两种对比学习方式。
Temporal Contrasting指的是用一种view的context预测另一种view在未来时刻的表示,目标是让该表示和另一种view对应的真实表示更接近,这里使用了Transformer作为时序预测的主体模型,公式如下,其中c表示strong view的Transformer输出,Wk是一个映射函数,用于将c映射到对未来的预测,z是weak view未来时刻的表示:编辑
Contextual Contrasting则是序列整体的对比学习,拉近相同序列生成的两个view的距离,让不同序列生成的view距离更远,公式如下,这里和图像对比学习的方式类似:
编辑