Self-Supervised Contrastive Learning for Medical Time Series: A Systematic Review阅读笔记

  • 医疗时间序列是随时间收集的序列数据,用于测量与健康相关的信号,如脑电图(EEG)、心电图(ECG)和重症监护病房(ICU)读数。
  • 在五个科学数据库(IEEE、ACM、Scopus、Google Scholar和PubMed)中检索了这些研究,并根据纳入标准检索了1908篇论文。
  • 仔细审查了这一领域的43篇论文。具体来说,本文概述了对比学习的流程,包括预训练、微调和测试。
  • 全面总结了应用于医疗时间序列数据的各种增强,预训练编码器的架构,微调分类器和聚类的类型以及流行的对比损失函数。
  • 概述了医疗时间序列中使用的不同数据类型,突出了感兴趣的医疗应用,并提供了在该领域使用的51个公共数据集的综合表。

1 对比学习

对比学习是一种新兴的自监督学习范式,它包括以下步骤:

  1. 增加时间序列样本以生成正对和负对;
  2. 利用非线性编码器将增强后的样本映射到潜在空间;
  3. 利用隐空间中计算的损失函数对编码器进行优化(通过最大化负样本对的嵌入距离,同时最小化正样本对的嵌入距离)。

在这里插入图片描述
提出了自监督对比学习的框架,如上图所示。对比学习包括三个阶段:预训练、微调和测试。
预训练阶段。预训练是指在消除对样本标签依赖的同时,对深度学习模型(即编码器)进行对比自监督训练的过程。在这个阶段,编码器 f f f接收到一些正对(例如,原始样本 x i x_{i} xi和增强样本 x i ′ x_i^{\prime} xi)和负对(例如,样本 x i x_{i} xi和不同的样本 x j x_{j} xj)。然后,编码器通过 h i = f ( x i ; Θ ) h_i=f(x_i;\Theta) hi=f(xi;Θ)将每个样本(以 x i x_{i} xi为例)映射到潜在嵌入空间中。式中, Θ \Theta Θ为模型参数。在潜在空间中,使用对比损失 L L L来度量嵌入之间的相对相似性:
在这里插入图片描述
其中 s i m ( ) sim() sim()是一个相似函数(例如,余弦相似度),数字越小,两个嵌入越相似。 N N N表示批大小。通过最小化损失函数 L L L,该模型强制正样本具有近嵌入,而负样本具有远嵌入。

微调阶段。微调阶段由训练有素的编码器和下游分类器组成。编码器的参数继承自预训练阶段。这个阶段接收一个时间序列样本 x i x_{i} xi,并预测一个相关的标签 y ^ \hat{y} y^。分类损失可以用预测 y ^ i \hat{y}_{i} y^i和真实标签 y i y_{i} yi来计算。损失用于优化分类器(当编码器冻结时称为部分微调)或优化编码器和分类器(称为完全微调)。请注意,在微调阶段需要真正的标签 y i y_{i} yi这意味着这个阶段是监督学习。然而,只需要一小组标记样本来优化编码器和/或分类器,因为编码器是预训练的。

假设我们有一个包含10,000个样本的数据集,其中只有5%有标签(即500个标记样本)。传统的监督学习无法用如此小的标记数据量进行训练,然而,通过对比学习,我们可以使用10,000个未标记的样本对编码器进行预训练,然后使用500个标记样本对模型进行微调。

然后,该模型可能在下游任务中有很好的性能。微调分类任务在预训练之后,因此被称为“下游”任务。
测试阶段。测试阶段与机器学习中的测试阶段相同:将未见的测试时间序列 x t e s t x_{test} xtest提供给微调的编码器和分类器以进行预测。严格地说,对比学习只包括预训练阶段,这将产生一个训练良好的编码器。然而,要完全完成一项任务,微调和测试是必不可少的。因此,在这篇综述中,我们主要总结了预训练部分,同时也提供了微调和测试的简要概述。

2 Results

2.1 Data Types of Medical Time Series

