Rethinking Data Perturbation and Model Stabilization for Semi-supervised Medical Image Segmentation

1. Oversampling labeled data(过采样标注数据)

答:常用于处理数据不平衡问题。数据不平衡通常发生在分类任务中,其中某些类别的数据样本数量远少于其他类别。过采样技术旨在增加少数类样本的数量,从而平衡数据集。

1.1. Oversamling

定义:

  • 通过复制少数类样本或生成新的少数类样本,来增加少数类样本的数量。
  • 目的是平衡数据集中不同类别的样本数量,从而避免模型在训练时偏向多数类。

主要方法:

  1. 随机过采样(Random Oversampling)

    • 简单地随机复制少数类样本,直到其数量与多数类样本相等。
    • 优点:实现简单,效果直观。
    • 缺点:可能导致过拟合,因为某些少数类样本会被重复多次。
  2. 合成少数类的过采样技术(SMOTE, Synthetic Minority Over-sampling Technique)

    • 通过在少数类样本之间插值生成新的样本。
    • SMOTE方法:从少数类样本集中随机选择一个样本,然后在其最近邻样本之间生成新的样本。
    • 优点:通过生成新样本而不是简单复制,减少了过拟合的风险。
    • 缺点:生成的新样本可能不真实,尤其是在数据分布复杂时。
  3. 变体SMOTE

    • Borderline-SMOTE:只对靠近决策边界的少数类样本进行过采样。
    • ADASYN(Adaptive Synthetic Sampling):根据少数类样本的难易程度自适应地生成样本,困难样本生成更多新样本。
  4. *数据增强(Data Augmentation)

    • 主要用于图像和文本数据,通过旋转、翻转、裁剪、添加噪声等方式生成新样本。
    • 优点:可以生成更多样化的样本,提高模型的泛化能力。

2. Undersampling unlabeled data(欠采样未标注数据)

答:是一种在半监督学习和主动学习中常用的技术。其目的是通过减少未标注数据的数量,从而使模型能够更有效地利用有限的资源进行训练。

2.1. Undersampling

定义:

  • 从数据集中减少样本的数量,通常是通过随机选择一部分样本来代表整个数据集。
  • 在未标注数据的情况下,欠采样的目标是减少数据量,同时保留足够的信息用于模型训练和验证。
  • 在半监督学习中,未标注数据量通常远大于标注数据量。通过欠采样,可以减少训练负担,同时提高标注数据的利用率。

目的:

  1. 提高训练效率

    • 通过减少未标注数据的数量,可以降低计算成本,加快训练速度。
    • 特别是在处理大规模数据集时,欠采样可以显著减少资源消耗。
  2. 平衡数据集

    • 在半监督学习中,未标注数据可能存在类别不平衡的问题。欠采样可以帮助平衡数据分布,提高模型的泛化能力。
  3. 选择性标注

    • 在主动学习中,通过欠采样可以选择最有信息量的未标注样本进行标注,从而提高标注效率和模型性能。

方法:

  1. 随机欠采样(Random Undersampling)

    • 从未标注数据集中随机选择一部分样本进行训练。
    • 简单易行,但可能会丢失重要信息。
  2. 聚类欠采样(Cluster-Based Undersampling)

    • 先对未标注数据进行聚类分析,然后从每个聚类中选择代表性样本。
    • 这种方法可以保留数据的多样性,同时减少样本数量。
  3. 不确定性采样(Uncertainty Sampling)

    • 基于当前模型的预测不确定性,选择那些模型最不确定的样本进行标注和训练。
    • 这种方法有助于提高模型的学习效率,因为模型不确定的样本通常包含更多信息。
  4. 多样性采样(Diversity Sampling)

    • 选择样本时考虑样本的多样性,确保选择的样本能够代表整个数据分布。
    • 这种方法可以提高模型的泛化能力。

3. “图3. Re-sampling”

(Zhao 等, 2023, p. 5) (pdf)

两种resampling:

(1)oversampling labeled data

(2)undersampling unlabeled data

两种方式的效果都差不多,文章采用oversampling


4. disagreement

4.1. enlarge disagreement

    在半监督分割(semi-supervised segmentation)任务中,“enlarge their disagreement”(扩大分歧)是一种常见的方法,用于提升模型的泛化能力和鲁棒性。这个方法的核心思想是通过引导模型在不确定的区域内作出更大胆的预测,从而提高模型在标注数据和未标注数据上的表现。

具体来说,半监督学习通常依赖于少量的标注数据和大量的未标注数据。在这种情况下,模型往往会对未标注数据的预测存在不确定性。通过扩大分歧,方法试图实现以下几个目的:

    (1)提升模型的鲁棒性(Robustness): 增大模型之间的分歧可以防止模型陷入过拟合标注数据的陷阱。通过鼓励模型在不同视角下做出不同的预测,可以提升模型对未标注数据的适应能力,从而提高整体泛化性能。

    (2)改进自训练过程(Self-training): 在自训练过程中,模型会利用自身对未标注数据的预测来更新自身的训练数据。扩大分歧可以促使模型在训练过程中发现并利用更多的复杂样本,这些样本在模型之间存在较大的分歧,从而进一步提升模型的学习能力。

    (3)不确定性估计(Uncertainty Estimation): 扩大分歧可以帮助模型更好地估计预测的不确定性。在分歧较大的区域,模型可以更清楚地识别哪些区域是高不确定性的,从而在这些区域内更谨慎地做出决策。

    (4)正则化效果(Regularization Effect): 扩大分歧可以被看作是一种正则化手段,防止模型在少量标注数据上过拟合。通过鼓励不同模型或同一模型的不同版本对同一输入产生不同的输出,模型可以学习到更多具有泛化能力的特征。

