零样本带解释性的医学大模型

带解释性的医学大模型

    • 提出背景
      • 解法拆解
      • 方法的原因
      • 对比以前解法
    • 零样本带解释性的医学大模型
      • 如何使用CLIP模型和ChatGPT来进行零样本医学图像分类
      • 用特定提示查询ChatGPT所生成的医学视觉特征描述
      • 相似性得分在不同症状上的可视化,用于解释模型的预测
      • 注意力图的可视化
      • 对比使用设计的提示和基线提示时的注意力图
    • 关键点
      • 为ChatGPT选择和设计提示的细节
      • CLIP模型的视觉和文本编码器处理医学图像的方式
      • 多模态处理能力
      • 注意力机制
      • 特征激活与识别
      • 决策过程的解释性
      • 解释模型输出
      • 模型调整与优化

 


论文:https://arxiv.org/pdf/2307.01981.pdf

提出背景

  • 问题背景:在现实世界场景中,零样本医学图像分类是一个关键过程,特别是在可能疾病种类繁多、大规模标注数据有限的情况下。

    这涉及到计算查询医学图像与可能的疾病类别之间的相似性分数,以确定诊断结果。

  • 以前的解法:利用如CLIP这样的预训练视觉-语言模型(VLMs)在零样本自然图像识别中已展现出了卓越的性能,并且在医学应用中显示出潜力。

    然而,一个既有希望的性能又能提供解释性的零样本医学图像识别框架还在开发中,天将降于我。

解法拆解

  • 解法:提出了一个基于CLIP的零样本医学图像分类框架,并辅以ChatGPT进行解释性诊断,模拟人类专家执行的诊断过程。
    • 特征1:利用大型语言模型(LLMs),如ChatGPT,通过疾病类别名称自动生成额外的线索和知识(例如疾病症状或描述),而不仅仅是单一的类别名称,以帮助CLIP提供更准确和可解释的诊断。
    • 特征2:设计特定的提示,以提高ChatGPT生成描述视觉医学特征文本的质量。

方法的原因

  • 之所以使用该解法:是因为在零样本医学图像诊断场景中,存在大量未标注的数据和多样的疾病类别,这使得传统的基于大量标注数据的方法难以应用。
    • 之所以使用特征1(自动生成额外线索和知识):是因为仅通过图像和疾病类别的名称,难以达到高准确度和高解释性的诊断结果。额外的疾病相关信息能够提供更全面的上下文,以辅助诊断。
    • 之所以使用特征2(设计特定的提示):是为了提升生成文本的质量,使其更贴合医学图像的特点,从而提升诊断的准确性和解释性。

对比以前解法

对比当前提出的解决方案与以往的方法,当前解决方案的主要改进点可以总结如下:

1. 引入解释性:

  • 以前的解法:虽然以往的方法,特别是基于CLIP等预训练视觉-语言模型的零样本分类技术,在准确性上已经取得了显著进展,但这些方法往往缺乏足够的解释性。这意味着,尽管模型能够识别图像中的疾病,但它们难以提供关于其决策过程的透明度或解释,这在医学领域是非常重要的。
  • 现在的解法:通过整合ChatGPT来自动生成关于疾病的额外线索和知识,本文提出的方法不仅关注于提升诊断的准确性,还强调了解释性。这种方式模拟了医生在做出诊断决策时的思考过程,提供了一个更加透明和可解释的诊断框架。

2. 自动化生成额外线索和知识:

  • 以前的解法:以往的零样本诊断方法主要依赖于图像本身和有限的类别标签信息,这在处理复杂的医学图像时可能不足以提供全面的诊断。
  • 现在的解法:通过利用大型语言模型(如ChatGPT),当前解决方案能够自动化地生成与特定疾病相关的额外线索和知识,如症状描述、可能的并发症等。这为CLIP提供了更丰富的上下文信息,有助于提高模型在零样本诊断任务中的性能。

3. 提升文本描述的质量:

  • 以前的解法:在早期方法中,文本描述通常限于简单的疾病名称或者是直接从训练集中抽取的标签,这限制了模型理解和识别图像的能力。
  • 现在的解法:本文提出的框架通过设计特定的提示来增强ChatGPT生成的文本描述质量,使之能够更准确地反映出医学图像的视觉特征。这样的高质量文本描述不仅有助于模型更好地理解图像内容,还能提升最终诊断的准确率和解释性。