总结了所审查出版物中使用的生理和生物医学时间序列类型,并将结果呈现在下图中。所回顾的大多数研究使用脑电图(EEG)或心电图(ECG)作为输入信号。一个潜在的原因是,在脑电图和心电图方面有许多公开可访问的大规模数据集,这表明基础设施可以极大地促进研究前沿。
在这里插入图片描述
在本节中,我们总结了在回顾的自监督对比学习算法中作为下游任务应用的与健康相关的应用。图4提供了医疗应用程序的分布情况。

2.2 Medical Applications

本综述中确定的医疗保健应用主要集中在心血管疾病检测、睡眠状态监测、重症监护病房相关场景和神经系统疾病诊断。
在这里插入图片描述
与心血管应用相比,基于脑电图的场景在各个领域有广泛的应用,如睡眠状态监测、神经系统疾病诊断、运动图像分类和情绪识别。脑电图信号对大脑活动的变化高度敏感,因此在神经科学研究、临床诊断和人机界面开发等多个领域成为一种有价值的工具。

2.3 Augmentations

2.3.1 Overview of Data Augmentation in Time Series

在自监督对比学习中,数据增强是指通过设计的方式将原始样本转化为衍生于原始样本但与原始样本略有不同的增强样本。人工生成的样本可以用来提供数据的不同方面。重要的是,该模型可以通过测量原始样本和增强样本之间的嵌入距离来计算损失函数。

x x x x ′ x^{\prime} x被认为是正对,因为它们来自相同的样本。通过对比编码器 f f f,学习到的嵌入 h = f ( x ) h = f(x) h=f(x) h ′ = f ( x ′ ) h^{\prime}= f(x^{\prime}) h=f(x)在特征空间中尽可能接近。与正对相反,负对是指来自不同样本的两个样本。例如,数据集中的两个样本 x i x_{i} xi x j x_{j} xj,只要 i ≠ j i\neq j i=j,就构成负对。负对的嵌入,如 h i h_{i} hi h j h_{j} hj,尽可能在特征空间中。在这项工作中,我们总结了16种常用的增强方法,并将它们分为三类:变换、掩蔽和邻近。