常见的实现方式包括:

    (1)对比学习(Contrastive Learning): 通过对比不同视角下的预测结果,最大化不同视角下的分歧。
    (2)一致性正则化(Consistency Regularization): 通过引入扰动(如数据增强、输入噪声等),迫使模型在扰动前后的预测结果保持一致,从而在不确定区域产生分歧。
    (3)多模型集成(Ensemble of Models): 使用多个不同的模型或同一模型的不同版本,并通过它们之间的预测分歧来指导模型的训练。

4.2. prediction disagreement

答:在半监督学习中,未标注数据可以用来训练模型。预测分歧可以帮助识别哪些未标注数据样本对于模型的当前预测存在不确定性。

重要性:

  • 提高模型性能:通过识别和处理预测分歧大的样本,可以增强模型的学习能力和泛化性能。

  • 优化标注成本:在半监督学习和主动学习中,使用预测分歧来选择标注样本,可以显著减少标注工作量,提高标注效率。

  • 增强模型鲁棒性:处理预测分歧有助于构建更加鲁棒的模型,特别是在应对复杂数据分布和噪声数据时。


“μ” (Zhao 等, 2023, p. 5) (pdf)


5. “label-preserving disagreement”

(Zhao 等, 2023, p. 5) (pdf)

答:是一种在半监督学习、尤其是在图像语义分割任务中,评估模型预测不确定性的方法。它的核心思想是通过数据增强技术生成不同版本的同一个样本,并通过评估这些版本的预测结果之间的分歧来衡量模型的可靠性。

重要性:标签保持分歧在半监督学习中扮演着重要角色,尤其是在医学图像语义分割等需要高精度的领域。通过数据增强技术一致性正则化,可以有效评估和利用未标注数据,提升模型的鲁棒性和泛化能力。利用标签保持分歧,能够更好地处理不确定性,提高模型在实际应用中的表现。


6. “the critical data augmentations”

(Zhao 等, 2023, p. 5) (pdf) :

(1)几何变换

(2)*基于强度的增强

  • 定义:是一类通过改变图像强度(如亮度、对比度、颜色等)来生成新的训练样本的方法。这种增强技术在图像语义分割任务中非常关键,因为它可以有效增加数据的多样性,提高模型的泛化能力和鲁棒性。

(3)复制-粘贴


7. 产生为标签的两个基本方法:

(1)教师模型:为未标记的实例生成伪标签

(2)利用学生模型本身生成伪标签


8. “the ramp-up policy of unlabeled consistency loss.”

(Zhao 等, 2023, p. 7) (pdf)

答:在半监督学习中,“ramp-up policy”(逐步增加策略)是一种常用的技术,用于逐渐增加未标注数据一致性损失(unlabeled consistency loss)的权重,从而避免模型在训练初期因不稳定的伪标签或不准确的预测导致性能下降。

以下是关于未标注数据一致性损失逐步增加策略的详细介绍:

8.1. 定义

逐步增加策略(Ramp-Up Policy)

  • 指在训练初期逐步增加未标注数据一致性损失的权重,而不是从一开始就给予其很高的权重。
  • 这种策略能够帮助模型在初期阶段专注于学习标注数据的可靠信息,同时逐步引入未标注数据的一致性约束。

8.2. 关键技术

  1. 一致性损失(Consistency Loss)

    • 一致性损失是指模型在面对同一未标注数据的不同增强版本时,其预测结果应尽可能一致。
    • 常用的一致性损失包括均方误差(MSE)损失、交叉熵损失等。
  2. 逐步增加函数(Ramp-Up Function)

    • 逐步增加函数用于控制一致性损失的权重随训练进程的变化。
    • 常见的逐步增加函数包括高斯函数、指数函数和Sigmoid函数等。

8.3. 实践建议

  1. 选择合适的逐步增加函数

    • 根据具体任务选择合适的逐步增加函数,例如高斯函数适合快速增加的一致性权重,而Sigmoid函数则适合平滑过渡。
  2. 初期专注于标注数据

    • 在训练初期,模型应主要依赖标注数据进行学习,以确保初步构建的模型具有较好的性能。
  3. 逐步引入未标注数据

    • 随着训练的进行,逐步增加未标注数据一致性损失的权重,使模型逐步学习未标注数据中的有用信息。
  4. 动态调整

    • 在训练过程中,动态调整逐步增加策略的参数,根据模型的表现和一致性损失的收敛情况进行优化。

8.4. 例子

