[医学多模态融合] 医学图像 + 文本数据 多模态模型发展及预训练模型应用

0. 前言

对于医学领域相关深度学习模型的发展,与其他领域相比,存在以下困难:

  • 手工标记数据集的规模往往较小。一方面,因为医学图像的拍摄成本和病人数据的隐私性,数据中病人数量常不是很多。另一方面,医学数据需要医生生成高质量的标签,不仅需要大量人力成本,还容易受到医生主观判断的影响。
  • 医学数据处理任务如果使用从 ImageNet 预训练的模型,由于图像特征差异较大,从而对模型的表现造成影响。
  • 因为医疗系统里存在很多文本图像对,目前提出的一种解决方法是从与医疗配对的文本报告数据中提取基于规则的标签信息。但是一方面提取规则通常不好用,有时候很难提取出某些标签。而且另一方面因为每个医生的写作方式不同,这种规则也很难跨医院进行使用。

本文关注于三篇连接文本和图像的对比学习模型,从而打造可迁移的视觉模型,在下游微调任务及零样本分类任务上应用表现良好。

1. 图像+数据 多模态模型的发展

  1. [2020] Contrastive Learning of Medical Visual Representations from Paired Images and Text
    学习医学图像(例如 X 射线)的视觉表示是医学图像理解的核心,但其进展因人类注释的缺乏而受到阻碍。现有的工作通常依赖于从 ImageNet 预训练传输的微调权重,由于图像特征截然不同,这并不是最优的;或者从与医学图像配对的文本报告数据中进行基于规则的标签提取,这是不准确且难以泛化的。与此同时,最近的几项研究显示了从自然图像中进行无监督对比学习的令人兴奋的结果,但我们发现这些方法对医学图像帮助不大,因为它们的类间相似性很高。我们提出了 ConVIRT,这是一种替代的无监督策略,通过利用自然发生的配对描述性文本来学习医学视觉表示。我们通过两种模式之间的双向对比目标使用配对文本数据对医学图像编码器进行预训练的新方法与领域无关,并且不需要额外的专家输入。我们通过将预训练权重转移到 4 个医学图像分类任务和 2 个零样本检索任务来测试 ConVIRT,并表明它导致图像表示在大多数设置中远远优于强基线。值得注意的是,在所有 4 个分类任务中,我们的方法仅需要 ImageNet 初始化对应方法的 10% 的标记训练数据,即可实现更好或可比的性能,展现出卓越的数据效率。
    代码:ConVIRT-pytorch
  2. [2021] Learning Transferable Visual Models From Natural Language Supervision
    最先进的计算机视觉系统经过训练可以预测一组固定的预定对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为需要额外的标记数据来指定任何其他视觉概念。直接从原始文本中学习图像是一种很有前途的替代方案,它利用了更广泛的监督来源。我们证明,预测哪个标题与哪个图像对应的简单预训练任务是一种高效且可扩展的方法,可以在从互联网收集的 4 亿对(图像、文本)数据集上从头开始学习 SOTA 图像表示。预训练后,使用自然语言来引用学习的视觉概念(或描述新的视觉概念),从而实现模型零样本传输到下游任务。我们通过对 30 多个不同的现有计算机视觉数据集进行基准测试来研究这种方法的性能,涵盖 OCR、视频中的动作识别、地理定位和多种类型的细粒度对象分类等任务。该模型可以轻松地迁移到大多数任务,并且通常可以与完全监督的基线竞争,而无需任何数据集特定的训练。例如,我们在 ImageNet 零样本上匹配原始 ResNet-50 的准确性,而无需使用其所训练的 128 万个训练样本中的任何一个。
    代码:CLIP
  3. [2023] A visual–language foundation model for pathology image analysis using medical Twitter
    缺乏带注释的公开医学图像是计算研究和教育创新的主要障碍。与此同时,临床医生在医疗推特等公共论坛上分享了许多去识别化的图像和大量知识。在这里,我们利用这些人群平台来管理 OpenPath,这是一个包含 208,414 张病理图像并配有自然语言描述的大型数据集。我们通过开发病理语言图像预训练 (PLIP) 来展示该资源的价值,PLIP 是一种具有图像和文本理解能力的多模式人工智能,在 OpenPath 上进行训练。PLIP 在跨四个外部数据集对新病理图像进行分类方面实现了最先进的性能:对于零样本分类,PLIP 实现了 0.565–0.832 的 F1 分数,而之前的对比语言图像预训练模型的 F1 分数为 0.030–0.481 。与使用其他监督模型嵌入相比,在 PLIP 嵌入之上训练简单的监督分类器也可以将 F1 分数提高 2.5%。此外,PLIP使用户能够通过图像或自然语言搜索来检索相似的案例,极大地促进了知识共享。我们的方法表明,公开共享的医疗信息是一种巨大的资源,可以用来开发医疗人工智能,以增强诊断、知识共享和教育。
    代码:Pathology Language and Image Pre-Training (PLIP)

