0 引言
医学图像分析(medical image analysis)是医学研究、临床疾病诊断和治疗中一个极其重要的手段,医生往往会通过超声影像、CT 等图像对患者的患病部位进行诊断分析。近年来,深度学习(deep learning)凭借其自动提取特征的特点快速发展成为医学图像分析领域的研究热点。基于深度学习的医学图像分析系统已经广泛应用于眼部疾病、良恶性肿瘤、心脑血管疾病等重大疾病的早期预测、筛查、辅助诊断、病灶区域检测分割等方面,部分研究甚至超过了医学专家的水平,这不仅大大减少了医生的工作量,提高了患者的诊疗效率,更降低了漏诊、误诊率。
然而,使用深度学习会面临数据依赖的严峻问题,需要大规模带标签训练数据来提高模型泛化能力,而医学图像数据的收集复杂且昂贵,难以构建大规模、高质量的标注数据集。当前绝大多数医学影像分析系统使用基于监督学习(supervised learning)的迁移学习(transfer learning)技术来解决上述问题,这也是这些研究成功的关键。
基于监督学习的迁移学习中,深度学习模型的训练可分为两个阶段,一是预训练,在大型高质量标记的数据集上进行监督训练(如 ImageNet 数据集);二是微调,继承预训练阶段的模型权重,在目标数据集上进行监督训练,其流程如图 1 所示。由 2 万多个种类的 1 500 万张图片所组成的ImageNet 数据集,是目前预训练阶段使用最广泛的数据集。模型可以在预训练阶段从超大规模的训练数据中学习到较为通用的图像视觉表示,从而减少模型在目标任务上的学习负担,提升模型的最终性能。也正凭借其数据量的巨大优势,ImageNet 监督预训练结合目标数据集微调成为了医学图像分析领域上的主流方法。
以往不少研究表明,在一些数据匮乏的目标任务上,使用 ImageNet 监督预训练方法能提升模型的准确性、鲁棒性。但最近有研究表明在一些与自然图像任务差异较大的医学影像任务上使用此方法与从头训练的效果并无明显差异,这表明 ImageNet 监督预训练方法在医学影像相关任务上并不是最优选择,还需结合医学图像的特点、性质进行预训练方法的深入研究。
图 1 基于监督学习的迁移学习流程图
1 存在的问题与挑战
ImageNet 监督预训练方法凭借良好的视觉表示提取能力,成为了当前医学图像分析领域的范式。但这种方法在实际应用上存在一些问题,首先,自然图像与医学图像之间存在明显的领域结构化差异,主要体现在噪声分布、图像特征和数据分布等方面。
(1)噪声分布。自然图像的成像方式为自然光成像,其光场可视为均匀分布,所以自然图像的噪声为均匀分布,可近似看作高斯噪声。而医学图像的成像方式主要包括放射成像、磁共振成像和超声成像。由于光谱单一、探测手段等因素影响,医学图像的噪声分布不均匀,通常近似为泊松噪声。噪声分布不同会影响 ImageNet 监督预训练模型,在医学图像任务上的迁移表现。
(2)图像特性。不同于自然图像,医学图像大多数为灰度图,导致预训练阶段模型学习的颜色不变性失去作用,甚至导致性能变差。此外,自然图像中的小物体是由于景深导致物体边缘模糊,形状变小;而医学图像并不存在景深概念,小病灶的检测诊断与自然图像的小物体识别不同。自然图像小物体识别是通过物体形状、边缘纹理等自身特征确定物体的,与背景信息无关;而小病灶的检测诊断通常是根据病灶区域的特征与周围区域有明显差异来确定的,通常需要全局信息综合判断。这可能导致预训练阶段模型掌握的小物体识别能力,在医学影像小病灶相关任务上起负作用。
(3)数据分布。ImageNet 数据集是经过许多研究者精心制作的,其中每个种类均包含了不少样例,数据分布较为均匀。而医学影像数据集中存在了严重的长短尾分布,即有较多正常及轻微病症的医学图像,危重、罕有病症的医学图像极少。因此ImageNet 迁移模型能否解决上述问题存疑。
其次,ImageNet 监督预训练方法需要大规模的标注数据集。在医学领域,对医疗图像进行高精度标注费时且成本昂贵,这也使深度学习在医疗影像分析的应用往往成为小样本问题。除了以上几点,医学图像还会出现关键信息占比小的问题。ImageNet 数据集中的样例通常位于图像中央位置且在图像上面积占比较大。然而,医学影像关键信息通常在细节中,如乳腺肿瘤超声图像是否存在肿瘤为关键信息,而通常肿瘤病灶信息占超声影像的面积不足 10%,甚至更低,导致医学图像的信噪比通常较低。
综上所述,自然图像(主要以 ImageNet 数据集为例)与医学图像之间差异,以及以往研究实验结果表明,ImageNet 监督预训练模型并不是医学图像任务的最佳选择,如何寻找一个更优的预训练模型是一个巨大的挑战,也是一个值得探索的问题。
为了避免因自然图像与医学图像存在的差异导致的模型性能下降,直观的想法是在预训练阶段采用同域的医学图像数据集。目前存在了较多的无标注医学图像,使用自监督学习在未标注医学图像上进行预训练是解决上述问题的一个办法。自监督学习通过对无标签数据的学习,对同一结构的医疗图像特征进行学习,应用于下游任务,这种方法能在一定程度上克服医疗领域的小样本问题。虽然已有研究者进行医学图像自监督的探索,但研究实验结果不尽如人意,在较多任务上性能不如使用ImageNet 监督预训练模型,如何构建一个超越当前范式的自监督预训练模型是一个巨大挑战。
近些年,在自然图像领域中出现了一种极具潜力的自监督方式——对比学习。其主要任务是从数据集中自动构建正样本对(相似实例)及负样本对(不相似实例),从中学习一个表示学习模型,即正样本对的表示尽可能接近,负样本对的表示尽可能拉远。目前出现了许多的对比学习方法,经过统计使用最广泛、性能稳定、泛化性能较强的方法可划分为基于大量负样本对的对比学习方法及基于不对称网络结构的方法。它们虽然在不少目标任务上的效果均超过了有监督模型,是构建新型医学图像自监督预训练模型的曙光;但还无法回答在医学图像分析中应挑选何种类型的对比学习方法、如何对其进行改进、性能是否能超越 ImageNet 监督预训练方法等一系列问题,需要结合医学图像的特点进行深入的研究与实验。
2 医学影像自监督预训练模型研究和探索
2.1 医学影像自监督预训练模型基础框架
在自然图像领域中,基于大量负样本对的对比学习方法与基于不对称网络结构的方法已在多个下游任务中取得良好的性能,尤其在有标签样本稀缺情况下。为了利用大量无标签医疗图像构建在同种结构医疗图像上具有强大通用性与扩展性的预训练模型,将借鉴上述先进方法进行医学影像自监督预训练模型的设计,只需要少量的标签医疗数据就能获得良好的性能,且具有强大泛化能力,同时还克服了标注医疗图像严重的长短尾分布问题。在已有成果上,我们团队结合医学图像的特点研究适用于医学影像的自监督预训练模型基础框架。以下是主流自监督方法的简介。
• 基于大量负样本对的对比学习方法。此方法以SimCLR 为代表,该模型结构奠定了许多后续改进模型的基础框架。首先进行正、负样本对的构建。对于一个样本数据,数据设置的数据增强集合 T 中抽取 t1~T 及 t2~T 两个数据增强方式,分别作用于样本数据中,得到一对正样本。在训练时,同一批次内的其他样本数据均为 x1 或 x2 的负样本。其中数据增强的合理设计对对比学习最终效果提升明显。接着进行表示学习系统的构建,使得正样本对经过系统得到的表示距离比较近,负样本对的表示则比较远,表示学习系统的具体结构如图 2 所示,由四个部分组成。
图 2 SimCLR 网络结构图
(1)随机数据增强。将任意给定的数据样本实例随机变换,产生同一个样本实例的两个相关视图。
(2)编码器。从图像增强视图中提取表示向量,上下分支分别生成 hi 、hk, 通常采用 ResNet 作为编码器。
(3)映射头(prejector head)。将 编 码 器得到的表示向量映射到应用对比损失函数的空间中, 其 中 映 射 头 由 两 层 多 层 感 知 器(Multilayer Perceptron,MLP)构成,生成 zi 、zk。
(4)对比损失函数。采用归一化温度尺度交叉熵损失(NT-Xent)。
• 基于不对称网络结构的方法。上述基于负样本对的方法中,负样本对的存在是保证模型不崩塌的关键。而在基于不对称网络结构的方法中,只使用正例而不使用负例来训练对比模型,并且取得了较好的性能。此方法以 BYOL 模型为代表,其模型结构与 SimCLR 较为相似,具体网络结构如图 3 所示。
图 3 BYOL 网络结构图
BYOL 有上下两个分支,上分支称为在线网络;下分支称为目标网络,目标网络的参数采用动量更新策略 (momentum update) 进行更新。整体网络结构是在 SimCLR 基础上在在线网络的映射头后新增了一个预测头,此预测头由两层 MLP 组成。由于BYOL 抛弃了负样本对,因此优化目标将变成经上分支得到的特征与下分支的特征尽可能接近,BYOL会交换两批增强图像 , 分别生成 Laug1、Laug2。最终的损失函数为:
将上述两类方法直接应用于医学影像分析中并不合适。首先,这两类方法都存在一定的局限性。
(1)上述两类方法都为自然图像所设计,其中数据增强模块及编码器的选择是根据自然图像上的表现进行挑选,直接应用于医学影像并不一定为最优选择。
(2)上述两类方法均属于实例判别,仅利用底层编码就可区分不同的实例,因此网络不一定学习到了有用的语义信息。
(3)基于大量负样本对的对比学习方法会将来自同一个类、同一病人的图像视为不同的实例,它们的表示会被推开。这样可能导致具有相似语义的图像的表示并不相似。
(4)基于大量负样本对的对比学习方法需要足够大的内存库或较大的批尺寸(batch size)来保证模型最终性能,导致需要极大的计算开销、内存开销。基于上述的分析,我们首先搭建了一个不对称的孪生神经网络作为医学影像自监督预训练模型基础框架,接着根据还存在的不足缺陷进行相应的改进优化。
2.2 医学影像自监督预训练模型优化
2.2.1 数据增强模块重组
数据增强挑选对于自监督预训练模型的性能至关重要,然而在医学影像分析领域中常的做法是简单的沿用在自然图像领域取得效果的一些数据增强方式组合。由于医学影像与自然图像有根本的不同,这种选择不是最优选择。以全身超声影像为例,① 疾病分类可能依赖于少数像素中的异常;② 超声影像的图像结构不同于自然图像,因为大多数超声影像为灰度图像,不同图像有相似的空间结构。这些差异会导致适用于自然图像的数据增强方式并不适用于超声影像,如高斯模糊可能会改变超声影像的疾病标签,或使其无法区分疾病。此外,颜色抖动及灰度化操作则对灰度的超声影像的增强无意义。不恰当的数据增强方式不仅无法提升模型的性能,甚至可能导致模型性能下降。
因此,我们根据超声影像的特点及以往研究的经验,进行数据增强方式的组合尝试。分别在超声乳腺数据集、光学相干断层扫描血管造影(OCTA)影像数据集上进行自监督预训练,在预训练完成后在同域数据集与异域数据集上测试不同组合方式的性能。最终根据实验结果得到随机裁剪、水平翻转及 multi-crop 的数据增强组合能获得较好性能,而使用高斯模糊与颜色抖动则会引起模型性能的下降,一些数据增强方式如灰度化、Mixup 对模型性能影响不大。
2.2.2 结合病人元数据
初步搭建的医学影像自监督预训练模型的任务是让同一医学影像图片的两个增强视图经过两个不对称分支得到的表征尽可能接近,但这样的设计会导致来自同一病人图片的共有语义信息丢失,因此希望通过结合病人的元数据来解决这一问题。
我们尝试在基础框架上添加一个监督分支,提升模型对于同一病人图片之间的内在语义信息提取,从而提升模型的泛化能力。此监督分支由两层 MLP组成,并且采用交叉熵损失函数来更新这一监督分支,整体模型的损失函数由自监督损失函数与分类分支损失函数共同组成。整体网络结构,如图 4 所示。通过实验证明,添加这一分类分支能有效提升预训练模型提取特征的语义性与泛化能力。
图 4 医学影像自监督预训练模型结构图
3 结束语
如今深度学习在医学影像分析领域,ImageNet监督预训练结合目标数据集微调已经成为了主流方法。然而,由于自然图像与医学图像之间明显的领域结构化差异,在不少医学任务中当前范式并不能取得理想的性能。因此,我们针对存在问题,并结合医学影像的特点提出了医学影像自监督预训练模型,不仅能充分利用大量无标注的图像蕴含的语义信息,同时消除了自然图像与医学图像差异太大导致迁移学习性能不佳的问题。
当前自监督预训练模型的研究主要集中于自然图像,在医学影像分析领域受到的关注较小。不少研究直接将在自然图像上性能良好的自监督预训练模型应用在医学影像上,这种做法存在局限性,并非最优选择。因此,我们针对医学影像进行自监督预训练模型优化改进,以及当前最先进的自监督方法存在的局限性,对数据增强模块进行重新组合,并结合病人元数据的改进思路,最终提出了医学影像自监督预训练模型。与当前的主流方法相比,在多个医学影像任务上的实验,结果证明我们设计的方法不仅能更好地提取医学影像的语义特征,并且模型具有更好的泛化性能。因为医学影像自监督预训练模型训练不需要任何形式的类标签注释,因此能很好地扩展到医学影像的各种任务。
在未来充满潜力的医学影像自监督预训练模型,将极有可能取代传统的 ImageNet 监督预训练模型,成为医学影像分析的主流方法。但目前医学影像自监督预训练模型的探索仍处于早期阶段,存在不足之处,需要后续探索不断进行优化。未来的主要挑战之一是针对不同医学影像的特点,进行针对性数据增强方式组合的设计,探索自监督模型中更适用于医学影像的高效编码器,以及微调策略的探索,以此构建一个通用的医学影像自监督预训练模型。
(参考文献略)