2.3.2 Transforming Augmentation

  • 抖动。抖动也被称为添加随机噪声,是最流行的,简单而有效的增强方法之一。随机噪声可以遵循高斯分布、泊松分布或指数分布的概率分布,这取决于数据和噪声的特性。高斯噪声是最常用的
  • 扩展。缩放是指对原始样本的幅度进行重新缩放。例如,样本的范围为[−1,1],在重新缩放比例为1.5的变换后,扩充后的样本的尺度为[−1.5,1.5]。
  • 翻转。翻转时间序列意味着颠倒时间步长的顺序。换句话说,它是颠倒时间序列中元素的顺序。
  • 置换。置换包含两个步骤:分段,将时间序列分割成多个子序列;置换,随机重新排序子序列。当数据点的顺序不重要,而数据的总体分布很重要时,排列是有效的。
  • 时间扭曲。它应用非线性变换(又称翘曲)来改变时间序列的时间戳(即时间轴)。具体来说,它将拉伸或压缩时间序列的不同部分。这是调整事件的速度/持续时间以解决时间扭曲的重要方法。然而,请注意,扭曲并不是严格的增强,而是一种对齐多个时间序列并更有意义地计算它们的距离/相似度的方法
  • 时移。时移是指水平地(沿时间轴)移动样本以产生增广样本。对于原始样本 x = { x 1 , x 2 , ⋯   , x T − 1 , x T } x=\{x_{1},x_{2},\cdots,x_{T-1},x_{T}\} x={x1,x2,,xT1,xT},位移后的样本可以为 x ′ = { x 1 + n , x 2 + n , ⋯   , x T − 1 + n , x T + n } x^{\prime}=\{x_{1+n},x_{2+n},\cdots,x_{T-1+n},x_{T+n}\} x={x1+n,x2+n,,xT1+n,xT+n},其中 n n n为位移长度。根据经验,我们选择 n n n [ − T 2 , T 2 ] [-\frac T2,\frac T2] [2T,2T]中的取值范围。
  • 调整大小。调整大小包括压缩和拉伸,它们改变了时间序列的长度,但不改变振幅。对于原始样本 x = { x 1 , x 2 , ⋯   , x T − 1 , x T } x=\{x_{1},x_{2},\cdots,x_{T-1},x_{T}\} x={x1,x2,,xT1,xT},我们可以将长度为 T T T x x x压缩为更短的时间序列(例如长度为 T 2 \frac T2 2T)。实现压缩的一种简单方法是下采样,通过对每两个值进行一次观测,使压缩后的样本 x ′ = { x 1 , x 3 , ⋯   , x T − 2 , x T } x^{\prime}=\{x_{1},x_{3},\cdots,x_{T-2},x_{T}\} x={x1,x3,,xT2,xT}。同样地,拉伸意味着使样本变长,这可以通过使用邻近观测值的平均值填充缺失观测值的插值来实现。
  • 切片。随机选取时间序列的一个子序列作为增广样本。这种增强也被称为裁剪。对于 x = { x 1 , x 2 , ⋯   , x T − 1 , x T } x=\{x_{1},x_{2},\cdots,x_{T-1},x_{T}\} x={x1,x2,,xT1,xT},裁剪后的样本类似于 x ′ = { x 1 , x 2 , ⋯   , x T − m } x^{\prime}=\{x_{1},x_{2},\cdots,x_{T-m}\} x={x1,x2,,xTm},其中 m m m为裁剪后的时间步长。由于切片后样本长度从 T T T减小到 T − m T-m Tm一般将切片增强与调整大小联合使用,使增强后的样本长度与原始样本相同。
  • 切片+调整大小
  • 旋转。它通常用于计算机视觉,但很少用于时间序列。然而,当你在时间序列扩增中看到旋转时,它意味着在 x x x轴上翻转样本。具体地说,每次观测它都会乘以 − 1 -1 1。旋转后的时间序列为 x ′ = { − x 1 , − x 2 , ⋯   , − x T − 1 , − x T } x^{\prime}=\{-x_{1},-x_{2},\cdots,-x_{T-1},-x_{T}\} x={x1,x2,,xT1,xT}

2.3.3 Masking Augmentation

  • 时间掩蔽。它掩盖了时间序列中的一些观测值。有许多掩蔽模式,如子序列掩蔽(掩蔽样本的连续周期)和随机掩蔽(掩蔽离散数据点)。被屏蔽的观测值可以设置为零(零屏蔽)或不同的值(重新缩放屏蔽)。这是一种最常见的方法。
  • 频率掩蔽。频率掩蔽类似于时间掩蔽,但工作在频域而不是时域。一般来说,为了进行频率屏蔽,我们需要首先通过快速傅立叶变换(FFT)等变换将时间序列转换为频谱,然后屏蔽掉一些分量。注意,如果在频域中应用零屏蔽和子序列屏蔽,其结果将与滤波(低通、带通或高通)相同。
  • 滤波。滤波是信号处理中的一种常用方法,即从原始样本中去除一些不需要的成分。一般在频域进行滤波,去除部分频率分量。滤波有三种方式:高通滤除低频分量,低通滤除高频分量,带通滤除指定频带以外的所有频率分量。在生物医学时间序列中,最常用的是高通(0.5 Hz以上),因为低频分量通常是噪声。
  • R-peak掩蔽。这是时间掩蔽的一个子类,但专门为心电信号设计。这意味着选择峰值(最高观测值及其相邻值)并将其屏蔽。

