医学图像中Transformer可以取代CNN了吗?
- Abstract
- Section II Related Work
- Section III Methods
- Section IV Experiments
- Are random initialized transformers useful?
- Does pretraining transformers on ImageNet work in the medical domain?
- Do transformers benefit from self-supervised in the medical image domain?
- Section V Discussion
- Section VI Conclusion
from ICCV 2021 Workshop on Computer Vision for Automated Medical Diagnosis (CVAMD)
PaperCode
Abstract
近十年间卷积神经网络已经成为医学图像自动化诊断的主流框架,近期Vision Transformer的性能可以和CNN相媲美,并且其特性被证实可能更适合于医学图像任务。
对于目前是否到了将CNN替换为Transformer的时机这一问题,本文进行了探索,如果是,那么ViT用于医学图像上的优点和缺点分别是什么?本文在三个主流的医学图像数据集上进行了一系列实验,实验结果表明,虽然从头训练时CNN表现优异,但是在ImageNet预训练后的Transformer性能与CNN相当,在使用自监督训练时Transformer则优于CNN。
# Section I Introduction
近期Vision Transformer在图像识别任务中大放异彩,引领着从基于卷积的特征提取器想基于注意力的模型(ViT)进行迁移的潮流。在自然图像识别领域,Transformer在ImageNet,目标检测、语义分割等景点视觉任务上已经超过了CNN,其中的自注意力机制是Transformer的设计核心,使得Transformer具有以下优势:
(1)可以捕获长程依赖关系;
(2)可以自适应的动态计算token之间的关系
;
(3)提供了一种模块内的显著性机制
但是也有研究表明需要在大数据集上训练后Transformer才能超过CNN,对海量数据的依赖限制了Transformer的广泛应用,这一局限在医学图像领域影响更为严重,因为医学图像一般数据集规模更小,标签也更少。
卷积神经网络当数据量不够时,也和Transformer一样表现不佳,标准的解决办法是借助 迁移学习,比如使用在更大数据及上预训练后的结果然后在特定任务上进行微调。通常在ImageNet上预训练后的CNN会优于从头训练的结果。
自监督是一种处理未标记数据的学习方法,研究表明在微调前进行自监督学习可以有效提升性能,一般基于ImageNet进行初始化可以帮助CNN更快收敛,预测性能也更好。
上述技术对于医学图像数据有限的情况已经证明十分有效,但是是否对Transformer有增益目前还不明朗。有的研究显示用于医学图像分析的预训练CNN模型并不依赖于特征复用,更依赖于初始化和weight scaling。
这就引出一个问题,Transformer是否可以利用这些特性,如果这些技巧有用,确实没什么能阻止ViT成为医学图像的主流框架了。
本文探究了是否CNN可以替换为Transformer,这样做是否有好处。
本文从现实应用出发,考虑的是数据集有限计算量也有限的情况,并且考虑的是“即插即用”式的结构。本文在三类主流公开数据集上进行了实验,基于实验结果得到以下分析:
(1)在数据集有限的情况下ImageNet预训练后的ViT性能可与CNN相媲美;
(2)遵循常规训练设置时迁移学习可以进一步提升ViT;
(3)经过自监督预训练并在特定任务进行监督微调后的ViT性能可超过CNN。
以上实验结果预示着医学图像领域可以从CNN无缝过渡到ViT,同时获得更好的可解释性。
Section II Related Work
最初被用于MLP领域的Transformer已应用在诸多视觉任务中,如目标检测、分割等。但应用到医学图像上ViT就存在一定局限,尤其是在做分割时,比如仅有少量工作研究了如何做3D配准或者检测等,并且都不是纯Transformer结构,而是将Transformer或者注意力模块与CNN特征提取器相结合。
医学图像领域CNN通常可以借助迁移学习进一步提升,但这一优点备受争议,因此ViT能否从迁移学习中获益还有待探讨。
近期关于自监督学习也证实可以有效提升无标签数据的学习,目前的SOTA工作是DINO和BYOL,已经可以达到和监督学习相近的性能。在医学图像领域也有诸多基于自监督学习的探索,比如用于胸部X光片个皮肤病检测,但是都没有验证ViT结合无监督学习是否有效,以及这种组合是否优于对应的CNN架构。
Section III Methods
本文探究的主要问题是ViT是否可以作为CN你的替代,因此进行了一系列实验,在相同设定下比较原始的ViT和CNN,CNN选用的是ResNet50,ViT采用的是DeiT-S token数目为16x16 这样选择主要是因为二者参数内存计算量等都比较相近。
前文提到,CNN的初始化在数据量有限时十分重要,标准做法是使用ImageNet预训练后的结果再进行微调,近期自监督的方法则更为流行,
因此本文考虑了三种初始化策略:
(1)随机初始化
(2)迁移学习ImageNet上预训练的结果
(3)自监督预训练
实验在3类公开的医学图像数据集上进行
APTOS 2019—3662张高分辨率的视网膜糖尿病性病变数据集 按疾病严重程度可分为5级
ISIC 2019—25333张不同程度的皮肤病变
CBIS-DDSM—10239张乳房X光图像 主要检测其中的肿块
Section IV Experiments
Are random initialized transformers useful?
随机初始化对Transformer有用吗? Tbable 1展示了随机初始化下ResNet50和DeiT-S的对比,可以看到在这种设定下CNN性能比ViT高出一大截。这与之前在NLP领域的观测结果一直,有限数据集下由于ViT缺乏归纳偏执因此不如CNN。由于大部分医学图像数据集规模适中,因此随机初始化似乎对ViT提升有限。
Does pretraining transformers on ImageNet work in the medical domain?
ImageNet预训练后的Transformer是否对医学图像有效? 医学图像数据集CNN很少使用随机初始化,通常是采用在ImageNet预训练的结果然后在目标域上进行微调。因此本文研究这种方法是否可以有效的用于ViT。从Table 1第二行也可以看出,CNN和ViT均可从ImageNet预训练的结果中显著获益,但事实上ViT并没有获益更多,二者只是表现相当。这表明使用ImageNet预训练时ViT可以替代CNN并且并不影响在医学图像数据集上的性能。
Do transformers benefit from self-supervised in the medical image domain?
自监督是否对Transformer有效?
本文采用DINO4中的自监督学习方案,通过自蒸馏来使得学生和教师网络在输入不同的输入时得到类似的特征表达。先在ImageNet上自监督预训练然后在目标域上进行微调,但与原文有以下3点不同:
(1)学习率设置为0.0001
(2)权重衰减这是为10-5 余弦衰减到10-4
(3)指数滑动平均设置为0.99
预训练300epoches
batch_size = 256
Table 1的结果显示自监督预训练后ViT性能优于CNN,但优势没有自然图像那么大;根据在自然图像上的表现,当数据更多时这一差距会继续扩大。
Section V Discussion
本文在3类医学图像任务上对比ViT与CNN的性能,实验结果证实了之前的结论并提供了一些新的简介。
正如在自然图像领域的表现一样,在较小数据规模下CNN从头训练表现优于ViT,这也符合了“ViT缺乏归纳偏执”这一结论。
当使用预训练后二者的性能差异消失了,CNN受益于预训练时周知的,但ViT也会基于此得到惊人的增益。
据我们所知,本文是第一个确认在ImageNet监督预训练会给ViT带来增益的工作。这也证实了可以通过迁移学习来进一步提升Vit性能。
本文还探究了自监督预训练对医学图像的影响,实验结果显示对CNN和ViT有微小但一致的改进;但是还没有看到向在自然图像和数据量更大情况下使用自监督取得的巨大提升。
鉴于带有详细标注的医学图像数据集比较稀少,因此会有大量未标注的图像,因此使用自监督在这种大型无标注数据集上是可以尝试的。
本文的发现总结如下:
(1)如预期那样,数据集有限的情况下从头训练的ViT性能比CNN差;
(2)通过迁移学习可以弥补ViT到CNN的差距;
(3)基于自监督的预训练结合在特定任务上微调可以获得最佳性能,使得ViT可以优于CNN。
看来ViT可以取代CNN来进行医学图像分析任务,ViT还有其他优势吗?
Transformer中的注意力图是一种天然的展示模型如何进行决策的视图。因为CNN不好进行可视化显著性,常用的解释性方法是激活图(CAM)和Grad-CAM,鉴于池化层的存在只能进行较为粗糙的可视化。
而token展示了更细粒度的注意力,SELF-ATTENTION图展示了图像每一块区域之间的交互关系,而不像CNN局限在感受野之内。
由于二者在可解释性上的差异尚未被量化,但是许多研究已经注意到了如何对可解释性做定性改进。
Fig 1展示了CNN和Transformer在三类数据集上的可视化结果,CNN展示的是Grad-CAM,DeiT展示的是
前50%的注意力,可以看到DeiT可以提供粒度更细致的注意力,聚焦在皮肤边界、视网膜出血区域以及乳腺的募集区域,这种粒度是CNN很难达到的。
Section VI Conclusion
文末回答标题中提出的问题:在医学图像任务中CNN会被ViT取代吗?
确切的说,在小型医学数据及上VIt可以达到与CNN相近的性能水平,但需要结合迁移学习才能做到这一点;
鉴于CNN也广泛采用在ImageNet上预训练的结果,因此这一点迁移到ViT上也并不是很大的提升;
此外,当训练数据有限时使用自监督预训练可以获得比CNN更好的性能,并且随着样本量的增加,CNN与ViT之间的性能差距也会越来越大。
此外ViT还可以提供更细粒度的显著性图谱可以更好的理解模型的决策过程。