4. 训练自由的零样本诊断流程:

  • 以前的解法:传统方法往往需要大量的标注数据来训练模型,这在医学领域是一个重大挑战,因为高质量的医学图像标注既昂贵又耗时。
  • 现在的解法:本文提出的方法不需要额外的训练过程,即可直接应用于零样本医学图像诊断。这种训练自由的方法大大降低了实施零样本诊断技术的门槛,使其更容易被医疗机构采纳和使用。

总的来说,当前的解决方案通过增强解释性、自动生成额外的疾病相关信息、提升文本描述的质量,并实现一个无需额外训练的零样本诊断流程,在准确性、解释性以及易用性方面对以往的方法进行了显著。

在这里插入图片描述
这张图展示的是一个零样本医学图像分类的可视化比较,对比了两种方法下模型的注意力图(Attention maps)。

注意力图,用于显示模型在处理数据时关注的区域。

在顶部行,你可以看到两个例子:

  • 在左边,一个脑部MRI图像被标记出来,仅用了“Glioblastoma Multiforme”(一种脑肿瘤)作为诊断类别输入到CLIP模型中。

    生成的注意力图显示模型关注的区域不是很明确,可能分散在整个图像上。

  • 在右边,有一个眼底图像,同样地,仅用“Proliferative Retinopathy”(一种眼病)作为输入。

    这里的注意力图也显示出模型关注的区域并不集中。

    在底部行,展示的是本文提出的方法,通过结合ChatGPT生成的病症描述来增强模型的注意力:

  • 在左边的脑部MRI图像中,除了疾病类别,还加入了由ChatGPT提供的额外病症信息,如“Presence of contrast enhancement”(对比度增强的存在)和“Presence of necrosis”(坏死的存在)。

    在结合了这些额外信息后,生成的注意力图显示模型现在更集中地关注在图像的特定区域上,这可能对于诊断该类型的脑肿瘤是关键的。

  • 在右边的眼底图像中,同样地,结合了ChatGPT生成的病症描述,如“Vitreous hemorrhage”(玻璃体出血)和“Neovascularization”(新生血管)。

    加入了这些描述后,注意力图更集中于眼底图像的相关区域,这对于诊断增殖性视网膜病变是重要的。

这张图的主要目的是说明通过将ChatGPT生成的详细病症描述结合到CLIP模型中,可以显著提高模型的注意力集中度,进而可能提高医学图像分类和诊断的准确性。

 
虽然传统的大型模型(如GPT)具有一定程度的解释性,但这种解释性主要体现在模型输出的语言部分,而不足以直接应用于图像数据的解释性。

  1. 专业领域的语境:医学领域的术语和概念非常专业和复杂。

    传统的大型语言模型虽然能够产生解释性文本,但这些解释可能不足以覆盖或准确地反映医学图像中的具体病理特征。

    因此,需要专门设计的方法来确保生成的文本与医学诊断的专业性和准确性相匹配。

  2. 视觉和语言的结合:在零样本医学图像分类任务中,需要模型不仅理解文本描述,还要理解图像内容,并将两者结合起来进行准确的分类。

    传统的语言模型不直接处理图像数据,因此需要与视觉模型(如CLIP)结合,以实现跨模态的理解。

  3. 解释性的具体化:传统的大型语言模型可能能够解释语言任务中的决策,但在图像诊断中,解释需要与特定的视觉标记和生理结构相联系。

    通过加入医学图像中的具体病理特征描述,可以提高诊断的可解释性,使医疗专业人员更容易理解模型的决策过程。

  4. 可靠性和准确性的提升:在医学图像分析中,准确性至关重要。

    通过结合特定的医学知识和病理特征,可以提高模型对于医学图像的理解,从而提高分类和诊断的准确性。

  5. 可操作的解释:医生和医疗专业人员需要的不仅仅是模型能给出分类结果,还需要明白为什么会这样分类。

    提供详细的病理特征描述,可以帮助医疗专业人员理解模型的判断依据,这种操作层面的解释在实际应用中非常有价值。

 


