探索合成数据,在医学视觉语言预训练中的应用可行性

时间:2024-11-03 09:33:51

探索合成数据,在医学视觉语言预训练中的应用可行性

    • 提出背景
    • 摘要
    • 医学领域合成数据的应用现状
      • 真实数据集存在的问题分析
      • 图像质量和配对问题分析
      • 数据分布不均衡问题
      • 3.2 生成合成的胸部X光报告和图像
      • 3.3 使用合成数据训练医学视觉语言预训练模型
    • 总结

 


论文:CAN MEDICAL VISION-LANGUAGE PRE-TRAINING SUCCEED WITH PURELY SYNTHETIC DATA?

所有数据和代码将在论文被接受后发布。

 

提出背景

  1. 背景和问题:
  • 领域问题:医学视觉-语言预训练(MedVLP)领域中缺乏大规模、高质量的配对数据集。
  • 具体问题:现有的真实医学数据集存在质量问题(如低质量图像、错配的图像-文本对)和长尾分布问题,这限制了MedVLP模型的性能。
  1. 核心概念性质:
  • SynCXR - 一个纯合成的医学图像-文本配对数据集
  • 性质:平衡的数据分布、高质量的图像-文本对、无需手动筛选
  • 原因:通过自动化流程控制生成质量和分布
  1. 例子对比:
    正例:使用纯合成数据训练的MedVLP模型在零样本分类任务上表现优于使用真实数据训练的模型(提升3.8%)
    反例:现有的MIMIC-CXR数据集存在大量低质量样本和长尾分布问题

  2. 类比理解:
    就像烹饪,用高质量的原料(合成数据)按照精确配比(平衡分布)制作,比用参差不齐的原料(真实数据)随意搭配更容易做出好菜(训练出好模型)。

  3. 功能分析:
    核心功能:提供高质量、大规模的医学图像-文本训练数据
    实现方式:使用AI模型自动生成并筛选,而非收集真实数据

  4. 来龙去脉:

  • 起因:医学数据获取困难,现有数据集质量参差不齐
  • 经过:提出自动化合成数据方案
  • 结果:证明纯合成数据可以有效训练MedVLP模型

 

[问题分析框架]

  1. 定义问题 (What)
  • 描述:医学视觉语言预训练(MedVLP)严重依赖大规模、高质量的配对数据集,但现有数据集存在质量问题
  • 目标:构建高质量合成数据集,提升MedVLP模型性能
  1. 深入分析 (5个Why)
  • 表层原因:现有数据集包含低质量图像和错配的图文对
  • 近层原因:医疗数据收集困难、标注成本高、隐私限制
  • 中间原因:数据分布不平衡,存在严重的长尾问题
  • 远层原因:缺乏自动化的数据生成和质量控制机制
  • 本质原因:传统数据收集方法无法满足AI训练需求

[解决方案设计]

  1. 逻辑树分析法
- 数据生成系统
  - 实体均衡采样
  - LLM报告生成
  - 扩散模型图像生成
  
- 质量控制系统
  - MLLM质量评估
  - 相似度过滤
  - 分布平衡控制
  
- 验证评估系统
  - 零样本任务测试
  - 微调任务测试
  - 混合策略测试
  1. 矩阵图分析法
维度:数据质量() vs 生成成本()

四象限:
高质量-低成本:
- 自动化合成流程
- 通用LLM生成

高质量-高成本:
- 人工标注
- 专家审核

低质量-低成本:
- 随机采样
- 简单规则生成

低质量-高成本:
- 收集真实数据
- 手动筛选

[行动计划]

  1. 优先解决方案
实施步骤:
1. 构建自动化生成流程
   - 设置实体采样策略
   - 配置LLM生成参数
   - 优化图像生成模型

2. 建立质量控制机制
   - 部署MLLM评估
   - 实现相似度检查
   - 监控数据分布

3. 验证效果
   - 进行多任务测试
   - 对比性能提升
   - 分析失败案例
  1. 具体实施步骤
技术路线:
a. 数据生成
- 配置Llama3.1-70B
- 设置RoentGen模型
- 实现实体采样器

b. 质量控制
- 部署InternVL2
- 开发筛选算法
- 建立评估标准

