自监督用于医学图像分类
试着去看了另一个课题自监督分类的参考文献
Big Self-Supervised Models Advance Medical Image Classifications
通过这个文献对自监督总算有概念了
介绍
自监督在图像处理方面效果显著。
介绍了一种新颖的多实例对比学习(MICLe),使用每个患者病例的潜在病理的多个图像,为我监督学习构建更多正对信息。
此外作者发现大型自监督模型对分布偏移具有鲁棒性,并且可以使用少量标记的医学图像进行有效学习。
注释医学图像既费时又费钱,所以医学图像数据通常十分有限,如何用有限的数据进行机器学习是医疗AI方面必须要面对的一个问题。
从有限标记数据中学习的两种常见预训练方法是:
- (1)对大型标记数据集(如 ImageNet)进行有监督预训练
- (2)在未标记的数据上使用对比学习的自监督预训练
在预训练之后,对感兴趣的目标标记数据集进行监督微调。
作者对比了自监督训练和监督训练在以下两个数据集上的表现:
(1) 来自数码相机图像的皮肤科皮肤状况分类
(2) 基于 CheXpert 数据集的五种病理学中的多标签胸部 X 射线分类
结论是自监督明显比监督训练好很多。
自监督方法通过利用医学数据进行预训练来弥补医学图像和其他图像的领域差距,因为它们不需要任何形式的类标签注释。
自监督学习框架的一个重要组成部分是有效的多实例对比学习 (MICLe) 策略,它有助于使对比学习适应每个患者病例的潜在病理学的多个图像。
此类多实例数据通常可用于医学成像数据集——例如,乳房 X 光照片的正面和侧面视图、每只眼睛的视网膜眼底图像等。
给固定患者病例的多个增强图像,我们建议构建一个用于自监督对比的正对学习。
从同一患者病例的两个不同图像中绘制两个病例。这些图像可以从不同的视角拍摄,并显示具有相同潜在病理的不同身体部位。这为自监督学习算法直接学习对视点、成像条件和其他混杂因素的变化具有鲁棒性的表示提供了一个很好的机会。
MICLe 不需要类标签信息,只依赖于不同的图像潜在的病理。
论文观点:
- 自监督预训练对医学图像分类真的好用。作者发现对未标记医学图像的自监督预训练显着优于标准 ImageNet 预训练和随机初始化。
- 且自监督学习的平均 AUC 比在 ImageNet 上预训练的强监督基线高 1.1%
- 多实例对比学习 (MI-CLe) 也好用,大力推广!作者发现 MICLe 能提高自监督模型的性能,yielding state-of-the-art results。
迁移学习
将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。(废物利用)
冻结预训练模型的全部卷积层,只训练自己定制的全连接层。
自监督学习
通过 Pretrain-Fintune 的模式,即预训练后进行微调。
和半监督的区别在于,自监督用的数据不用标注,是算法在大规模无监督数据中自动构造的标注信号。
用先验方式等将无标签的数据,强化成有标签的数据。
首先从大量的无标签数据中通过 pretext 来训练网络(自动在数据中构造监督信息),得到预训练的模型,然后对于新的下游任务,和监督学习一样,迁移学习到的参数后微调即可。所以自监督学习的能力主要由下游任务的性能来体现。
自监督学习的方法主要可以分为 3 类:
- 基于上下文(Context based):基于数据本身的上下文信息
- 基于时序(Temporal Based):关于视频
- 基于对比(Contrastive Based):它通过学习对两个事物的相似或不相似进行编码来构建表征
多实例对比学习就是基于时间变化产生的多个视图,且该策略的好处是可以与当今最先进的自监督模型SimCLR结合使用
如果按照有人为标注的监督信号是有监督,那么自监督划分到无监督范围。如果按照有监督信号是有监督,那么自监督划分到有监督范围。
自监督预训练方法
核心思路是以下三步:
- 首先,我们使用对比学习对未标记的图像进行自我监督的预训练来学习视觉表示对于对比学习,我们使用未标记的ImageNet 数据集和特定任务的医学图像的组合。
- 然后,如果每个医疗状况的多个图像可用,则多实例对比学习 (MICLe) 用于额外的自我监督预训练。
- 最后,我们对标记的医学图像进行监督微调。
SimCLR 通过学习最大化同一数据示例,和不同增强视图之间的一致性,通过神经网络的隐藏去表示对比损失。
多实例对比学习
在医学图像分析中,通常使用每个患者的多个图像来提高分类准确性和鲁棒性。
这些图像可以从不同的视角或在不同的光照条件下拍摄,为医学诊断提供补充信息。不仅对同一图像的不同增强,而且对同一医学病理的不同图像。
因此,通过从同一患者的图像中提取两个增强视图物来构建正对图像,可以进行多实例对比学习 (MICLe) ,下图是其算法的伪代码:
实验
数据
作者用了两种的医学成像任务。
- 第一项任务是在皮肤病学领域,涉及从数码相机图像识别皮肤状况。
数据来自于美国,其中包含使数码相机拍摄的皮肤状况图像。
这些图像本质上是异质的,并且在姿势、光照、模糊和身体部位方面表现出显着的区别。
背景还包含各种噪声伪影,如衣服和墙壁。真实标签是由几位获得美国委员会认证的皮肤科医生组成的小组汇总的,他们对每种情况提供了皮肤状况的鉴别诊断。 - 第二个任务涉及在五种病理中对胸部 X 射线进行多标签分类。
CheXpert 是有名的开源数据集,包含去识别化胸片 (X 射线) 图像。
选择这些任务是因为它们体现了医学成像任务的许多共同特征,例如不平衡的数据和仅限于局部小块的感兴趣的病理。
同时,它们在图像类型、标签空间和任务设置方面也非常多样化。例如,皮肤科图像在视觉上与自然图像相似,而胸部 X 射线是灰度级的并且具有标准化视图。真实标签地是从放射学报告中自动提取的。
Pretraining
在数据集CheXpert上最好的模型batch size是1024,学习率是0.5,进行了100,000 epochs。
但是因为CheXpert数据集没有多个视图,所以仅在皮肤数据上用了多视图对比学习,用了SimCLR初始化模型。由于内存限制(每个患者病例最多堆叠 6 张图像),作者使用较小的batch size 128 和 0.1 的学习率进行 100,000 epochs。
在所有的预训练实验中,图像都被调整为 224×224。我们根据预训练的批量大小使用 16 到 64 个 Cloud TPU 内核。使用 64 个 TPU 核心,预训练一个 ResNet-50 (1×) 和 100 个 epoch 需要大约 12 小时,批量大小为 512。
Fine-tuning
对于微调期间的数据增广,对两个任务中的图像进行了随机颜色增强、调整大小、模糊、旋转和翻转的裁剪。
作者观察到增强对于在微调期间实现最佳性能至关重要。
作者将 皮肤图像调整为 448×448 像素,将 CheXpert 图像调整为 224×224
结论
搞了一堆对比实验证明自家的多实例对比学习方法nb
词汇
Multi-Instance Con-trastive Learning (MICLe) 多实例对比学习
positive pairs 正对