2.3.4 Neighboring Augmentation

  • 时间临近。严格地说,邻域不是一种增广,而是构成正对的一种方法。它将两个在时间上彼此靠近的样本视为阳性样本。基本假设是时间特征不会发生显著变化,因此相邻的两个样本应该具有相似的嵌入。例如,我们有一个时间序列 x ^ = { x 1 , x 2 , ⋯   , x 2 T − 1 , x 2 T } \widehat{x}=\{x_{1},x_{2},\cdots,x_{2T-1},x_{2T}\} x ={x1,x2,,x2T1,x2T},长度为 2 T 2T 2T。将长时间序列分割为两个窗口长度为T和0重叠的样本后,输出将是两个样本: x = { x 1 , x 2 , ⋯   , x T } x=\{x_{1},x_{2},\cdots,x_{T}\} x={x1,x2,,xT} x ′ = { x T + 1 , x T + 2 , ⋯   , x 2 T } x^{\prime}=\{x_{T+1},x_{T+2},\cdots,x_{2T}\} x={xT+1,xT+2,,x2T}。则将 x x x x ′ x^{\prime} x视为正对;负的一对是 x x x和另一个远离 x x x的样本。
  • Channel-wise相邻。这类似于时间临近,但考虑到空间的一致性,而不是时间的一致性。基本假设是测量同一医疗事件的两个通道将具有相似的嵌入。例如,两个领导监控相同的心跳会有相似的嵌入,尽管它们被放置在不同的位置的胸部。

2.4 Pretext Tasks

在对比学习中,借口任务是一种旨在帮助模型以无监督的方式学习数据的有意义表示的任务。借口任务不是模型的最终目标,而是为模型提供有意义和有用的学习信号的一种方式。模型被训练来解决借口任务,在这个过程中,它学习以一种对解决下游任务有用的方式对数据进行编码。

对比映射。对比映射,也称为对比实例辨别,是自监督对比学习模型中主要的借口任务。
它不是一个严格的“任务”,因为没有分类等具体的任务,而是直接测量正对和负对在嵌入空间中的相对距离。正对是指 ( x , x ′ ) (x, x^{\prime}) (x,x)对,其中 x x x表示原始样本(即锚点样本), x ′ x^{\prime} x表示增广样本。负对是指 x x x对和其他不同的对(例如来自不同病人的样本)。
其基本假设是,在嵌入空间中,正对(即相似的例子)应该彼此靠近,而负对(即不同的例子)应该彼此远离。对比映射将样本从原始空间变换到满足假设的嵌入空间。我们测量嵌入空间中的对比损失,并以最大化正对特征之间的相似性和最小化负对特征之间的相似性为目标。通过这样做,它鼓励特征表示具有独特性和辨别性,这将有利于下游任务。

预测编码。这个任务也被称为自回归编码。它训练编码器根据过去的观测来预测未来的观测。例如,我们可以通过模拟预测任务来设计一个预测编码借口任务:对给定的 { x 1 , x 2 , ⋯   , x T − 1 , x T } \{x_{1},x_{2},\cdots,x_{T-1},x_{T}\} {x1,x2,,xT1,xT}预测 x T + 1 x_{T+1} xT+1的值。预测编码的一个重要变体是预测过去和未来之间的相关性,而不是准确预测未来的观察结果。具体来说,预测编码要求模型预测d(x, xT+1), d(x, xT+1)表示x的嵌入与xT+1之间的距离。基本假设是 d ( x , x T + 1 ) < d ( x , x T + M ) d(x, x_{T+1}) < d(x, x_{T+M}) d(x,xT+1)<d(x,xT+M)其中 x T + M x_{T+M} xT+M x T + 1 x_{T+1} xT+1相比暂时远离 x x x。换句话说,模型在正对(由过去的数据和正确的下一个观察组成)和负对(由过去的数据和不同的下一个观察组成)上进行训练。正对鼓励网络预测正确的下一个观测,而负对鼓励网络区分不同的下一个数据点。

邻居检测。这个借口任务将 ( x , x ′ ) (x, x^{\prime}) (x,x)对送到编码器中。其中 x x x表示原始样本,而 x ′ x^{\prime} x表示 x x x的邻居。然而,与对比映射不同的是,邻居检测的借口任务将问题表述为一个二元分类任务:预测输入对 ( x , x ′ ) (x, x^{\prime}) (x,x)是否为邻居。因此,损失将通过分类损失(如交叉熵)来衡量。