c. 系统集成
- 搭建流水线
- 优化参数配置
- 监控生成过程
  1. 跟进措施
评估指标:
- 数据质量metrics
- 模型性能提升
- 生成效率

改进机制:
- 定期评估结果
- 优化生成参数
- 更新筛选标准

长期规划:
- 扩展到其他领域
- 改进生成技术
- 建立评估标准

 

摘要

医学视觉语言预训练在医学图像理解的零样本任务中展现出巨大潜力。

但是,这类模型的训练需要大量高质量的图像-文本配对数据,而医疗领域恰恰缺乏此类数据。

随着大语言模型和扩散模型的发展,我们现在可以大规模生成合成的图像-文本数据对。

这让我们不禁思考:是否可以仅使用合成数据来训练医学视觉语言模型?

为探索这个问题,我们利用现有的生成模型创建了合成的放射学报告和对应的胸部X光图像。

我们设计了一套自动化流程来构建一个多样化、高质量的合成数据集,这使我们能够专注于研究数据本身对模型性能的影响。

研究结果令人振奋:仅使用合成数据训练的模型在零样本分类任务上的表现比使用真实数据训练的模型高出3.8%(以AUC指标衡量);当同时使用合成数据和真实数据时,性能更是提升了9.07%。

不仅如此,在合成数据或混合数据上训练的模型在零样本定位、分类微调和分割等多个任务上都优于仅使用真实数据训练的模型。

这表明,精心设计的合成数据可以帮助模型获得更好的性能,有效克服真实数据集中存在的低质量样本和数据分布不均衡等问题。

 
传统的医学图像分析需要大量人工标注的数据,这是一个极其耗时耗力的过程。

医学视觉语言预训练技术通过利用医学图像和对应的临床报告来学习,大大减少了对人工标注的依赖。

但是,这种方法也面临着自己的挑战:它需要大量高质量的图像-文本配对数据,而这类数据在医疗领域非常稀缺。

现实中的医疗数据集往往存在质量参差不齐、图像和文本不匹配等问题,这严重影响了模型的性能。

近年来,大语言模型和扩散模型的发展为我们提供了一个新的可能:我们可以生成大规模的合成数据。

虽然这些技术在医学领域已经展现出promising的应用前景,但目前主要还是作为数据增强的手段来辅助真实数据的使用,而且大多只关注单一模态(如仅图像或仅文本)。

截至目前,还没有研究系统探索过完全使用合成的多模态数据来训练医学视觉语言模型的可能性。

为了填补这一研究空白,探索合成数据在医学视觉语言预训练中的潜力,本文做出了以下贡献:

  • 开发了一套自动化的数据生成系统,创建了包含20万对高质量图像-文本对的 SynCXR 数据集。
  • 这个系统完全基于现有的模型,无需使用真实数据或人工干预,同时能够有效控制生成数据的质量和分布。
  • 通过实验证明,使用纯合成数据训练的医学视觉语言预训练模型可以达到甚至超越使用真实数据训练的模型性能。
  • 更重要的是,当我们将合成数据和真实数据结合使用时,模型性能得到了进一步提升,这验证了我们提出的数据生成方法的有效性。
  • 深入分析了目前广泛使用的 MIMIC-CXR 数据集,发现了其中存在的几个关键问题:图像质量不佳、图文不匹配,以及数据分布严重不均衡等。这些问题会显著影响模型的性能。
  • 通过七个不同的下游任务评估了我们的方法,包括零样本学习和线性探测,全面分析了纯合成数据训练成功的关键因素。
  • 实验结果表明医学视觉语言预训练模型完全可以仅依赖合成数据实现良好性能。

 

医学领域合成数据的应用现状

医学数据的获取面临着数据量少、获取成本高、隐私保护等多重挑战,这促使研究者开始探索使用合成数据来支持各类医学图像任务。

不过目前的研究主要集中在单一图像模态的监督学习上,仅把合成数据作为真实数据的补充。

很少有研究尝试完全使用合成数据来训练模型。

虽然有一些最新的工作开始为医学视觉语言预训练生成合成的文本和图像,但它们仍然只是把合成数据作为数据增强的手段。

因此,合成数据在医学视觉语言预训练中的巨大潜力还有待挖掘。