假设有一个逐步增加函数 w e i g h t ( t ) weight(t) weight(t) 用于控制一致性损失权重随时间步 t t t 的变化:

w e i g h t ( t ) = e x p ( − 5 ( 1 − t T ) 2 ) weight(t)=exp(-5(1-\frac{t}{T})^2) weight(t)=exp(5(1Tt)2)

其中 T T T 是逐步增加阶段的总步数。这个函数表示在训练初期一致性损失权重较低,随着时间步的增加,权重逐渐增加,直到达到最大值。

在训练过程中,总损失函数可以表示为:

L o s s = S u p e r v i s e d _ L o s s + w e i g h t ( t ) × C o n s i s t e n c y _ L o s s Loss=Supervised\_Loss+weight(t)×Consistency\_Loss Loss=Supervised_Loss+weight(t)×Consistency_Loss

其中, S u p e r v i s e d _ L o s s Supervised\_Loss Supervised_Loss 是有标注数据的损失, C o n s i s t e n c y _ L o s s Consistency\_Loss Consistency_Loss 是未标注数据的一致性损失。

总结

逐步增加策略在半监督学习中起着至关重要的作用,通过逐步引入未标注数据一致性损失,可以帮助模型平稳过渡,逐步学习未标注数据中的信息,从而提高模型的整体性能。合理选择逐步增加函数和动态调整训练策略是实现这一目标的关键。


9.“distribution-specific BN.”

(Zhao 等, 2023, p. 6) (pdf)

是用来处理未标注数据和标注数据在分布上的差异的一种方法。这种策略可以显著提高模型的性能,特别是在未标注数据和标注数据的分布存在较大差异的情况下。

9.1. 定义

特定于分布的批量归一化(Distribution-Specific Batch Normalization, DSBN)

  • 是一种针对不同数据分布应用独立的批量归一化参数的技术。
  • 在半监督学习中,通常会为标注数据和未标注数据分别设置不同的批量归一化参数,从而更好地适应它们各自的分布特性。

9.2. 关键技术

特定于分布的参数设置

  • DSBN 的核心思想是为不同数据分布(如标注数据和未标注数据)分别设置独立的 BN 参数(均值、方差、缩放因子和偏移量)。
  • 这允许模型在处理不同数据分布时具有更高的灵活性。

10. 指数移动平均(Exponential Moving Average, EMA)

10.1. 定义

指数移动平均(EMA)

  • EMA 是一种加权移动平均,其中最近的观察值被赋予更高的权重。它通过对历史数据进行加权平均,来平滑数据波动。
  • EMA 的公式为:
    E M A t = α ⋅ x t + ( 1 − α ) ⋅ E M A t − 1 \begin{aligned}{EMA}_t=α·x_t+(1-α)·{EMA}_{t-1}\end{aligned} EMAt=αxt+(1α)EMAt1

10.2. 在BN中使用EMA

    在 BN 中,通过 EMA 更新统计量,可以使模型在训练过程中更加稳定,减少因小批量数据波动带来的影响。具体应用在以下几个方面:

  1. 更新均值和方差:
      - 在每个训练步骤中,使用 EMA 更新 BN 层的均值和方差统计量。
    例如,BN 层在训练过程中使用小批量数据的均值 𝜇 和方差 σ 2 \sigma^2 σ2 来标准化输入:
    x ^ = x − μ σ 2 + ϵ \begin{aligned}\widehat{x}=\frac{x-μ}{\sqrt[]{\sigma^2+\epsilon}}\end{aligned} x =σ2+ϵ xμ

  2. 使用 EMA 更新 BN 统计量:
      - 对于均值和方差,可以分别使用 EMA 进行更新:
    μ E M A = α ⋅ μ + ( 1 − α ) ⋅ μ E M A , σ E M A 2 = α ⋅ σ 2 + ( 1 − α ) ⋅ σ E M A 2 \begin{aligned}μ_{EMA}=α·μ+(1-α)·μ_{EMA},\\ \sigma^2_{EMA}=α·\sigma^2+(1-α)·\sigma^2_{EMA}\end{aligned} μEMA=αμ+(1α)μEMA,σEMA2=ασ2+(1α)σEMA2     其中, μ E M A μ_{EMA} μEMA​和 σ E M A 2 \sigma^2_{EMA} σEMA2分别是通过 EMA 更新的均值和方差。平滑系数 α 的选择对 EMA 的效果有重要影响。通常选择一个较小的值(如 0.1),以确保历史数据对当前 EMA 值有足够的影响。

训练与推理阶段的区别:

    在训练阶段,BN 使用小批量数据的均值和方差进行标准化,并通过 EMA 更新全局统计量。
    在推理阶段,使用通过 EMA 计算得到的全局均值和方差进行标准化。

在半监督学习中,学生模型通过 EMA 更新 BN 统计量可以更好地适应未标注数据的分布,提高模型的泛化能力。


对于二分类:dice更换成ce


“over-sampling labeled data and set the size ratio μ = 1, the momentum parameter α = 0.99, the maximum loss weight λu = 2.0 for all runs.” (Zhao 等, 2023, p. 9) (pdf)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cpdr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值