窗口归一化技术,改进医学图像的分布外泛化能力
- 提出背景
- WIN、WIN-WIN、无参数归一化、特征级别数据增强
- 如何提升分布外的泛化?
- 总结
- 子问题1: 医学图像中的局部特征表示不足
- 子问题2: 训练数据与新场景数据分布不一致
- 子问题3: 模型在分布外数据上泛化能力不足
- 子问题4: 训练与评估时的不一致性问题
- 子问题5: 传统数据增强方法不适用于医学图像
论文:https://arxiv.org/pdf/2207.03366.pdf
代码:https://github.com/joe1chief/windowNormalizaion
窗口归一化(WIN)是一种为了提高深度学习模型在处理分布外数据时泛化能力的归一化技术。
分布外数据,指的是在模型训练阶段未曾见过的,分布与训练数据不同的新数据。
对于医学图像来说,这种情况尤为常见,因为不同的医疗设备、扫描协议或者病人的生理差异都可能导致测试时的图像与训练集在分布上有所差异。
上图是,7 个青光眼检测数据集的特征的 t-SNE 可视化。
t-SNE技术降低数据的维度,将高维数据集可视化为二维空间。
每种颜色代表来自不同数据集的数据,表明每个数据集捕获了整体数据分布的独特子集。
这表明任何两个数据集之间都存在分布偏移,这对机器学习模型在这些数据集之间泛化是一个挑战。
传统方法:
假设我们有一个由多个医院的医学图像构成的数据集,用于训练一个模型以检测肺部X光图像中的结节。
由于这些图像来自不同的X光机器,它们在亮度、对比度和噪声等方面存在差异。
传统的归一化方法,如批归一化(BN),可能会使用所有训练图像的平均亮度和对比度进行归一化。
当模型遇到新的医院提供的数据时,这些数据可能与训练数据在统计特性上有显著不同,导致模型性能下降。
WIN方法:
在同样的情景下,使用窗口归一化(WIN)技术,我们不是使用整个数据集的统计特性,而是在每个图像的局部区域内计算统计特性。
这意味着WIN可以考虑到图像中的局部特征和变异,从而使模型更加鲁棒,即使是在面对从未见过的、与训练数据分布不同的新图像时也能保持性能。
WIN-WIN 方法:
在分类任务中,比如将MRI图像分类为正常或含有肿瘤的类别,WIN-WIN方法通过在训练时考虑两种模式。
使用WIN进行特征归一化的模式和使用全局统计数据的模式。
在评估时,WIN-WIN强迫模型输出在这两种模式下保持一致,进一步增强了模型对新医院数据的适应性。
特征级别数据增强:
传统的数据增强技术可能包括在图像层面上应用变换,如旋转、缩放或添加噪声。
这对于自然图像来说可能很有效,但医学图像通常需要更细致的处理,因为它们包含重要的临床信息,而且可能会受到设备差异的影响。
使用WIN技术,数据增强发生在特征层面。
例如,对于从不同扫描仪来的CT扫描图像,WIN通过在每个图像的随机局部窗口内进行归一化来增强数据,而不是简单地应用全局变换。
这样可以模拟来自不同设备和条件的图像,增加数据的多样性,提高模型的泛化能力。
无参数归一化技术:
传统的归一化技术,比如BN,需要为每个特征通道学习一组参数来进行缩放和平移。
这可能会导致模型在面对分布偏移时变得不稳定。
相比之下,WIN作为一种无参数归一化技术,不需要额外的参数学习。
它只依赖于输入数据本身的统计特性。
这样一来,模型不会过分适应训练数据的特定特性,从而在应对新的、不同分布的测试数据时更加稳健。
WIN 和 WIN-WIN 方法通过在特征级别上引入局部统计信息和自我蒸馏机制,克服了传统归一化方法在医学图像分布外泛化上的不足。
这使得模型能够更好地适应新场景,提高了在实际临床应用中的可用性。
WIN、WIN-WIN、无参数归一化、特征级别数据增强的关系:
窗口归一化(WIN):
WIN-WIN:
无参数归一化:
特征级别数据增强:
WIN是一个无参数的归一化和特征级数据增强方法,而WIN-WIN是一个在WIN基础上进一步通过自我蒸馏提高模型泛化能力的方法。
子问题1: 医学图像数据稀缺和异质性导致的分布外泛化问题
上图(a)展示了批归一化(BN),(b)展示了实例归一化(IN)。
而©展示了所提出的窗口归一化(WIN)。
立方体中的蓝色方块表示聚合计算均值和方差以进行归一化的像素。
子图(d)是WIN-WIN方法的示意图,演示了它如何在训练期间应用WIN技术,并在评估期间切换到全局统计。
上图是窗口采样的算法描述,用于数据增强。
算法通过重复选择一个随机大小和位置的窗口,直到其面积超过了特定阈值τ(窗口大小)。
选择局部区域:窗口采样算法定义了如何在图像或特征映射上选择局部区域。这通常涉及到随机选择一个窗口的大小和位置,以便在该窗口内计算统计量。
计算局部统计量:在所选的窗口内,计算像素或特征值的局部平均值和方差。
数据增强:通过使用不同窗口的局部统计量进行标准化,模型能够学习到更加泛化的特征表示,从而提高对新见(未在训练集中出现)数据的泛化能力。
这个过程对于实现窗口归一化(WIN)来说是关键,它使得在特征空间内可以对特征进行局部化的归一化处理。
山兔是,在CIFAR-10-C数据集上,使用不同归一化方法(BN、IN、WIN)得到的t-SNE特征可视化图。
子问题2: 现有归一化技术在医学图像分布外泛化上的不足
子问题3: 数据增强方法在医学图像分别外泛化上的限制
这个研究提出的解决方案,聚焦于通过窗口归一化(WIN)和 WIN-WIN 自我蒸馏方法,解决医学图像数据在分布外场景下泛化能力不足的问题,通过特征级别数据增强和无参数归一化技术,简化模型设计的同时提高泛化性能。
不过新方法,也会遇到新问题:
子问题1: 在一致性背景下模型性能下降
传统方法:
考虑用于细胞分类的医学图像集,这些图像可能都有相似的背景,但细胞类型各不相同。
如果使用传统的归一化技术,如批归一化(BN),它可能会将背景的一致性误认为是一个有用的特征,而不是专注于细胞本身的变异性。
当模型遇到具有不同背景特征的新图像时,其性能可能会下降,因为模型已经适应了训练集中背景的统计特征。
Block策略:
使用Block策略,我们可以将每个图像分成多个块,然后在这些块的基础上独立计算局部统计信息。
在细胞分类的例子中,这意味着即使背景相同,模型也可以通过专注于每个块中细胞的特征来提高其区分不同细胞类型的能力。
这种方法提高了模型对背景变化的鲁棒性,因此在新的图像集上表现更好,即使这些新图像的背景与训练数据不同。
子问题2: 训练和评估统计不一致导致的泛化能力下降
子问题3: 如何选择WIN中的统计量µ和σ以提升分布外泛化能力?
在心脏病变检测的任务中,训练数据可能主要来自一个地区的患者,这些患者的图像具有相似的成像特征。
传统方法可能会仅使用这些图像的全局统计量进行归一化处理,导致模型对于具有不同成像特征的其他地区患者的心脏图像泛化能力不足。
而WIN方法则会混合使用全局统计量和每个患者图像局部区域的统计量(例如,心脏特定区域的亮度和对比度),这样的混合策略能够让模型在遇到分布外的数据时,仍能准确识别病变。
子问题4: WIN中的不同局部统计计算方法对模型性能的影响
假设一个用于皮肤病诊断的模型,传统方法可能会在全图像上计算统计量,而忽略了皮肤病征兆通常只出现在皮肤的小部分区域这一点。
相比之下,WIN方法使用窗口和块策略,专注于这些小区域内的统计量,使得模型能够更加精细地捕捉皮肤病变的特征,即使在病变特征在图像中占比非常小的情况下也能有效工作。
子问题5: 训练和评估不一致导致模型性能下降
设想一个在多个医院间部署的肺部CT扫描分类模型,这些医院使用不同的扫描设备。
传统方法可能会导致模型在面对一个新医院的扫描图像时性能下降。
传统方法:
由于设备差异,图像的分布可能有所不同。
如果在训练和评估时仅依赖于全局统计信息,如实例归一化(IN),模型可能无法很好地泛化到新数据集。
WIN-WIN 自我蒸馏:
在WIN-WIN方法中,模型在训练过程中使用两种归一化策略:
这使得模型在实际部署时,能够更好地适应新医院的数据分布,因为它已经学会了如何处理来自不同统计分布的数据。
子问题6: WIN和WIN-WIN策略的超参数敏感性
通过细粒度地探索统计量的选择、局部统计的计算方法以及WIN-WIN中的关键机制,研究人员能够明显提高模型对分布外数据的泛化能力。
同时,通过超参数的敏感性分析,确定了影响模型性能的关键因素,为进一步优化提供了方向。
比如,在对磁共振成像(MRI)进行肿瘤分割的任务中,训练数据集的大小可能会影响模型学习的统计特性。
传统方法可能会在固定的超参数设置下运行,而不考虑不同大小数据集的特性。
而WIN方法通过调整窗口比例阈值τ,能够根据数据集的特点优化性能,例如,小数据集可能需要更大的窗口来捕捉足够的上下文信息,而大数据集则可能需要较小的窗口以避免过拟合。