简单来说,三者的关系如下:

  • ConVIRT是CLIP之前的一篇工作,但可能由于医学影像这边数据太少,所以没有像CLIP一炮而红。
  • CLIP是OpenAI的第一篇多模态预训练的算法,它延续了GPT系列“大力出奇迹”的传统。模型是一个基于图像和文本并行的多模态模型,然后通过两个分支的特征向量的相似度计算来构建训练目标。从本质上来讲,CLIP其实并没有太大的创新,它只是将ConVIRT方法进行简化,并采用更大规模的文本-图像对数据集来训练。
  • PLIP模型是CLIP在医学应用上的微调,在各种医学任务上的表现更好。

下面会对这三篇文章进行分析,从模型设计,数据集及训练,应用及表现三个方向上进行介绍。

参考资料,侵权必删:

  1. ConVIRT论文详解(医疗图片)
  2. CLIP论文详解
  3. [论文笔记]ConVIRT: Contrastive Learning of Medical Visual Representations from Paired Images and Text
  4. 神器CLIP:连接文本和图像,打造可迁移的视觉模型
  5. Nat Med | 斯坦福医学院利用医疗 Twitter 进行病理图像大模型分析

2. ConVIRT

作者提出了一种无监督的方法ConVIRT,用于从自然配对的图像和文本中学习医学视觉表示。其方法依赖于通过两种模态之间的双向目标,将图像表示与配对的文本表示进行对比。ConVIRT在4个医学图像分类任务和2个图像检索任务上的性能优于其他方法,并且得到了更高质量的表示。与有监督的ImageNet预训练模型相比,ConVIRT能够在标记数据少一个数量级的情况下达到相同水平的分类精度。

2.1 模型设计

图片alt

ConVIRT框架的概述。蓝色和绿色分别表示图像和文本编码流程。我们的方法依赖于最大化具有双向损失的图像-文本表示对之间的一致性。
  • 一张图片先做随机裁剪,再接一个数据增强,然后进入Image Encoder(ResNet50),最后接一个MLP得到512维的特征表示;
  • 与这张图片配对的一段话,随机采样其中一部分(几句话,或者不完整的几句),然后进入text Encoder(Bert),最后接一个MLP得到512维的特征表示;
  • 训练目标是让两路的representation尽可能得一致(对偶地最大化表征的agreement),其中gv和gu函数是一个non-linear得projection head,负责分别将图像和文本表征投影到一个shared的空间,从而计算距离。
  • 因为一个batch中有N个图片文本对,所以可以理解为有N-1个负例,只有一个正例,然后分别对图片和文本计算infoNCE loss;

在这里插入图片描述

2.2 数据集及训练

  • 公共 MIMIC-CXR 数据库的第 2 版,这是一组胸部 X 光片图像与其文本报告配对,并且由于它的发布已成为研究医学图像多模态建模的标准资源。预处理后,该数据集共包含约 217k 图像-文本对,每对平均包含 1.7 张图片和 6.0 个句子;
  • 骨骼图像:从罗德岛医院系统获得一组肌肉骨骼图像-文本对。 继胸部图像之后,肌肉骨骼图像构成典型医院中第二常见的放射线图像类型。 该数据集总共包含 48k 图像-文本对,每对平均包含 2.5 个图像和 8.0 个句子。