本研究的创新之处在于:我们同时生成了合成的胸部X光图像和放射学报告,并尝试完全使用这些合成数据来训练医学视觉语言预训练模型。

我们通过多个下游任务全面评估了这种方法的有效性。

真实数据集存在的问题分析

MIMIC-CXR是目前医学视觉语言预训练最常用的数据集,它包含了成对的胸部X光图像和放射学报告。

按照现有研究的预处理方法,我们得到了213,384对可用于预训练的图像-文本数据,其中所有X光图像都是正面视图。

我们知道,在自然图像的视觉语言预训练中,数据质量(包括图像质量和数据分布的均衡性)对模型性能有重要影响。

但在医学领域,由于不同医疗机构的成像标准不一,很难对医学图像的质量做出统一的定义。

此外,医学影像报告通常会描述多个解剖部位的多种特征,这使得数据分布的量化分析变得更加复杂。

针对这些挑战,我们设计了一套系统性的分析方法来深入研究MIMIC-CXR数据集存在的问题。

图像质量和配对问题分析

我们首先关注数据集中的图像质量问题。需要说明的是,我们的目标不是创建一个完美的数据集——这在大规模多模态数据集中是不现实的。

而是要识别和理解现有数据集中的质量问题。

参考了之前关于低质量医学图像研究的发现,我们设计了一个基于多模态大语言模型的评估系统,使用InternVL2-26B模型对图像进行质量评估。

我们设计了六个具体的评估任务:

  • 判断是否为胸部X光图像
  • 确认是否为人体胸部X光
  • 验证是否为正面视图
  • 评估图像质量
  • 检测图像伪影和过度处理
  • 确认图像清晰度

通过这套评估系统,我们首先识别出了那些在所有六个评估任务中都未通过的图像。

图2(a)展示了一些典型的未通过样例。通过这一步筛选,我们从MIMIC-CXR数据集中移除了1,448对质量不合格的图像-文本数据,保留了211,936对数据。

为了进一步提高数据质量,我们采用了更严格的筛选标准。

我们使用专门为胸部X光设计的视觉编码器RAD-DINO来分析图像特征,比较剩余图像与已识别的低质量图像之间的相似度。

考虑到每张X光片都来自不同的病例,我们这里只关注图像的质量特征,而不考虑具体的医学内容(如具体的诊断结果或病变)。

我们将相似度阈值设为0.5,任何与低质量图像相似度超过这一阈值的图像都被剔除。

这一步又移除了5,512对数据,最终得到了206,424对高质量的图像-文本数据。

图2(a)展示了一些因与低质量图像相似而被剔除的样例。

我们对MIMIC-CXR数据集的分析揭示了多个质量问题,包括非胸部图像、视角错误、过度处理和图像质量低等。

虽然我们成功识别出了许多问题样本,但要完全清理数据集面临两个主要挑战:一是需要大量人工工作,二是缺乏统一的自动化质量评估标准。

仅依靠自动化流程很难处理所有质量问题。

数据分布不均衡问题

在自然图像的视觉语言预训练研究中,已经证实数据的长尾分布会显著影响模型性能。

因此我们也分析了MIMIC-CXR数据集的分布情况。

但医学数据有其特殊性:与自然图像的描述通常只关注单一目标不同,放射学报告往往包含多个解剖部位和多种医学发现的描述,这使得直接分析数据分布变得困难。

为此,我们采用了一种新的分析方法:使用专门的医学命名实体识别工具RaTE来提取和分析医学实体。

该工具可以自动将识别出的实体分为五类:异常、非异常、疾病、非疾病和解剖结构。

我们的分析显示,在所有这五个类别中,数据都呈现出明显的长尾分布特征。

图2©展示了每个类别中出现频率最高的50个实体的分布情况,更详细的分布情况见图6-10。

3.2 生成合成的胸部X光报告和图像

鉴于MIMIC-CXR数据集存在前文讨论的各种问题,我们提出了一种新的方法:生成合成的放射学报告和胸部X光图像。

在生成过程中,我们特别注意控制数据的质量和分布,以避免真实数据集中存在的问题。

需要说明的是,我们的目标不是创建一个完美的数据集——这在现实中是不可能的,因为数据总会包含一些噪声。

我们的目标是探索使用合成数据进行医学视觉语言预训练的可行性。