零样本带解释性的医学大模型

面对零样本医学图像分类问题,误区是认为每个类别都需要大量标注样本才能进行有效的分类。

实际上,预训练的模型可以借助其已经学习到的丰富特征表示来弥补样本的不足。

结合VLMs来获取图像的视觉表示,同时利用LLMs生成有关的症状文本描述,并通过相似度计算实现精确的医学图像分类。

特征1: 使用CLIP的视觉编码器获取图像的视觉表示。

  • 使用原因: 视觉编码器能够捕捉图像的关键视觉特征。

特征2: 利用ChatGPT根据设计好的提示生成诊断类别的主要症状描述。

  • 使用原因: 症状描述增加了文本信息,有助于模型理解和识别图像中的医学特征。

特征3: 使用CLIP的文本编码器将症状描述转换为文本表示。

  • 使用原因: 文本编码器将自然语言转换成机器可处理的编码,使之可以与视觉表示相结合进行相似度比较。

特征4: 定义一个评分函数来计算图像-文本对的相似度。

  • 使用原因: 通过量化图像与文本描述的相似性,可以为分类提供依据。

如何使用CLIP模型和ChatGPT来进行零样本医学图像分类

在这里插入图片描述

  1. 文本输入:首先,将医学诊断类别(如"proliferative retinopathy")和设计的提示输入到ChatGPT模型。
  2. ChatGPT输出:ChatGPT根据输入生成与诊断类别相关的主要症状描述列表,如图中的1到m个不同的症状。
  3. 视觉输入:同时,医学图像作为视觉输入,通过CLIP的视觉编码器处理,生成视觉特征表示f。
  4. CLIP文本编码器:生成的症状描述(如图中的neovascularization,vitreous hemorrhage等)通过CLIP的文本编码器转换为文本特征表示g。
  5. 相似性计算:图像的视觉表示f和每个症状描述的文本表示g计算点积,得到一个相似性得分。
  6. 输出:所有相似性得分进行平均,最终得到的得分最高的类别(如图中显示的"No Apparent Retinopathy")被认为是图像的预测诊断类别。

这个方法提供了一个无需训练的框架,可以直接利用预训练的VLM和LLM进行医学图像的诊断。

通过结合图像的视觉特征和文本描述的症状,该方法可以识别出图像所代表的医学类别,从而实现零样本分类。

用特定提示查询ChatGPT所生成的医学视觉特征描述

在这里插入图片描述

这些描述用于帮助区分不同的诊断类别,例如肺炎、多形性胶质母细胞瘤、正常肺、没有明显的视网膜病变和结核病。

每个诊断类别下面都列出了ChatGPT根据文献生成的几个关键视觉特征。

相似性得分在不同症状上的可视化,用于解释模型的预测

在这里插入图片描述
图中的不同颜色条形表示图像与每个症状描述之间的相似度。

通过比较正确类别和CLIP错误推理的类别的相似度,展示了该框架准确性的来源。

注意力图的可视化

在这里插入图片描述
这些注意力图结合了医学图像和ChatGPT生成的文本描述。

它们展示了模型在识别不同病症时关注图像的哪些区域,例如在诊断增生性视网膜病变时关注到了纤维增生、新生血管形成、牵拉性视网膜脱离和玻璃体出血等特征。

对比使用设计的提示和基线提示时的注意力图


可以看到,不同提示生成的注意力焦点有所不同,说明提示设计对于模型关注的区域和诊断有显著影响。

关键点

  • 特征1:使用预训练的视觉-语言模型(如CLIP),利用其强大的图像和文本联合理解能力。
  • 特征2:结合大型语言模型(如ChatGPT)自动生成的文本描述,增加了对未见类别的描述性知识。
  • 特征3:设计特定的提示来优化ChatGPT生成的文本描述,提高其与医学图像相关性和准确性。

