Beat-SSL: Capturing Local ECG Morphology through Heartbeat-Level Contrastive Learning with Soft Targets
研究背景与动机
获取大规模有标注 ECG 数据用于训练监督模型极具挑战性。对比学习(Contrastive Learning, CL)作为一种有效的预训练方法,能够利用无标注数据实现迁移学习,从而减少对有标注数据的依赖。然而,现有 CL 框架在 ECG 分析中存在以下两个核心不足:
仅关注全局上下文:如 3KG 等方法利用 VCG 域变换进行对比学习,仅考虑整段 ECG 的节律级(rhythm-level)全局特征,忽略了心搏级别的局部形态信息。Oh 等人虽然提出了双上下文预训练(CMSC + Wave2vec),但未将心跳作为对比学习的基本单元。
硬目标局限性:现有方法使用二值的硬对比目标(0 或 1),无法充分捕捉 ECG 信号中特征相似性的连续性质。同一患者不同心跳之间、不同患者相似病理模式之间的连续相似度被简单粗暴地二值化。
针对上述问题,作者提出了Beat-SSL:一种通过节律级(rhythm-level)和心跳级(heartbeat-level)双上下文对比学习,并引入软目标(Soft Targets)策略的 ECG 自监督框架。
数据集与实验任务
预训练阶段:使用PTB-XL数据集(folds 1~8),21,837 条无标注 12 导联 ECG,采样率 500 Hz,时长 10 秒。
下游任务:
- 任务 1 — 多标签分类(全局节律评估):PTB-XL 超诊断 5 类(NORM、CD、MI、HYP、STTC),线性探测(frozen encoder + 单层线性分类器)
- 任务 2 — ECG 波分割(局部形态评估):LUDB 数据集(200 条记录),分割 P 波 / QRS 波 / T 波的起止点,使用镜像编码器的解码器 + 单输出通道
对比方法:TS2Vec、Domain-SSL、ECG-FM
架构图与核心方法
整体框架如 Fig. 1A 所示,包含节律级对比和心跳级对比两个并行的对比学习路径,二者共享同一个编码器。
- 全局上下文:节律级对比(Rhythm Contrasting)
采用 3KG 增强策略,在 VCG(向量心电图)域进行数据增强,该增强策略确保变换在生理上是有意义的,不会将信号扭曲为病理形态。
X~=MKors−1⋅A(MKors⋅X)+ϵ \tilde{X} = M^{-1}_{Kors} \cdot \mathcal{A}(M_{Kors} \cdot X) + \epsilonX~=MKors−1⋅A(MKors⋅X)+ϵ
- MKors∈R3×12M_{Kors} \in \mathbb{R}^{3 \times 12}MKors∈R3×12:Kors 变换矩阵,将 12 导联 ECG 转换为 3 维 VCG
- A(⋅)\mathcal{A}(\cdot)A(⋅):VCG 域增强操作(随机旋转[−15∘,15∘][-15^\circ, 15^\circ][−15∘,15∘]+ 缩放[1.0,1.2][1.0, 1.2][1.0,1.2])
- MKors−1M^{-1}_{Kors}MKors−1:伪逆矩阵,VCG 重构回 12 导联 ECG
- ϵ∼N(0,0.052)\epsilon \sim \mathcal{N}(0, 0.05^2)ϵ∼N(0,0.052):加性高斯噪声
局部上下文:心跳级对比(Heartbeat Contrasting),在心跳级别进行对比学习,捕获个体心搏的形态特征(P 波、QRS 波、T 波)。
首先进行R 峰检测:预处理阶段在 Lead-II 上检测 R 峰位置,以 R 峰为中心裁剪心跳片段,然后进行特征提取:不单独输入裁剪后的心跳信号(维度不匹配),而是将完整 10 秒 ECG 输入编码器一次,再根据投影后的 R 峰位置从编码器输出中切分心跳级表示——类比 Fast R-CNN 中的 ROI Pooling,其次将提取后的心跳表示通过专用的心跳投影头gb(⋅)g_b(\cdot)gb(⋅)映射到对比空间,最后使用伪标签作为硬对比目标,伪标签由在 MIT-BIH 心律失常数据集上预训练的 Lead-II 心拍分类器(5 类 AAMI)生成。软目标对比(Soft Contrasting):用连续相似度(0~1)替代二值硬目标(0 或 1),在预处理阶段从 ECG 信号中提取一组特征,基于这些特征计算两种软目标:
| 版本 | 计算方法 | 特点 |
|---|---|---|
| soft_1 | 特征拼接 → 逐对余弦相似度 → 幂指数放大 | 连续值,幂指数增强高相似度 |
| soft_2 | 特征 p-norm 距离 → Top-k 近邻加权(k=3 时权重为 1, 2/3, 1/3)→ 其余为 0 | 基于近邻排名的软权重 |
对于 soft_1,将特征集NNN与自身拼接形成2N×2N2N \times 2N2N×2N的软目标矩阵。幂指数因子用于强调高相似度值,使模型更关注高度相似的样本对。
对于 soft_2,思路类似 Domain-SSL,但不是简单地添加 k 个硬正样本对,而是根据近邻排名分配连续软权重。
- 损失函数
使用广义NT-Xent(Normalised Temperature-scaled Cross Entropy)损失:
ℓi,j=−∑k≠i2Nwi,k⋅logexp(sim(zi,zj)/τ)∑m≠i2Nexp(sim(zi,zm)/τ) \ell_{i,j} = - \sum_{k \neq i}^{2N} w_{i,k} \cdot \log \frac{\exp(\text{sim}(z_i, z_j) / \tau)}{\sum_{m \neq i}^{2N} \exp(\text{sim}(z_i, z_m) / \tau)}ℓi,j=−k=i∑2Nwi,k⋅log∑m=i2Nexp(sim(zi,zm)/τ)exp(sim(zi,zj)/τ)
- zzz:投影头输出的 128 维向量
- sim(⋅)\text{sim}(\cdot)sim(⋅):余弦相似度
- τ\tauτ:温度参数
- wi,kw_{i,k}wi,k:对比目标权重(硬目标为 0/1,软目标为 [0,1] 连续值)
- 训练与推理
- 预训练:使用 PTB-XL folds 1~8(无标签),14 种消融配置组合
- 下游推理:
- 任务 1:冻结编码器 → 1D MaxPooling(kernel=4)→ 单层线性分类器,BCE 损失
- 任务 2:冻结编码器 → 镜像解码器 → 单输出通道逐样本分类,Cross-Entropy 损失
- 所有方法 5 次 k-fold 交叉验证(任务 1: k=10,任务 2: k=5)
实验结果与结论
消融实验
- 幂指数因子Exp=50在所有使用 soft_1 的配置下均提升了两个任务的性能
- 节律级使用 soft_1 对两个下游任务均有提升;soft_2 对任务 2 有益,但会降低任务 1 性能
- 心跳级对比的效果高度依赖与其他配置的组合,单独分析较困难
与现有方法对比
- 任务 1(多标签分类):Beat-SSL 达到 ECG-FM 最佳 F1 的 93%,但仅用了 31.8 倍更少的预训练数据;对 TS2Vec 和 Domain-SSL 具有统计显著性优势(p < 0.01)
- 任务 2(ECG 分割):Beat-SSL 取得最佳 F1/Dice,超过第二名 TS2Vec 4%,对所有方法均统计显著(p < 0.01)
局限性与发展
优势
- 双上下文对比学习:节律级(全局)+ 心跳级(局部)双路径对比,共享单一编码器,通过 ROI Pooling 方式巧妙避免了输入维度不匹配问题
- 软目标策略:用连续相似度替代二值硬目标,更精细地捕捉 ECG 信号之间的特征相似性,幂指数因子进一步增强高相似度信号的对比监督
- VCG 域生理增强:在 VCG 域进行旋转/缩放增强,确保增强在生理上合理、不会引入病理形态失真
- 数据效率高:以极少的预训练数据达到接近大规模基础模型的全局性能,并在局部分割任务上全面超越
- 双任务验证:同时验证全局(多标签分类)和局部(波分割)上下文表征能力,评估更全面
局限性
- 预训练数据规模有限:仅在 PTB-XL 上预训练,相比 ECG-FM数据量仍有差距,更大规模预训练可能进一步提升全局任务性能
- 心跳伪标签依赖外部分类器:心跳级硬目标需要 Lead-II 心拍分类器预先生成伪标签,增加了预处理复杂度,且伪标签质量会影响对比学习效果,其中心拍分类器的性能也会影响这个自监督的预训练
- 软目标特征选择未深入探讨:soft_1 和 soft_2 使用的 ECG 预处理特征集合的具体构成和选择标准未详细展开
- 仅限 12 导联 ECG:框架针对标准 12 导联设计,对少导联(如单导联 Holter)场景的适用性待验证
未来拓展方向
- 更大规模预训练:在更大规模 ECG 数据集(如 MIMIC-IV、PhysioNet 2021)上预训练,充分释放软目标 + 心跳对比的潜力
- 端到端心跳检测与对比:将 R 峰检测和心搏分类整合到对比学习框架中,消除对外部预处理模块的依赖
- 多尺度心跳对比:区分不同心拍类型(正常/室性/室上性),对同类心拍施加更强的软相似度,异类心拍施加更低的相似度
文章还没正式发表在期刊,很多细节有待完善,但是思路直接学习!