放射学报告的生成

我们的报告生成流程如图5所示。

我们选择了Llama3.1-70B-Instruct这个通用大语言模型作为报告生成器(我们在图3中比较了不同语言模型的性能)。

生成过程中,我们使用包含医学实体列表的提示来引导模型生成报告。

为了避免生成的数据出现长尾分布问题,我们设计了一个平衡采样策略。

具体来说,我们将医学实体分为五类:异常、非异常、疾病、非疾病和解剖结构,并确保这些不同类型的实体在生成的数据集中出现频率大致相同。

 
我们的采样策略分为两个步骤:

首先,从四个主要类别(异常、非异常、疾病、非疾病)中采样指定数量的实体。

同时,从解剖结构类别中单独采样若干实体。

这两部分采样的实体共同构成了一次生成所需的实体集合。

为了确保数据的均衡性,我们设置了一个出现频率上限。

如果某个实体的出现频率达到这个上限,系统会自动重新采样这个实体,而保持其他已选实体不变。

这种机制可以有效防止某些实体在数据集中过度出现,从而避免长尾分布问题。

比如,如果我们发现"肺炎"这个实体在生成的报告中出现频率过高,超过了预设的阈值,系统就会在下次生成时选择其他疾病实体来替代它,确保最终数据集中各种医学发现和诊断的分布相对均衡。

 

在选定实体后,我们将这些实体及其类型信息输入大语言模型来生成报告。

为了确保生成的报告精确包含所有指定实体(不多也不少),我们设计了一个严格的质量控制流程:

  • 首先使用RaTE模型分析生成的报告,提取其中包含的所有医学实体
  • 将提取出的实体与原始输入的实体集合进行比对
  • 如果发现不完全匹配(比如缺少某些实体或包含了额外实体),就重新生成报告,直到达到完全匹配

生成的报告会作为’FINDINGS’(发现)部分。

接下来,我们让模型基于这个详细报告生成一个简洁的’IMPRESSION’(印象)总结。

为了保持报告的一致性,我们同样严格控制总结部分的质量:

  • 分析总结中包含的医学实体
  • 确保这些实体与原始实体集完全匹配
  • 如果不匹配,就重新生成总结部分

这样的严格控制确保了生成报告的质量和一致性。

为了构建一个均衡的数据集,我们总共生成了20万个合成样本。

这个数量的选择考虑到了采样策略中的参数设置,同时也确保了数据的充分性。

整个生成过程只使用了现成的工具,没有引入任何特定于胸部X光领域的专门设计。

在选择实体识别工具时,我们面临着RadGraph和RaTE两个选择。

虽然RadGraph也可以用于实体提取,但它有两个主要限制:一是依赖MIMIC-CXR的人工标注数据,二是只能识别约1.6万个实体。

相比之下,RaTE能够识别超过15万个实体,这使得它更适合我们构建通用、可迁移的数据生成流程。

因此,考虑到更广的适用性,我们选择了RaTE作为实体识别工具。

在图像生成方面,我们需要根据生成的报告创建对应的胸部X光图像。

常见的文本到图像生成模型(如Stable Diffusion)并不适合生成医学图像,它们在这个任务上的表现也不尽如人意。

因此,我们选择了专门用于胸部X光图像生成的RoentGen模型。

这个模型不仅是最新的技术,而且经过了临床医生的验证,能够生成更加符合医学要求的图像。

 
在具体的图像生成过程中,我们使用了RoentGen模型的官方预训练权重。

为了获得最好的生成效果,我们只使用报告中的’IMPRESSION’(印象)部分作为生成提示,并采用了官方推荐的参数设置:分类器引导系数为4,去噪过程进行50次迭代。

为了确保生成图像的质量,避免出现与真实数据集相似的问题,我们设计了严格的质量控制流程:

  • 首先使用多模态大语言模型对生成的图像进行初步筛选
  • 然后将生成的图像与已知的问题图像进行特征相似度比较
  • 如果发现某张生成图像与问题图像的相似度超过0.5,我们就会用相同的文本描述重新生成图像,直到得到合格的结果

最终,我们成功生成了20万对高质量的图像-报告数据对,构成了SynCXR数据集。