为ChatGPT选择和设计提示的细节

  1. 设计原则:设计提示时,首先确保使用医学领域内精确的术语。例如,如果是关于肺炎的提示,我们会使用“渗透”、“结节”等具体术语,而不是笼统的“异常”。

    此外,提示应该引导生成具体可见的病理特征描述,这些描述能够直观反映在图像上。

  2. 优化过程:通过逐步细化提示的语言,我们优化ChatGPT的输出。开始可能是一个简单的提示,如“描述肺炎的X射线图像特点”,然后根据生成的描述的质量,我们可能会添加更多具体性,如“描述细菌性肺炎在X射线图像上的表现”。

  3. 实际例子:在处理肺结核的分类任务时,我们可能会设计这样一个提示:“列出在肺结核患者的胸部X射线图像中可能观察到的特征”。

    ChatGPT可能会响应:“典型的肺尖部阴影和空洞形成”。

CLIP模型的视觉和文本编码器处理医学图像的方式

  1. 视觉编码器:CLIP的视觉编码器采用深度卷积网络,它通过学习大量图像数据,能够从医学图像中提取出代表性的特征,如肺部的阴影区域、肺纹理的变化等。

  2. 文本编码器:文本编码器则将ChatGPT生成的描述转化为与视觉特征相匹配的文本表示。

    它通过语义理解,将“空洞形成”等词汇编码为模型可以与视觉特征对比的形式。

  3. 特征整合:CLIP通过注意力机制,将视觉特征与文本特征相结合。

    例如,如果文本描述提到“肺尖部阴影”,模型的注意力机制会特别关注图像中相应区域的特征,以确保高度的匹配度。

多模态处理能力

图像与文本的融合:在CLIP中,视觉和文本的融合通过一个多模态变换器实现,它允许模型理解文本描述中的医学信息,并与图像中的相应视觉特征相结合。

注意力机制

注意力分配:在处理包含肺结核特征的X射线图像时,模型的注意力分配可能集中在图像的上部区域,因为肺结核往往在肺尖更容易表现出来。

注意力可视化:我们可以通过生成的热图看到,模型在肺尖区域的注意力明显增强,这与医学知识是一致的。

特征激活与识别

特征激活图:特征激活图展示了在识别含有肺结核特征的图像时,哪些卷积层被激活,反映出模型如何识别肺尖阴影和空洞等关键特征。

病理特征的自动标识:模型通过训练学会识别典型的肺结核病理特征,例如通过增强的边缘检测网络来自动标识空洞形成的区域。

决策过程的解释性

解释模型输出

通过将模型的分类决策与生成的文本描述和注意力机制的可视化相结合,我们能够提供一个全面的解释框架。

这种方法允许我们不仅展示模型如何“看到”图像中的特定病理特征,还能解释它为何将这些特征与特定的医学诊断相联系。

  1. 生成文本描述的利用:当ChatGPT生成的文本描述被用作模型分类的一部分时,这些描述本身就提供了关于模型决策过程的直接见解。

    例如,如果模型将一张X射线图像分类为显示肺炎特征,生成的文本可能包括“双肺见散在斑片状阴影”,这直接指向了模型识别的特定病理标记。

  2. 注意力机制的可视化:通过将注意力机制的输出以热图的形式可视化,我们可以展示模型在图像中关注的区域。

    这种可视化直观地证明了模型是如何根据文本描述中的关键词(如“阴影”或“增厚”)来定位图像中的相应区域。

  3. 与医学知识库的结合:将模型的预测与现有的医学知识库相结合,可以进一步增强解释性。

    例如,模型识别的图像特征和病理标记可以与医学数据库中的类似案例进行比较,从而为模型的决策提供额外的验证。

模型调整与优化

  1. 超参数调整:通过调整模型的超参数,如学习率或正则化因子,我们可以改变模型的学习过程和最终的注意力分配。

    这一调整过程需要基于模型在验证集上的表现来进行,以确保找到最优的参数设置,从而提高模型在新图像上的准确性和解释性。

  2. 模型微调:对于具体的医学图像分类任务,模型可能需要针对特定的数据集进行微调。

    这一过程包括在特定医学图像数据集上继续训练模型,以调整其权重,使之更好地适应任务。微调后的模型能够更准确地识别特定病理特征,同时也可能提供更加直观的解释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/487922.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

挑战杯 基于大数据的时间序列股价预测分析与可视化 - lstm

