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

带解释性的医学大模型

    • 提出背景
      • 解法拆解
      • 方法的原因
      • 对比以前解法
    • 零样本带解释性的医学大模型
      • 如何使用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.mzph.cn/news/701924.shtml

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

相关文章

公众号回复idea能给出下载链接。

你可以使用字典来存储这些数据,然后在接收到消息时根据消息内容在字典中查找对应的回复内容。 这样做不仅可以更优雅地管理多组数据,还可以轻松地扩展和维护。msg parse_message(message) reply_dict {"idea": "https://pan.baidu.com/…

【数据结构】时间复杂度(加法乘法规则、渐近时间复杂度、循环时间复杂度总结

2.2 时间复杂度 什么是时间复杂度? 评估算法时间开销 T ( n ) O ( f ( n ) ) T(n)O(f(n)) T(n)O(f(n)) 在实际求解中,只留表达式中最高阶的部分,丢弃其他部分。 如何求解? 求解步骤 1.找到一个最深层的基本操作; 2.分…

03|分页查询优化

1. 根据自增且连续的主键排序 使用条件:主键连续且自增 & 结果按照主键排序 select * from employees limit 90000,5;理论上应该走主键索引, 为什么现在type是 all呢? ● 查询第9w行数据开始的5条数据时属于深度分页。 ● limit 90000 5工作原理就是先读取前面…

mac下使用jadx反编译工具

直接执行步骤: 1.创建 jadx目录 mkdir jadx2.将存储库克隆到目录 git clone https://github.com/skylot/jadx.git 3. 进入 jadx目录 cd jadx 4.执行编译 等待片刻 ./gradlew dist出现这个就代表安装好了。 5.最后找到 jadx-gui 可执行文件,双击两下…

C/C++暴力/枚举/穷举题目(刷蓝桥杯基础题的进!)

目录 前言 一、百钱买百鸡 二、百元兑钞 三、门牌号码(蓝桥杯真题) 四、相乘(蓝桥杯真题) 五、卡片拼数字(蓝桥杯真题) 六、货物摆放(蓝桥杯真题) 七、最短路径(蓝…

Unity中URP实现水体效果(泡沫)

文章目录 前言一、给水上色1、我们在属性面板定义两个颜色2、在常量缓冲区申明这两个颜色3、在片元着色器中,使用深度图对这两个颜色进行线性插值,实现渐变的效果 二、实现泡沫效果1、采样 泡沫使用的噪波纹理2、控制噪波效果强弱3、定义_FoamRange来控制…

自定义神经网络二之模型训练推理

文章目录 前言模型概念模型是什么?模型参数有哪些神经网络参数案例 为什么要生成模型模型的大小什么是大模型 模型的训练和推理模型训练训练概念训练过程训练过程中的一些概念 模型推理推理概念推理过程 总结 前言 自定义神经网络一之Tensor和神经网络 通过上一篇…

yolov8添加注意力机制模块-CBAM

修改 在tasks.py(路径:ultralytics-main/ultralytics-main - attention/ultralytics/nn/tasks.py)文件中,引入CBAM模块。因为yolov8源码中已经包含CBAM模块,在conv.py文件中(路径:ultralytics-…

业务流程管理系统(BPMS):一文掌握,组织业务流程优化必备。

大家好,我是大美B端工场,本期继续分享商业智能信息系统的设计,欢迎大家关注,如有B端写系统界面的设计和前端需求,可以联络我们。 一、什么是BPMS系统 BPMS是Business Process Management System(业务流程管…

学习Python分支结构不走弯路

1.单分支语句 """ 语法: if 表达式:执行语句 执行流程:当表达式成立的时候,执行语句,否则不执行 """age int(input(请输入你的年龄:)) if age > 18:print(欢迎光临!) …

二进制部署k8s集群之cni网络插件

目录 k8s的三种网络模式 pod内容器之间的通信 同一个node节点中pod之间通信 不同的node节点的pod之间通信 flannel网络插件 flannel的三种工作方式 VxLAN host-GW UDP Flannel udp 模式 Flannel VXLAN 模式 flannel插件的三大模式的总结 calico网络插件 k8s 组网…

ABC342 A-G

HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342) - AtCoder 被薄纱的一场 A - Yay! 题意: 给出一串仅由两种小写字母构成的字符串,其中一种小写字母仅出现一次,输出那个仅出现一次的小写字母的位置…

PyTorch概述(五)---LINEAR

torch.nn.Linear torch.nn.Linear(in_features,out_features,biasTrue,deviceNone,dtypeNone) 对输入的数据应用一个线性变换: 该模块支持TensorFLoat32类型的数据;在某些ROCm设备上,使用float16类型的数据输入时,该模块在反向传…

文本左右对齐

题目链接 文本左右对齐 题目描述 注意点 words[i] 由小写英文字母和符号组成每个单词的长度大于 0,小于等于 maxWidth输入单词数组 words 至少包含一个单词要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格…

Unity中URP实现水体(水下的扭曲)

文章目录 前言一、使用一张法线纹理,作为水下扭曲的纹理1、在属性面板定义一个纹理,用于传入法线贴图2、在Pass中,定义对应的纹理和采样器3、在常量缓冲区,申明修改 Tilling 和 Offset 的ST4、在顶点着色器,计算得到 应…

目标检测开源数据集——太阳能板缺陷

简介 太阳能板,也称为太阳能电池板,是一种将太阳能转化为电能的设备。它的主要作用包括: 提供电力:太阳能板通过吸收阳光,将其转化为直流电,这种电能可以被各种设备使用。例如,它可以为家庭、…

重生奇迹MU职业排行

1、魔法师:魔法师是奇迹MU中最具实力的职业之一,他们拥有顶级的范围输出能力,同时还具备不错的控制技能。此外,魔法师还具有位移和护盾保命技能,技能伤害非常高,使其在游戏中具有很高的生存和攻击能力。 2…

第十四章 Linux面试题

第十四章 Linux面试题 日志t.log(访问量), 将各个ip地址截取,并统计出现次数,并按从大到小排序(腾 讯) http://192. 168200.10/index1.html http://192. 168.200. 10/index2.html http:/192. 168 200.20/index1 html http://192. 168 200.30/…

【Redis】搞懂过期删除策略和内存淘汰策略

1、过期删除策略 1.1、介绍 Redis 是可以对 key 设置过期时间的,因此需要有相应的机制将已过期的键值对删除,而做这个工作的就是过期键值删除策略。 每当我们对一个 key 设置了过期时间时,Redis 会把该 key 带上过期时间存储到一个过期字典…

【Web】CTFSHOW 常用姿势刷题记录(全)

目录 web801 web802 web803 web804 web805 web806 web807 法一:反弹shell 法二:vps外带 web808 web809 web810 web811 web812 web813 web814 web815 web816 web817 web818 web819 web820 web821 web822 web823 web824 web825…