试验判别。与邻居检测类似,试验判别的借口任务需要识别两个样本是否来自同一试验。一个试验代表一个连续的时间序列记录,通常,一个样本是一个试验的子序列。试验判别任务的基本假设是,由于试验间的差异,同一试验的两个样本会比不同试验的样本更相似。

增强类型识别。这是一个灵活的分类任务,旨在确定样本是原始版本还是增强版本。如果只应用一个增强,它可以是一个二元分类任务;如果同时应用多个增强,它可以是一个多类任务。例如,计算机视觉中流行的增强技术是识别图像的旋转角度。同样地,把这个想法带到时间序列数据中,一个直观的借口任务是预测输入序列是否排列。

2.5 Model Architecture

2.5.1 Pre-Training Encoder

“预训练”是指在未标记数据集上进行模型训练的过程。我们首先训练模型直到收敛,然后保存模型参数,这些参数将在后续任务中加载。

预训练编码器主要由CNN和RNN(包括GRU和LSTM)组成。注意,每个基本的深度学习架构(如CNN, LSTM)都有几十个变体,我们仍然将这些变体视为简单性的基础模型。但是,我们将ResNet与CNN分开讨论,因为ResNet是CNN发展的一个里程碑,并且有自己固定的范式。

由于LSTM是为处理序列数据(如医疗时间序列)而设计的,因此许多研究自然采用LSTM作为骨干来构建编码器。然而,观察到CNN也非常受欢迎并不奇怪,因为研究人员通过经验发现CNN(如1DCNN)可以学习时间序列的代表性嵌入。

2.5.2 Fine-Tuning Classifier

微调是预训练后的一个阶段,目的是调整模型参数以适应特定的数据集。在对比学习的背景下,微调通常使用一定比例的标记样本。

优化微调分类器主要有两种方法:线性(冻结编码器中的参数)和微调(不冻结编码器中的参数)。注意,这里的“线性”只意味着预训练的模型参数不会被更新,但下游分类器可以是非线性的。由于混淆,我们建议将这两种分类器流称为部分微调和完全微调(从迁移学习领域借用的术语)。

2.6 Contrastive Loss

  1. NT-Xent损失。NT-Xent是“归一化温度尺度交叉熵损失”的缩写。它是一种改进的交叉熵损失,交叉熵损失是一种广泛使用的分类损失。NT-Xent用一个小的温度系数对对数进行缩放,这有助于平衡模型在预测中的置信度。NT-Xent在对比学习中非常流行,因为SimCLR采用了NT-Xent,它测量一个正对和所有负对的相似度得分之差。NT-Xent的方程可以写成
    在这里插入图片描述
    其中 N N N是小批量中的样本数。 s ( ⋅ ) s(·) s()表示两个向量之间的余弦相似度, t t t表示时间尺度因子(通常设为0.5)。分母表示所有负对的余弦相似度之和。这里有 2 N − 1 2N−1 2N1个项目,因为我们每批有 2 N 2N 2N个样本,包括 N N N个原始样本和 N N N个扩增样本。因此,在模型收敛后,正对的嵌入会彼此靠近,而负对的嵌入会彼此远离
  2. NCE损失。NCE是Noise contrast Estimation(噪声对比估计)的缩写,它通过与负样本的对比来近似数据的真实似然。在数学中,
    在这里插入图片描述
    其中 x ′ x^{\prime} x是与 x x x相似的样本而 x j x_{j} xj是负样本。NCE损失可以用于大量数据,因为负例可以动态生成,不需要存储在内存中。与NT-Xent损失和InfoNCE损失相比,NCE具有更简单的方程(即分母中没有积累),并且计算效率高,适合于大规模的机器学习任务。
  3. InfoNCE损失。InfoNCE是NCE loss的扩展版本。InfoNCE能够将阳性样本与所有阴性样本区分开来。方程如下
    在这里插入图片描述
    式中, K K K为负样本数。它的格式与NT-Xent loss非常相似,但没有时间尺度因子 t t t。InfoNCE和NT-Xent之间的区别在于如何选择负样本。在NT-Xent中,累积和交叉了小批中所有的负样本:有 2 N − 1 2N−1 2N1个负样本。在InfoNCE中,有 K K K个阴性样本,这些样本由用户预定义或由预定义规则选择。
  4. Triplet损失。Triplet损失是一种测量三个样本之间相对距离的方法。假设我们有一个锚定样本 x i x_{i} xi和一个增广样本 x i ′ x_{i}^{\prime} xi(正样本),以及一个不同的样本xj。Triplet损失的目的是使正对 ( x i , x i ′ ) (x_{i}, x_{i}^{\prime}) (xi,xi)之间的相似性最大化,同时使负对 ( x i , x j ) (x_{i}, x_{j}) (xi,xj)之间的相似性最小化。Triplet损失公式为
    在这里插入图片描述
    其中 s ( ⋅ ) s(·) s()是可以指定给任务和数据集的相似度函数, ϵ \epsilon ϵ是确定正样例和负样例之间最小裕度的超参数。Triplet损失已经在许多任务中被证明是成功的,但它的计算成本很高。原因是,如等式所示,嵌套循环需要对训练数据的数量进行二次计算。因此,当使用Triplet损失时,通常使用较小的批大小。