文章目录 1 前言2 时间序列的由来2.1 四种模型的名称: 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 &…

kafka为什么性能这么高?

Kafka系统架构 Kafka是一个分布式流处理平台,具有高性能和可伸缩性的特点。它使用了一些关键的设计原则和技术,以实现其高性能。 上图是Kafka的架构图,Producer生产消息,以Partition的维度,按照一定的路由策略&#x…

二手货wordpress企业网站主题模板

二手车wordpress主题模板 简洁的二手车wordpress主题模板,适合做二手车业务的公司官方网站使用。 https://www.jianzhanpress.com/?p3473 wordpress二手物资回收主题 绿色wordpress二手物资回收主题,用于二手物资回收公司WP建站使用。 https://www.…

07 MyBatis之高级映射 + 懒加载(延迟加载)+缓存

1. 高级映射 例如有两张表, 分别为班级表和学生表 自然, 一个班级对应多个学生 像这种数据 , 应该如果如何映射到Java的实体类上呢? 这就是高级映射解决的问题 以班级和学生为例子 , 因为一个班级对应多个学生 , 因此学生表中必定有一个班级编号字段cid 但我们在学生的实体…

MIT-BEVFusion系列九--CUDA-BEVFusion部署4 c++解析pytorch导出的tensor数据

目录 创建流打印 engine 信息打印结果内部流程 启动计时功能加载变换矩阵并更新数据(重要)内部实现 该系列文章与qwe一同创作,喜欢的话不妨点个赞。 在create_core方法结束后,我们的视角回到了main.cpp中。继续来看接下来的流程。…

【MySQL系列 04】深入浅出索引

一、索引介绍 提到数据库索引,相信大家都不陌生,在日常工作中会经常接触到。比如某一个 SQL 查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之类的解决方案。 但到底什么是索引,索引又是如何工作的…

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战【第95篇—自动化操作读写Excel 】

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战 在日常工作中,Excel表格是不可或缺的数据处理工具。为了提高工作效率,Python中的xlrd和xlwt模块为我们提供了强大的功能,使得自动化操作Excel变得更加简便。本文将介绍xlrd和…

FastJson反序列化漏洞(Fastjson1.2.47)

一、FastJson Fastjson 是一个阿里巴巴公司开源的 Java 语言编写的高性能功能完善的 JSON 库。可以将Java 对象转换为 JSON 格式(序列化),当然它也可以将 JSON 字符串转换为 Java 对象(反序列化) 它采用一种“假定有序快速匹配”的算法&…

Vue中如何使用dayjs

Day.js中文网Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。https://dayjs.fenxianglu.cn/ 单位不区别大小写,支持复数和缩写形式 单位缩写描述 date D日期 [1,31]dayd星期 [0,6](星期日0&#xff0c…

林浩然与杨凌芸的Swing组件奇遇记:从按钮到滚动条的UI大冒险

林浩然与杨凌芸的Swing组件奇遇记:从按钮到滚动条的UI大冒险 The Swing Component Odyssey of Lin Haoran and Yang Lingyun: A UI Adventure from Buttons to Scrollbars 在Java王国的一隅,程序员才子林浩然和智慧女神杨凌芸正在进行一场别开生面的UI设…

NXP实战笔记(八):S32K3xx基于RTD-SDK在S32DS上配置LCU实现ABZ解码

目录 1、概述 2、SDK配置 2.1、IO配置 2.2、TRGMUX配置 2.3、LCU配置 2.4、Trgmux配置 2.5、Emios配置 2.6、代码实现 1、概述 碰到光电编码器、磁编码器等,有时候传出来的位置信息为ABZ的方式,在S32K3里面通过TRGMUX、LCU、Emios结合的方式可以实现ABZ解码。 官方…

【深度学习】LoRA: Low-Rank Adaptation of Large Language Models,论文解读

文章: https://arxiv.org/abs/2106.09685 文章目录 摘要介绍LoRA的特点什么是低秩适应矩阵?什么是适应阶段?低秩适应矩阵被注入到预训练模型的每一层Transformer结构中,这一步是如何做到的? 摘要 自然语言处理的一个重…