2.3 应用及表现

作者进行了分类任务Zero-shot任务的测试。

2.3.1 分类任务

作者了四个下游分类任务场景,并使用不同比例(1%,10%,all)的任务数据集对模型进行调整(两种方式: linear probe只训练最后的分类层,fine-tuning)。

  1. RSNA Pneumonia Detection: 是否肺炎的二分类任务;
  2. CheXpert image classification: 对肺部的多标签分类任务;
  3. COVIDx image classificatio: 是否新冠肺炎,普通肺炎,正常的三分类任务;
  4. MURA bony abnormality detection: 判断骨骼肌肉是否正常的二分类任务;

从上到下依次是:

  • 随机初始化;
  • ResNet50在ImageNet上预训练的;
  • Caption-LSTM是看图说话的一个网络;
  • Caption-Transformer与上一个一样,但是用Transformer取代了LSTM(是COCO image captioning -benchmar);
  • Contrastive-Binary也是对比学习的一个网络,就是将一组配对输入,判断其是否属于一对,来当作预训练任务;
    在这里插入图片描述

2.3.2 Zero-shot任务

像CLIP一样,多模态最强的还是Zero-shot,不需要微调,通过图片的提示进行分类. 作者测试了两种Zero-shot任务.

  • Image-Image: 将所有图片传入Image-Encoder,与所有求相似,聚为一堆;(一张图片做query去与其他所有图片求相似度,就是对比学习特征空间的相似度问题) 还是CheXpert数据集,但这个数据集不是一个多标签分类任务嘛,作者将只有一个标签的那些图片抽出来当作query(经过专家处理筛选之后,每个类别留了10张);用这些query去与其他求相似度,得到结果,如果那个图片也有query这个标签就是正例,否则就是负例;
  • Text-image: 叫专家写了CheXpert中每个标签的症状(写了5份),然后进入text Encoder,与所有进入Image-Encoder的特征求相似(当然这些特征都要过MLP层);判别正负例的方法与上面的一样;

在这里插入图片描述

3. CLIP

CLIP的英文全称是Contrastive Language-Image Pre-training,即一种基于对比文本-图像对的预训练方法或者模型。CLIP是一种基于对比学习的多模态模型,与CV中的一些对比学习方法如moco和simclr不同的是,CLIP的训练数据是文本-图像对:一张图像和它对应的文本描述,这里希望通过对比学习,模型能够学习到文本-图像对的匹配关系。为了训练这个模型,OpenAI采集了超过4亿的图像-文本对。CLIP在诸多多模态任务上取得了非常好的效果,例如图像检索,地理定位,视频动作识别等等,而且在很多任务上仅仅通过无监督学习就可以得到和主流的有监督算法接近的效果。CLIP的思想非常简单,但它仅仅通过如此简单的算法也达到了非常好的效果,这也证明了多模态模型强大的发展潜力。

3.1 模型设计

CLIP的核心思想是将图像和文本映射到同一个特征空间。这个特征空间是一个抽象的概念,例如当我们看到一条狗的图片的时候,我们心中想的是狗,当我们读到狗的时候我们想的也是狗,那么我们心中想象的狗,便是“特征空间”。

所以CLIP也是由两个编码器组成,如图所示:

  • 图像编码器Image Encoder:用于将图像映射到特征空间,可以采用常用CNN模型或者vision transformer。
  • 文本编码器Text Encoder:用于将文本映射到相同的特征空间,可以采用NLP中常用的text transformer模型。
    在这里插入图片描述
    在模型训练过程中,我们取到的每个batch由 N   N\, N (文中 N   N\, N =32768)个图像-文本对组成。这 N   N\, N个图像送入到图像编码器中会得到 N   N\, N个图像特征向量 ( I 1 ,   I 2 , ⋅ ⋅ ⋅ , I N ) ({I}_{1},\, {I}_{2},\cdot \cdot \cdot ,{I}_{N}) (I1,I2
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值