2.7 评价指标

在审查的论文中,大多数下游任务是分类工作(在广泛的医学应用中)。本文使用的评价指标包括准确率、精密度、召回率、F-1分数、精确召回曲线下面积(AUPRC)和接收者工作特征下面积(AUROC)。在部分二元分类研究中,特异性和敏感性也适用于评估自监督模型。对于一些聚类任务,研究人员采用了归一化互信息(NMI)和纯度等评价指标。扩展表还涵盖了GitHub代码链接(如果适用)、数据预处理和前沿研究的技术贡献。由于空间限制,我们将扩展表存储在我们的GitHub存储库

3 Discussion and Opening Challenges

  1. 对增强设计的指导较少。数据增强是对比学习中最关键的组成部分之一,它将严重影响模型的性能。由于不同数据集和下游任务的时间特征(采样率、趋势、波动、季节性等)的广谱性,样本扩增的设计非常复杂。然而,对于如何设计时间序列样本的增广,理论指导仍然较少。现有的样本增强大多集中在时域,而对频域的关注较少,而频域的信息量更大。
    在这里插入图片描述
  2. 层次时间序列缺乏统一的框架。生物医学时间序列的层次结构为对比模型中正负对的选择提供了很高的自由度。然而,大多数现有研究仅在单个或几个层面上应用了增强,而没有一个整体考虑所有层面的框架。建立一个统一的层次医学时间序列对比表示学习框架是非常有意义和必要的。
  3. 有限的回归任务。在目前的自监督对比学习中,大多数研究都集中在分类任务上。很少研究需要更多局部信息的回归任务(即,在待预测事件之前的子序列)。
  4. 缺乏可扩展性。与端到端模型相比,对比学习需要增加样本以提供可测量的损失,然而,这种增加不可避免地增加了样本数量,这需要更多的计算资源。而且,负样本集越大,对比性能越好。第三,损失函数(如NT-Xent)将遍历所有负样本,这比传统的损失函数(如交叉熵)成本更高。总的来说,对于相同的数据规模,自监督对比学习在计算上比典型的深度学习范式更昂贵,后者更难扩展到大型数据集。
  5. 多模态时间序列分析能力有限。目前主流的对比学习模型集中在单变量时间序列上。增强也是基于单通道时间序列设计的。但在实际应用中,很大一部分医学序列受到多元信号的共同影响。因此,开发能够从多模态数据中有效捕获代表性嵌入的对比学习方法从根本上是必要的。
  6. 缺乏开放获取的多样化生物医学数据集。大多数现有的公共数据集属于EEG, ECG和ICU。这些数据集进一步集中在心血管疾病检测、睡眠阶段监测和死亡率预测等少数任务上。迫切需要更多样化的数据集来改进医疗时间序列的研究
  • 43
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值