【论文阅读】MedCLIP: Contrastive Learning from Unpaired Medical Images and Text

server/2024/12/28 9:43:13/

论文阅读】MedCLIP: Contrastive Learning from Unpaired Medical Images and Text

  • 1.论文背景与动机
  • 2.MedCLIP的贡献
  • 3.提出的方法
  • 4.构建语义相似矩阵的过程
  • 5. 实验
  • 6. 结论与局限性

论文地址: pdf

github地址:项目地址

Zifeng Wang, Zhenbang Wu, Dinesh Agarwal, Jimeng Sun

Accepted by EMNLP’22
在这里插入图片描述

1.论文背景与动机

  • 医学图像与文本对比学习:传统的视觉-文本对比学习(如CLIP)通过匹配配对的图像和文本嵌入来提高表示学习的可转移性,并支持零样本预测,然后,医疗图像-文本数据集远小于互联网上的通用图像和标题
  • 数据不足与假阴性问题:医疗图像和报告之间的差异更加微妙和细粒度,导致传统方法产生假阴性,即不同患者的图像和报告可能具有相同的语义,但是错误的被视为负样本。
    在这里插入图片描述

2.MedCLIP的贡献

为了应对上述的挑战,提出医疗一种简单有效的方法,即MedCLIP,它有一下的贡献:

  • 解耦图像和文本:MedCLIP通过解耦图像和文本进行多模态对比学习,以组合方式扩展可训练数据,降低成本。
  • 基于医学知识的语义匹配损失:提出基于医学知识的语义匹配损失替代InfoNCE损失,以消除学习中的假阴性。

3.提出的方法

在这里插入图片描述

  • 视觉和文本编码器: 使用视觉编码器和文本编码器将图像和文本编码为嵌入向量
  • 医学知识提取器: 通过MetaMap工具从原始医疗报告中提取实体,并构建语义相似矩阵,实现任意两个独立采样的图像和文本的配对
  • 语义匹配损失: 通过比较图像和文本的语义标签来桥接图像和文本,是哟个softmax函数计算软目标和预测相似度,最总通过交叉损失进行训练。

4.构建语义相似矩阵的过程

  • 实体提取:首先,从医学文本中提取关键实体。例如,从文本“Small, nodular opacity in the right upper lobe”中提取“Lung Lesion”和“Lung Opacity”作为关键词
  • 构建目标与知识提取: 使用这些提取的实体构建目标,即知识提取器,它帮助识别和关联图像和文本数据集中的相关信息。
  • 医学图像和标签的处理: 系统从医学图像数据集中采样一批图像,这些图像可能被标记为“Normal: 0”和“Pneumonia: 1”等。
  • 编码器与嵌入提取: 文本编码器和图像编码器分别处理文本数据和图像数据,将他们转化为嵌入(即数学表达式形式),便于机器处理
  • 构建语义相似性矩阵: 根据提取的实体与图像标签构建一个语义相似性矩阵。这个矩阵衡量不同医学实体之间的相似性。具体来说,这个矩阵是通过对比文本实体和图像标签之间的语义相似度来构建1的。例如如果两个文本实体描述了相似的医学概念,或者一个同图像标签与一个文本实体与语义上相近,那么他们在语义相似矩阵中对对应的值就会较高。
  • 语义匹配损失计算: 利用预测的相似性矩阵计算语义匹配损失,以优化模型的性能,这涉及比较实际的相似性(从知识提取器得出)和模型预测的相似性。

5. 实验

  • 数据集:使用四个X射线数据集进行实验,包括CheXpert、MIMIC-CXR、COVID和RSNA Pneumonia。
  • 基线模型:与随机初始化模型、ImageNet预训练模型、CLIP和ConVIRT、GLoRIA等进行比较。
  • 实验结果:
    • 零样本分类:MedCLIP在所有数据集上均优于基线模型。
    • 数据效率:即使使用较少的训练数据,MedCLIP也优于使用更多数据的现有方法。
    • 微调分类:MedCLIP在微调后的分类任务中也表现最佳。
    • 图像-文本检索:MedCLIP在图像-文本检索任务中表现最佳,表明学习到的嵌入具有良好的语义信息。
    • 嵌入可视化:通过t-SNE可视化,MedCLIP生成的嵌入比CLIP更好地聚集。

6. 结论与局限性

  • 结论:MedCLIP是一个简单而有效的框架,通过扩展训练数据规模和引入医学知识,提高了预训练数据效率,并在零样本预测、监督分类和图像-文本检索任务中表现出色。
  • 局限性:尽管MedCLIP能够达到与微调模型相当的零样本预测准确性,但仍不适用于实际应用,首先是会遇到检测不正确的语义标签或缺失检测否定或不确定性短语的失败案例,其次是可能需要更多的预训练数据和改进的提示生成方法。

http://www.ppmy.cn/server/153877.html

相关文章

Web开发:ORM框架之使用Freesql的分表分页写法

一、自动分表(高版本可用) 特性写法 //假如是按月分表:[Table(Name "log_{yyyyMM}", AsTable "createtime2022-1-1(1 month)")]注意:①需包含log_202201这张表 ②递增规律是一个月一次,确保他们…

CloudDM 升级全新 SQL 审核架构,适配多种数据源

对于任何一款数据库管理工具,SQL 审核都占据重要地位,因为它直接关系到数据库的安全性和业务稳定性。通过 SQL 审核,可以有效发现并纠正 SQL 编写不当的问题,从而避免可能引发的数据库故障,如性能下降或数据泄露等严重…

获取程序启动类

当程序有多个启动入口时,需要根据不同的启动类来决定方法是否执行,此时就需要获取启动类。 首先根据系统参数 sun.java.command 来获取启动类,如果以jar包方式启动,则获取到的就是jar包名称,此时需要从线程栈中获取mai…

vue3入门教程:ref能否完全替代reactive?

1. 使用场景与数据类型 ref: 主要用于基本数据类型(如String、Number、Boolean等)。也可以用于对象/数组,但需要通过.value访问。适合单个响应式数据的管理。 reactive: 主要用于对象类型(如Object、Array…

OPPO Java面试题及参考答案

Java 语言的特点 Java 是一种面向对象的编程语言,它具有以下显著特点。 首先是简单性。Java 的语法相对简单,它摒弃了 C 和 C++ 语言中一些复杂的特性,比如指针操作。这使得程序员能够更专注于业务逻辑的实现,而不是陷入复杂的语法细节中。例如,Java 的内存管理是自动进行…

python中Windows系统使用 pywin32 来复制图像到剪贴板,并使用 Selenium 模拟 Ctrl+V 操作

步骤 1:安装必要的库 首先,安装 pywin32 和 selenium: pip install pywin32 selenium 如果使用的是 macOS,可以安装 pyobjc: pip install pyobjc 步骤 2:使用 pywin32 复制图像到剪贴板 在 Windows 系统中…

SQL创建和操纵表

本文介绍创建、更改和删除表的基本知识。 1. 创建表 SQL 不仅用于表数据操纵,而且还用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法: 多数DBMS 都具有交互式创建和管理数据库表的工具;表也可以…

题解:CF373B Making Sequences is Fun

思路 我们拿到这一题可以发现&#xff0c;可以使用二分查找。 bool check(ll x) {ll sum0;for(int im;i<mx;i){sumsumk*h(i);if(sum>n){return 0;}}return 1; }如果 check 函数这样写&#xff0c;那代码就算用了二分优化也一定会超时。那我们可以考虑如何优化 check 函…