整个生成过程只使用了通用的开源模型,包括:

  • 用于文本生成的Llama3.1
  • 用于多模态理解的InternVL2
  • 用于视觉特征提取的RAD-DINO

这种方法的优势在于它完全不依赖于任何标注数据或专门的医学预训练模型,使得整个流程具有很强的可扩展性和适应性,能够随着基础模型的进步而不断改进。

 

3.3 使用合成数据训练医学视觉语言预训练模型

在构建好SynCXR数据集后,我们需要验证使用纯合成数据训练医学视觉语言预训练模型的可行性。

虽然目前存在多种医学视觉语言预训练方法,但我们选择了相对简单的ConVIRT和GLoRIA作为基准模型,主要考虑有:

  • ConVIRT采用全局对比学习的方式,同时训练处理图像和文本的编码器,结构简单清晰。
  • GLoRIA是ConVIRT的改进版本,它不仅考虑全局的图文匹配,还考虑了局部区域的对应关系,但整体架构仍然简洁明了。

选择这些相对简单的模型有几个优势:

  • 它们都是开源的,实现透明
  • 模型结构直观,易于理解和复现
  • 避免了复杂模型可能带来的额外变量,使我们能够更清晰地评估合成数据的效果

在具体实验中,我们严格使用这些模型的官方代码库,确保实验的可靠性和可重复性。

我们认为,使用更复杂的模型可能会模糊我们真正关心的问题:合成数据在医学视觉语言预训练中的效果。

 

为什么不使用更复杂的模型?

虽然目前已经有一些更先进的医学视觉语言预训练模型,但我们没有选择使用它们,原因如下:

  1. 代码可用性问题:
  • BioViL和BioViL-T等模型没有公开完整的训练代码,这使得我们无法用合成数据重现他们的实验
  1. 额外依赖问题:
  • MedKLIP、KAD和MAVL等模型都需要额外的工具和人工标注数据
  • 这些额外的依赖会让实验变得复杂,难以判断性能提升究竟来自合成数据还是这些外部资源

4 实验设计

预训练设置:
我们直接采用了ConVIRT和GLoRIA模型在MIMIC-CXR数据集上使用的官方参数配置,将其应用到我们的SynCXR数据集上。

评估方法:
我们设计了四类下游任务来全面评估合成数据的效果。具体的数据集信息和实现细节可以在附录A中找到。

 

我们设计了四种主要的下游任务来评估模型效果:

  1. 零样本图像分类

    这个任务测试模型在没有见过的新数据上的分类能力。我们使用了七个不同的数据集:

  • CheXpert
  • ChestXray-14
  • PadChest(包含常见病例、罕见病例和未见过的病例三个子集)
  • RSNA
  • SIIM
    评估采用了AUC、F1值和准确率三个指标。
  1. 零样本视觉定位

    这个任务测试模型定位病变区域的能力,在三个数据集上进行:

  • RSNA
  • SIIM
  • Covid-19 Rural
    使用IoU(交并比)和Dice系数来评估定位的准确性。
  1. 分类微调任务

    我们在四个数据集上测试了模型的微调效果:

  • RSNA
  • SIIM
  • Covid-19 CXR-2
  • ChestXray-14

微调过程中更新所有模型参数,包括预训练的视觉编码器和分类器。训练参数设置为:

  • 优化器:AdamW
  • 学习率:0.0001
  • 批量大小:64
  • 训练轮次:50

使用AUC作为评估指标。

 

  1. 分割微调任务

我们在三个数据集上测试了模型的分割能力:

  • RSNA
  • SIIM
  • Covid-19 Rural

在这个任务中:

  • 采用U-Net架构进行微调
  • 保持视觉编码器参数不变,只更新解码器部分
  • 使用Dice系数评估分割效果

4.2 实验结果分析

考虑到MIMIC-CXR数据集中已经包含了一些将在下游任务中出现的疾病类型,我们将零样本分类任务分为两类:

  1. 已见疾病:模型在预训练时见过的疾病类型
  2. 未见疾病:模型在预训练时没有见过的疾病类型

这种分类可以更好地评估模型的泛化能力。

为确保实验结果的可比性,我们直接引用了之前研究中ConVIRT和GLoRIA在MIMIC-CXR真实数据上的训练结果。

 

