论文题目:A vision–language foundation model for the
01.引言
该研究提出了一种领域适应策略,使得在自然图像上预训练的视觉-语言模型可以生成多样且真实的医学图像,用以缓解高质量医学影像数据集的匮乏。通过使用公开的胸部X光影像和放射学报告数据集,模型可以生成多样化、视觉合理的合成X光影像,并通过医学文本控制其外观。该方法可用于扩充训练数据集,作为医学图像共享的替代方案。
高质量医学影像数据集的缺乏可以通过生成具有组成多样性、能够真实再现医学概念和病理的图像的机器学习模型来缓解。然而,大型视觉-语言模型是基于自然图像训练的,生成图像的多样性分布与医学图像存在显著差异。此外,医学语言包含特定且语义丰富的词汇。本文提出了一种针对大型视觉-语言模型的领域适应策略,以克服分布转移的问题。具体而言,通过利用公开的胸部X光影像数据集及相应的放射学报告,我们对一个预训练于自然图像和文本描述的潜在扩散模型进行适应,使其能够生成多样化且视觉上合理的合成胸部X光影像(经持证放射科医生确认),并且影像的外观可以通过自由形式的医学文本提示来控制。此文本条件下的医学图像合成领域适应策略可以用于增强训练数据集,成为用于模型训练和微调的真实医学图像共享的可行替代方案。
02.背景
LDMs和SD模型的基础概述:潜在扩散模型(LDM)是一种去噪扩散模型,通过与条件机制结合实现对图像生成的精细控制。稳定扩散(SD)模型则基于大型多模态数据集(LAION-5B)预训练,具备多任务适应性,因此可被视为基础模型。LDM由于在低维潜在空间中操作,适合在较低硬件资源下运行,用户范围广泛。
LDM在医学影像中的优势:在高质量数据有限的领域,LDM的生成能力尤为宝贵。医学影像数据的获取通常因隐私和标注需求而受限。LDM能够生成高保真合成数据,补充传统监督机器学习数据集,有助于应对医学影像中的数据获取难题。
医学影像与文本的自监督学习:医学影像通常附有详细的放射学报告,这些报告不仅用于分类任务标签生成,还可通过自监督学习方法利用。通过医学图像-文本配对,LDM可以基于医学关键词生成合成影像,增强数据集。
将SD模型适应至医学领域的研究设计:本研究将通用领域的SD模型适应到医学领域,重点生成基于放射学文本提示的胸部X光片。系统探索了多种方法以改进模型在医学概念上的表现。
评估框架和实验结果:提出了全面评估框架,涵盖图像质量、文本-图像对齐、表示保真度和事实正确性。实验表明,通过微调U-Net和CLIP编码器可提升图像保真度和概念准确性,合成影像获得了放射科医生和图像分类器的确认,具备数据增强的潜力。
RoentGen模型发布:研究最终发布了表现最佳的“RoentGen”模型,为研究社区提供了一个用于文本条件生成胸部X光片的视觉-语言模型。
03.方法
图1:RoentGen的医学领域适应型深度学习模型,该模型基于SD(Stable Diffusion)管道,用于将文本提示转换为胸部X线(CXR)图像。RoentGen利用条件去噪U-Net网络,该网络通过迭代过程从高斯分布中采样潜在向量并进行去噪,以生成图像。这一过程通过交叉注意力机制实现条件化,其中注意力的查询(Q)、键(K)和值(V)是从由文本编码器ET处理的短医疗文本输入中创建的嵌入。此外,变分自编码器(VAE)的解码器D负责将去噪后的潜在向量转换为像素空间,从而产生高保真度的CXR图像,这些图像展现了与输入文本提示相匹配的成像特征。
本研究使用了三个公开的胸部X射线(CXR)数据集。创建了两个开发集(DDev,Multi和DDev,PA)、一个来自MIMIC-CXR数据集的同分布测试集(DTest),以及两个来自CheXpert和VinDr数据集的异分布测试集(DCheXpert和DVinDr)。具体数据统计请见附表。
MIMIC-CXR数据集:包含377,000张CXR图像及其对应的文本报告,来自Beth Israel Deaconess医疗中心的228,000名患者。在研究中,我们筛选出字符数大于7且不超过CLIP tokenizer最大长度(77 tokens)的印象节报告。MIMIC-CXR数据集组织在十个文件夹中,用于训练的图像来自文件夹p10–p18,而测试集图像来自文件夹p19。
数据标签处理:MIMIC-CXR数据集标注了14种放射学异常(例如“气胸”),标签为1(存在)、0(不存在)和-1(不确定)。不确定标签视为阳性,空标签视为阴性。为减少类别不平衡,对多数类别(“无发现”)进行了下采样。
CheXpert和VinDr数据集:从CheXpert中随机抽取5,000张PA视图的CXR,从VinDr中抽取4,000张前视图CXR。CheXpert的标签通过自然语言处理技术生成,VinDr的标签由多位放射科医生手动标注。
模型微调与实验设计:我们使用了来自 MIMIC-CXR 数据集的大量真实胸片 (CXR) 和对应文本报告,对 LDM 稳定扩散模型 (SD) 进行了微调,以开发能够根据文本输入生成胸片的模型。实验中探讨了不同的微调方法,包括微调管道的不同组件、不同的放射学视图(如正面或侧面)、学习率和训练步数的设置,以及用特定领域的文本编码器替代默认的 CLIP 编码器 (ViT-L/14)。
所有的微调实验都在高性能计算集群上进行,使用64块NVIDIA A100 GPU,图像分辨率为512×512像素,批量大小为256。模型训练不同步数的时间大致为:1,000步需时约20分钟,12,500步需时5小时,60,000步需时1天。模型权重来自CompVis/stable-diffusion-v1-4仓库。模型架构:使用了LDM的SD1(版本1.4)模型,包括三大组件:一个VAE(变分自编码器),可将高维像素空间图像转化为低维潜在表示;一个去噪U-Net主干网络,配有跨注意力机制;一个用于文本编码的CLIP ViT-L/14编码器。图像生成:通过高斯噪声初始化的随机向量并逐步去噪生成图像。图像生成时使用了无分类指导比例为4.0的指南和75步推理。
04.实验与结果
RoentGen 模型的性能:微调后的最佳模型命名为“RoentGen”,能够基于文本条件生成与真实胸片非常相似的合成图像。我们通过一套全面的评估框架来评价生成胸片的质量,包括:(1) 由认证放射科医生进行的视觉评估;(2) 使用图像保真度和多样性的标准量化评估;(3) 利用预训练的卷积神经网络 (CNN) 进行多标签分类性能评估;(4) 使用预训练的多模态模型来评估生成图像的事实正确性。
图2:文本条件合成CXR图像。样本是通过提示一个经过微调的模型(60,000次训练步骤;学习率5×10^-5;PA视图)来创建的,用于生成典型的CXR异常。生成的CXR图像具有高水平的细节:当提示为“水肿”(右上角)时,可以看到肺水肿中出现的肺门模糊(白色箭头)和支气管周围袖套征(黑色箭头)。对于“气胸”(底部行,右图),可以描绘出代表部分塌陷肺的内脏胸膜线(虚线)。点状区域是为了可视化而添加的。
图3:基于文本条件的放射学发现外观。在这里,通过提示控制发现(胸腔积液,为可视化添加的点状感兴趣区域)的存在或缺失,以及大小和侧别等维度。请注意,模型正确地融入了放射学惯例,即在图像的左侧显示患者的右侧,反之亦然。每个图像都是从每个相应提示生成的四个CXR中挑选出来的。彩色文本表示大小(红色)、受影响侧(蓝色)和否定发现(绿色)的修饰词。
图4:在合成CXR中组合多种异常。左列包含了使用相应标题作为提示创建的图像,而中间和右列通过扩散注意力归因图的叠加来突出发现,这些归因图是通过上采样和聚合交叉注意力词-像素分数60创建的。
放射科医生评估:两位认证的放射科医生通过简单的文本提示(如 CheXpert 标签 “气胸”或“胸腔积液”)检查生成的胸片。结果表明,微调后的模型能够根据简单提示生成清晰的病理特征,并且还能通过增加文本修饰词(如 “大”或“右侧”)来生成符合相应病理的图像。多种病变特征也可以在同一胸片中组合,显示了模型的细致组成能力。
生成的保真度和多样性:理想情况下,生成的胸片应该尽可能贴近真实数据的分布(保真度),同时尽可能多地覆盖真实图像的多样性(多样性)。我们通过 Fréchet 距离 (FID) 和多尺度结构相似性指标 (MS-SSIM) 来量化保真度和多样性。更小的 FID 值表示生成图像与真实图像更相似,而较低的 MS-SSIM 表示生成输出的多样性更高。
微调训练步数的影响:所有微调方法均比原始的 SD 模型在 CXR 的保真度方面有提升。通过 1,000 步的微调训练,FID 降至较低值,而通过 60,000 步的训练达到最高保真度 (FIDXRV = 3.6)。使用 RadBERT 或 SapBERT 等领域特定的文本编码器稍微提升了性能,特别是在长步数训练下。
合成胸片的多标签分类评估:为了评估合成胸片在深度学习模型中的诊断信息表现,我们使用了基于真实胸片训练的分类模型对合成胸片进行分类。结果显示,即便短时间微调后(1,000 步),模型的性能已有显著提升(平均 AUROC 达到 0.83)。
多模态事实正确性:除了分类性能外,我们还评估了生成胸片在视觉与文本的语义匹配度。RRG 模型生成的报告内容与用于生成胸片的原始报告进行了对比,以验证合成胸片的事实正确性。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。