前言
书接上回【论文精读】Self-Supervised Learning for Time Series Analysis: Taxonomy, Progress, and Prospects【2】
2 RELATED SURVEYS
翻译
在本节中,首先介绍时间序列数据的定义,然后对自监督学习(SSL)和时间序列分析的几篇近期综述进行深入探讨
解析
“In this section, the definition of time series data is first introduced” 注意这个句子并没有表达"首创"或"原创"的意思。作者在这里主要是在描述本节内容的组织结构,类似的还有“ xxx begin with xxx”、“xxx start by xxx”
注意scrutinized这个词,我们可以积累起来
2.1 Definition of time series data
2.1.1 Univariate time series
单变量时间序列指的是同一变量按时间索引的有序观测或测量序列。它可以被定义为 X = (x0, x1, x2, …, xt),其中 xi 是时间戳 i 处的点。通常,这些测量在规律的时间间隔内进行。
让我们来拆解 A univariate time series refers to an ordered sequence of observations or measurements of the same variable indexed by time.这个句子:
-
句子主干:
主语:A univariate time series | refers to | an ordered sequence单变量时间序列就是一个有序序列
-
修饰和限定成分:
修饰 “sequence” 的成分:
-
of observations or measurements 是通过观测或者测量得到的
-
of the same variable 关于某种变量
-
indexed by time 用时间做索引,用二维坐标理解的话,也就是以时间为x轴
- 句子结构分析:
这是一个简单句,但包含了较长的宾语短语。宾语 “an ordered sequence” 后面跟了两个 “of” 引导的介词短语和一个过去分词短语来进行修饰和限定。这种长难句的构造方式在学术写作中比较常见。多看一些英语原文的关于一些术语的定义,可以学到更简明扼要的表述。
2.1.2 Multivariate time series
多变量时间序列由两个或多个相互关联的、依赖于时间的变量(或维度)组成。它是多个单变量时间序列的组合,可以被定义为 X = [X0, X1, X2, …, Xp],其中 p 是变量的数量。
2.1.3 Multiple multivariate time series
考虑这样一种情况:我们需要同时分析多组不同的多变量时间序列。对这类数据集的分析包括两个方面:一是独立研究每组序列,二是探索不同组之间的关系。举个例子,如果我们研究不同城市的气象数据,每个城市的数据都构成一个多变量时间序列,这样就形成了多维多变量时间序列。我们可以将这种结构表示为 X = {X0, X1, X2, …, Xn},其中 n 是多变量时间序列的维数。
2.2 Surveys on SSL
对自监督学习的综述可以根据不同的标准进行分类。在本文中,我们概述了三个广泛使用的标准:学习范式、预置任务(pretext tasks)和组件/模块。
2.2.1 Learning paradigms
翻译
这一类别关注模型架构和训练目标。自监督学习(SSL)方法大致可以分为以下几类:基于生成的方法、基于对比的方法和基于对抗的方法。上述方法的特征和描述可在附录A中找到。使用学习范式作为分类方法可以说是现有SSL综述中最流行的,包括[20]、[22]-[27]。然而,并非所有综述都涵盖了上述三个类别。读者可以参考这些综述以获取更多细节。在表1中,我们还提供了每个综述涉及的数据模态(data modalities),这可以帮助读者快速找到与他们密切相关的研究工作
解析1
学习一下这个表达:xxx is arguably the most popular | xxx可以说是最流行的
“Arguably” 直译为"可以论证的"、“可以说是”。它用来表示一个观点虽然有理有据,但可能存在争议或其他不同看法。在表达重要观点,或者讨论有争议的话题时候可以用这种矩句型,可以让你的文章更严谨。类似的这种小词还有:
-
Presumably (据推测)
-
Ostensibly (表面上看)
要点2
(嗯,我联想到我这里叫解析也不对,一家之言,给大家带沟里了怎么办,以后我都以要点作为标题了,说明这只是我的个人理解)
这里提到的附录A中说明的几种分类的特征给大家列一下
方法类型 | 模型架构和工作原理 |
---|---|
基于生成 | 1. 使用编码器将输入 x 映射到表示 z 2. 使用解码器从 z 重构 x 3. 训练目标:最小化输入 x 与重构输入 ˆx 间的误差 |
基于对比 | 1. 通过数据增强或上下文采样构造正负样本 2. 最大化正样本间的互信息(Mutual Information, MI),互信息是一个专业术语,互信息衡量的是两个随机变量之间的相互依赖性,或者说它们共享的信息量。这个互信息的主要作用就是用来做特征选择的、以及SSL中的对比损失设计 3. 常用对比相似度度量,如InfoNCE损失[109] |
基于对抗 | 1. 由生成器和判别器组成 2. 生成器产生假样本 3. 判别器区分假样本和真实样本 |
图5展示了基于生成、对比和对抗这三种方法的模型架构。它们的核心特点可概括如上表所示。基于对比的方法是目前SSL领域应用最广泛的策略之一。(这些信息都是附录A里面的)
TABLE 1
翻译:
要点:近期不同模态自监督学习(self-supervised learning, SSL)综述的概览。黄色部分表示该模态在所有六种模态中所占的比例。可以看出,本文主要关注时间序列数据上的SSL。
"It can be seen that…“是一个常见的学术表达,用于总结前文的内容。类似的表达还有"It is clear that…”,"It is evident that…"等。
要点 1 表1
(表1 本表)
2.2.2 Pretext tasks
翻译:
预置任务(pretext task)是一种学习信息丰富表示以用于下游任务的手段。与基于学习范式的标准不同,基于预置任务的标准也与数据模态有关。例如,Ericsson等人[28]对多种模态的预置任务进行了非常全面的综述,包括图像、视频、文本、音频、时间序列和图(graph)。各种自监督预置任务分为五大类:转换预测(transformation prediction)、掩码预测(masked prediction)、实例区分(instance discrimination)、聚类(clustering)和对比实例区分(contrastive instance discrimination)。Jing和Tian[18]总结了图像和视频数据上的自监督特征学习方法,讨论了四类:基于生成的、基于上下文的、基于自由语义标签的和基于跨模态的,其中基于跨模态的方法使用RGB帧序列和光流序列构建学习任务,这是视频中独特的特征。Gui等人[30]探讨了计算机视觉和自然语言处理中的四种预置任务,包括基于上下文的方法、对比学习方法、生成算法和对比生成方法。本质上,预置任务的核心是如何构建伪监督信号。一般来说,忽略数据模态的差异,现有的预置任务大致可分为三类:上下文预测(context prediction)、实例区分和实例生成(instance generation)。主要区别和例子总结在表3中。
需要注意的是,这里我们只列出了一些常用的预置任务,一些特殊的预置任务不是本文的重点。详情可见附录B.2。
要点1 介绍了几篇对pretext task的综述
要点2 提出了对pretext task的一般分类
预置任务的一般三种预置任务的主要区别如下:
- 上下文预测(Context prediction):
- 利用提供的实例的内在上下文关系构建预置任务
- 关系可涉及空间结构、时间结构以及局部和全局一致性
- 训练模型以预测实例自身的上下文结构
- 实例区分(Instance discrimination):
- 关注同一实例的不同视图或模态之间的相似性
- 将每个实例视为其自身的类别,或通过自然聚类为训练实例分配伪标签,将训练实例划分为多个组,组内相似度高,组间相似度低
- 训练模型以区分不同的实例或组
- 实例生成(Instance generation):
- 通过重构扰动的实例或使用基于生成对抗网络(GANs)的模型生成实例来构建预置任务
- 核心是基于模型或规则重新生成新实例,并使用原始实例与新生成实例之间的预定义关系构建伪监督信号
这三个方向的预置任务各有特点:
- 上下文预测任务利用了数据自身的结构信息,如空间、时间关系等,训练模型学习这些内在的上下文关系。这类任务适用于具有明确结构信息的数据,如图像、文本等。
- 实例区分任务关注不同实例之间的区别,通过最大化实例之间的差异来学习数据的表示。这类任务可以用于学习数据的高层语义信息,适用于各种模态的数据。
- 实例生成任务通过生成新的实例,并利用原始实例与生成实例之间的关系来学习数据的表示。这类任务结合了生成模型和自监督学习,可以用于学习数据的内在分布和生成新的样本。
这三类预置任务都是从不同角度构建了伪监督信号,以实现自监督学习。
要点3 对于pretest task要多看多想
这里作者介绍了很多预训练的相关任务,关于预训练的任务,我们一定要多看看别人已经有过的一些想法和思路,对于我们特定的任务,我们要合理设计预置任务,来改进SSL的效果。一是因为你可以知道哪些方法你可以在你的下游任务里可以用,还有就是一些直觉好的方法不一样就可以直接用得很好,这个过程中你可能会发现基于你已经选定的预训练任务中还有一些问题需要解决。这就是你工作的创新点了,对于pretext task的构建一定要多看多想。
举一个好理解的例子,在视频动作识别任务中,Misra等人提出的"shuffle and learn"方法。他们针对视频动作识别中时序信息难以捕捉的问题,设计了一个视频帧顺序预测的预置任务。这种做法迫使模型去学习视频中的时序规律,从而获得了更好的视频表示。是不是很容易想到,但是别人已经发了,但是没有关系啊,我在我的动作识别任务里也可以用,因为可能我还有其他的改进,可能这个方法还会给我的下游任务带来一些其他问题,而我正好解决了这些问题。
再比如CVPR2024的这篇工作《Contrastive Boundary Learning for Point Cloud Segmentation》在点云分割任务中通过设计一个pretex task解决自己的问题,就发了顶刊。他们针对点云分割中场景边界分割性能较差的难题,提出了一种对比边界学习(Contrastive Boundary Learning, CBL)的方法。通过对比边界两侧点的特征表示,并利用多尺度场景上下文,增强了跨边界点之间的特征区分能力。
2.2.3 Components and modules
翻译
根据SSCL方法在整个流程中的模块和组件对其进行分类的文献也是一个重要的方向。Jaiswal等人[17]、Le-Khac等人[29]和Liu等人[33]从不同角度梳理了SSL中所需的模块和组件。具体而言,Liu等人[33]总结了自监督对比学习(self-supervised contrastive learning)在医学时间序列数据上的研究进展。总的来说,该流程可以分为四个部分:正负样本、预置任务(pretext task)、模型架构(model architecture)和训练损失(training loss)。
SSCL背后的基本直觉是拉近正样本,推开负样本。因此,第一个组件是构建正负样本。根据Le-Khac等人[29]的建议,主要方法可分为以下几类:多传感器信号(multisensory signals)、数据增强(data augmentation)、局部-全局一致性(local-global consistency)和时间一致性(temporal consistency)。关于这些类别特征的额外描述可以在附录B.1中找到。
第二个组件是预置任务(pretext tasks),它是一种自监督任务,是利用伪标签(pseudo-labels)学习数据表征的重要策略[17]。伪任务在之前的小节中已经总结和分类,所以不再重复介绍。详情可以在2.2.2节和附录B.2中找到。
第三个组件是模型架构(model architecture),它决定了训练过程中如何对正负样本进行编码。主要类别包括端到端(end-to-end)[16]、记忆库(memory bank)[34]、动量编码器(momentum encoder)[35]和聚类(clustering)[36]。这四种架构的更多细节总结在附录B.3中。
第四个组件是训练损失(training loss)。如[29]中所总结的,常用的对比损失函数(contrastive loss functions)通常包括评分函数(scoring functions, cosine similarity)、基于能量的间隔函数(energy-based margin functions, pair loss and triplet loss)、基于概率NCE的函数(probabilistic NCE-based functions)以及基于互信息的函数(mutual information based functions)。这些损失函数的更多细节总结在附录B.4中。
要点1 长难句
The literature categorizing SSCL methods according to their modules and components throughout the pipeline is also an important direction.
这里的 “the literature categorizing SSCL methods” 是一个由关系从句修饰的名词短语。让我们来分析一下这个句子的结构:
主语: The literature 文献
关系从句: (that is) categorizing SSCL methods 分类SSCL方法的
在这个句子中,“categorizing SSCL methods” 是一个现在分词短语,作为后置定语修饰先行词 “literature”。整个句子的意思是 “对 SSCL 方法进行分类的文献”。
然后看后面的,according xxx ,是修饰categorizing的。
The literature categorizing SSCL methods according to their modules and components throughout the pipeline is also an important direction.
要点2 SSCL的结构
2.3 Surveys on time series data
翻译:
关于时间序列数据的综述大致可分为两类。第一类侧重于不同的任务,如分类[37],[38]、预测[39]-[42]和异常检测[43],[44]。这些综述全面梳理了每个任务的现有方法。第二类侧重于基于深度神经网络的时间序列建模的关键组件,如数据增强(data augmentation)[33],[45]-[47]、模型结构(model structure)[33],[48],[49]。[45]提出了一种新的分类法,将现有的数据增强技术分为基本方法和高级方法。[46]也提供了一个分类法,概述了四个类别:基于变换的方法(transformation-based methods)、模式混合(pattern mixing)、生成模型(generative models)和分解方法(decomposition methods)。此外,[45]和[46]都对时间序列分类任务的不同数据增强方法进行了实证比较。[48]从网络结构和应用两个角度系统地回顾了时间序列建模的transformer方案。Liu等人[33]全面总结了应用于医学时间序列数据的各种增强方法、预训练编码器的架构、微调分类器和聚类的类型,以及流行的对比损失函数(contrastive loss functions)。Eldele等人[19]、Deldari等人[20]和Liu等人[33]提出的分类法与我们提出的分类法有些相似,即三个分类法都涉及时间序列自监督对比学习方法。然而,我们的分类法提供了更详细的类别和更多的对比学习方法文献。虽然Liu等人[33]提出的分类法也侧重于时间序列数据。他们强调讨论医学时间序列数据,而我们更侧重于一般的时间序列SSL。更重要的是,除了基于对比的方法,我们还彻底回顾了大量关于基于生成和基于对抗的方法的文献。