实验结果分为三个主要部分:

  1. 已知疾病的零样本分类效果:
  • 使用纯合成数据(SynCXR)训练的模型表现优于使用真实数据训练的模型:
    • AUC提升了4.7%
    • F1分数提升了4.53%
  • 当同时使用合成和真实数据时,效果更好:
    • AUC提升了10.08%
    • F1分数提升了7.62%

这说明我们的合成数据确实帮助模型学到了有效的跨模态特征。

  1. 未知疾病的零样本分类效果:
  • 使用合成数据训练的模型仍然优于使用真实数据:
    • AUC提升了2.96%
    • F1分数提升了0.51%
  • 混合数据训练效果最好:
    • AUC提升了7.39%
    • F1分数提升了1.52%

这个结果特别重要,因为它表明我们的合成数据帮助模型获得了更好的泛化能力,即使对于训练时没见过的疾病也能做出较好的判断。

这种改进主要得益于我们在生成数据时对质量的严格控制和数据分布的均衡设计。

 

  1. 零样本视觉定位结果:
    这个任务测试模型能否准确定位病变区域。实验在三个数据集(RSNA、Covid-19 Rural和SIIM)上进行,结果显示:
  • 使用合成数据训练的模型比使用真实数据的模型更准确:
    • IoU提升了1.42%
    • Dice分数提升了0.97%
  • 混合数据训练效果最佳:
    • IoU提升了4.06%
    • Dice分数提升了2.92%

这个结果很重要,因为它说明合成数据不仅帮助模型理解整体图像特征,还能帮助模型更准确地识别具体的病变位置。

  1. 微调任务的结果:
    为了验证模型学习到的特征质量,我们进行了分类和分割的微调实验。结果表明:
  • 在不同数据比例下(从小数据到大数据),使用合成数据预训练的模型始终表现更好
  • 混合真实和合成数据训练的模型性能最优
  • 这种优势在分类和分割两种任务上都得到了验证

这说明我们的合成数据不仅对特定任务有帮助,而且能够帮助模型学习到更通用、更有价值的特征表示。

 

图像生成模型的选择
我们比较了三种不同的医学图像生成模型:

  • CXR-IRGen
  • LLM-CXR
  • RoentGen

实验结果显示RoentGen生成的数据集能带来最好的性能。这个结果特别有意义,因为RoentGen是唯一一个经过临床医生专业验证的模型。这说明:

  1. 图像生成质量对最终模型性能影响重大
  2. 临床专家的验证在医学图像生成中是很重要的环节

6 研究结论

本研究回答了一个关键问题:是否可以完全使用合成数据来训练医学视觉语言预训练模型?答案是肯定的。本研究的重要性体现在以下几个方面:

  1. 开创性:这是首个系统探索纯合成数据在医学视觉语言预训练中潜力的研究。

  2. 问题识别:我们深入分析了现有真实数据集存在的问题和局限性。

  3. 解决方案:我们提出了SynCXR数据集,它包含20万对高质量的图像-文本对,而且生成过程完全自动化,无需人工干预。

  4. 实验验证:

  • 使用纯合成数据训练的模型表现优于使用真实数据的模型
  • 结合真实和合成数据能获得更好的效果
  • 这证明了合成数据在解决真实数据集局限性方面的巨大潜力

 

总结

我们总结一下本文的重要发现:

  1. 创新点:
  • 首次系统研究了纯合成数据在医学视觉语言预训练中的应用
  • 提出了一套完整的合成数据生成和质量控制流程
  • 开发了SynCXR数据集,包含20万对高质量的配对数据
  1. 主要发现:
  • 仅使用合成数据训练的模型性能超过了使用真实数据的模型
  • 合成数据和真实数据的结合可以带来更好的效果
  • 数据的质量控制和分布平衡对模型性能有重要影响
  1. 关键技术要点:
  • 使用平衡采样策略生成报告
  • 采用多重质量控制确保图像质量
  • 通用大语言模型可能比领域专业模型更适合生成医学报告
  • 经过临床验证的图像生成模型效果最好
  1. 研究意义:
  • 为解决医学数据获取难的问题提供了新思路
  • 证明了合成数据在医学AI领域的可行性
  • 为未来医学视觉语言预训练的发展提供了新方向