ICLR 2023 | 基于视觉语言预训练模型的医疗图像小样本学习及零样本推理性能研究

news2024/11/26 22:18:16

近两年,视觉语言模型 (VLM) 逐渐兴起,并在小样本学习 (Few-shot Learning) 和零样本推理 (Zero-shot Inference) 上取得了令人注目的成果。那么这些在自然图像上取得成功的大规模预训练视觉语言模型,是否能成功应用到医疗领域呢?抱着这样的疑问,四川大学华西生物医疗大数据中心人工智能和医疗机器人实验室,华西医院-商汤科技联合实验室,上海人工智能实验室,以及北京邮电大学的联合研究详细全面地验证了,在合适的提示(Prompt)的帮助下,在自然图像上训练得到的视觉语言预训练模型能否在小样本甚至零样本的条件下迁移到医疗图像领域。相关论文 已经被人工智能顶级会议ICLR 2023(International Conference on Learning and Representation)接收。

论文标题:

Medical Image Understanding with Pretrained Vision Language Models: A Comprehensive Study

论文链接:

https://arxiv.org/abs/2209.15517v1

一、医疗大模型的稀缺性

医疗图像领域一直存在着数据缺乏的问题:医疗图像数据的标注相较于自然图像,需要更加专业的从业人员进行标注;针对一些罕见病例的数据很难形成规模;涉及到道德隐私等因素使得数据无法汇总公开。这一切都使得医疗图像领域迟迟没能发展出自己的大型预训练模型 PLM(Pretrained Large Model) 。因此,借助自然图像上的大型预训练模型进行迁移学习成为了一个顺理成章的选项。但是由于医疗图像和自然图像存在着较大的域跨度(Domain Gap),迁移训练模型的域泛化往往受到限制。

二、多模态预训练模型与语言不变性

通过视觉–语言的跨模态对齐训练,视觉语言模型(VLM)让模型具有了更好的泛化能力。多个VLM在小样本及零样本任务中表现良好。然而,现有的研究没有调查这些VLM是否能够理解较为少见的医学概念。部分研究显示,通过设计好的提示(Prompt),VLM能够识别同一个概念的不同视觉风格(比如能够识别一个物体的彩色照片,素描,或是卡通风格的图片)甚至是没有见过的概念(Unseen Concept)。我们认为,这种泛化能力主要归因于语言文字模态在跨域图像中具有一定的不变性,而由于视觉语言模型(VLM)对于语言和视觉模态的表达高度绑定,通过语言Prompt便能激活相应的视觉表达学习能力。

简言之,如果我们设计的prompt具有对物体的形状、颜色、纹理或位置等表达属性(Expressive Attribute)的描述,即使面对一个全新的医疗领域的概念,视觉语言模型也能够识别出相应的物体。为此,我们首先人工设计了一套prompt的模板,并在此基础上提出了多套自动生成prompt的方法来为不同的医疗概念生成对应的prompt。我们在13个公开的医疗图像数据集上验证了我们的想法,即一个含有丰富表达属性的prompt能够很好的帮助VLM在零样本或小样本的任务中获得巨大的表现提升。

三、医疗prompt的设计:从手动到自动

正如前文所说,想要激活预训练VLM的泛化能力,一个具有表达属性描述的Prompt显得尤为重要,但是如何获得这种Prompt是一个关键的问题。事实上,虽然现在自然语言处理(NLP)领域已经提出了不少从PLM当中提取知识的Prompt生成手段,但是它们无一是针对视觉任务而设计的。我们的prompt设计重点在于获得一个事物或概念的属性描述。我们设计了一个格式模板,让这种生成过程更加规律。

例如,我们对息肉(Polyp)这一医学概念设计的Prompt是:‘In rectum , Polyp is an oval bump, often in pink color.’ 我们分别插入了对位置,形状,和颜色的描述。但是手工设计这些prompt费时费力,且需要设计者具有一定的专业知识,于是我们进一步提出了自动生成prompt的流程。第一种方法是通过具有领域专业知识的预训练语言模型(LM) 去做掩码预测任务。例如,我们把属性单词设为Mask – ‘Polyp is in [Mask] color’. 有研究表明这种方法相比于问答式的方法能更有效地抽取出对应的知识。这种方法我们称之为MLM(masked language model)

上述方法是能够提取出一个概念或事物的综合属性,但是有一些属性可能具有多样性,所以我们需要对每张图单独的进行一次属性的筛查。在这方面,我们借助了生成式的预训练VLM,让它去回答我们针对属性的问题。例如我们提问:‘What color is this Polyp’,就可以得到针对这张图的属性词。这种方法我们称之为VQA(Visual Question Answering)

最终,我们也尝试将前面两种方式进行一定的融合,比如针对一些较为固定的属性(比如位置纹理)使用MLM方法来提取,针对一些不固定的属性(比如颜色形状)使用VQA方式来提取。这种方法我们称之为Hybrid方法

经实验验证,上述的几种方法在小样本或零样本检测任务中均取得了远高于仅使用目标事物或概念名称作为prompt的基线方法的表现。其中,自动设计的prompt和手动设计的prompt相比也有着不俗的成绩,但自动生成的方式时间成本要低得多。

四、在小样本及零样本任务中的全面优越性

为了全面地验证我们提出的prompt方法,我们收集了13个公开的医疗数据集,并且这些数据横跨了不同的医疗图像模态(CT, MRI, 超声,内窥镜,病理图像等)。

其中,虽然放射图像数据集由于和自然图像的域跨度较大,但我们发现仅需要少量样本微调(finetune)就能取得不错的效果,结果显示我们的方法在小样本的情况下表现大幅领先于传统的检测模型

在内窥镜,病理图像等其它数据中,我们发现无论是零样本的直接迁移还是小样本的微调迁移,VLM都取得了异常惊艳的表现。在零样本的场景下,我们通过手工模板和以及自动生成的方式获得了充满表达属性的prompt。我们主要对比了上述方式获得的prompt和仅使用目标事物或概念名称作为prompt的零样本检测效果。结果显示,我们的方法要远胜于使用概念名称作为prompt的基线方法。在小样本和全样本的场景下,我们的方法相比于传统的检测模型也具有较大的优势

部分可视化结果

五、总结

· 我们认为视觉语言预训练模型的泛化能力能够有效的缓解医疗图像领域存在的数据稀缺及领域跨度大的问题。合理的利用语言描述当中表达属性词在不同域中的不变性,是利用好视觉语言预训练模型的关键。我们用多个数据集和大量实验验证了我们的猜想。

· 我们提出了含有表达属性词的提示设计模板,并根据这一模板将设计流程自动化。提出了三种基于不同需求的自动prompt生成方式。

· 我们的方法对比传统检测模型在小样本检测任务下表现出了全面的优越性;对比仅使用目标事物名称作为提示词的方式,我们设计的提示在零样本检测任务上带来了巨大的提升。

作者:TechBeat硬核播报

Illustration by IconScout Store from IconScout

-The End-

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

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

相关文章

springboot项目中的mysql用国产数据库达梦替换的相关说明

一、 用“DM管理工具”的“管理用户”创建你需要用户,也是达梦的模式。 用户的权限问题可以直接角色授权,方便一些。 二、借用达梦的“DM数据迁移工具”做数据库的表内容转移。 1. 新建工程、新建迁移 编辑mysql的数据库源 编辑达梦的目的端数据库 选择之…

力扣119杨辉三角 II:代码实现 + 方法总结(数学规律法 记忆法/备忘录)

文章目录第一部分:题目第二部分:解法①-数学规律法2.1 规律分析2.2 代码实现2.3 需要思考第三部分:解法②-记忆法(备忘录)第四部分:对比总结第一部分:题目 🏠 链接:119.…

工业路由器IO远程控制使用说明(智联物联)

工业路由器IO控制是指路由系统已开发支持对用户DI(数字输入)/DO(数字输出)/Relay(继电器)类型的设备控制操作,目前各支持1路设备类型。 IO控制目前支持2种方式进行控制操作,即通过工…

C/C++每日一练(20230417)

目录 1. 字母异位词分组 🌟🌟 2. 计算右侧小于当前元素的个数 🌟🌟🌟 3. 加一 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 J…

【JavaScript】3.JavaScript预解析

JavaScript 预解析 1. 变量预解析 和 函数预解析 js引擎运行js 分为两步: 预解析 代码执行 预解析 js引擎会把js 里面所有的 var 还有 function 提升到当前作用域的最前面代码执行 按照代码书写的顺序从上往下执行 预解析分为 变量预解析(变量提升&…

0101壳-手写springboot-springboot系列

文章目录1 前言1 创建我们自己的pringboot模块1.1 引入相关依赖1.1 启动类注解1.2 启动类2 测试模块3 启动测试结语1 前言 springboot有以下作用: 简化配置:Spring Boot提供了一组预定义的自动配置选项,可以快速地配置应用程序,…

2023年虚拟数字人行业研究报告

第一章 行业概况 虚拟数字人指存在于非物理世界中,由计算机图形学、图形渲染、动作捕捉、深度学习、语音合成等计算机手段创造及使用,并具有多种人类特征(外貌特征、人类表演能力、人类交互能力等)的综合产物。虚拟人可分为服务型…

[Python工匠]输出① 变量与注释

变量(variable)是用来从内存找到某个东西的标记 #去掉s两边的空格,再处理 value process(s.strip()) s " hello World " value1 len(s) value2 len(s.strip())print(value1) print(value2) #用户输入可能会有空格&#x…

【云原生】k8s集群命令行工具kubectl之应用部署命令详解

kubectl应用部署命令详解一、准备工作1.1、Replication Controller1.2、Deployment1.3、DaemonSet1.4、查看创建的svc和pod1.5、kubectl 命令自动补全设置二、应用部署命令2.1、diff2.2、apply2.3、replace2.4、rollout2.4.1、history2.4.2、pause2.4.3、resume2.4.4、restart2…

Ubuntu20.04安装matlab2022b

Ubuntu20.04安装matlab2022b 1.系统要求 Ubuntu 22.04 LTSUbuntu 20.04 LTSUbuntu 18.04 LTSDebian 11Debian 10Red Hat Enterprise Linux 9Red Hat Enterprise Linux 8 (minimum 8.4)Red Hat Enterprise Linux 7 (minimum 7.9)SUSE Linux Enterprise Desktop 15SUSE Linux E…

【攻城狮计划】Renesas RA2E1 详细介绍

🚩WRITE IN FRONT🚩 🔎介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四"🔎🏅荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2022博客之星TOP10…

A40i使用笔记:QT使用alsa采集音频pcm信息

一、前言 目的是实现一种效果,就是在音频识别时,能够实时显示当前人员说话的声音幅度,通过波形曲线的形式显示出来。如下效果(非我实现) 还可以实现在实时采集的同时,将需要的数据保存成指定格式文件&…

状态设计模式(State Pattern)[论点:概念、相关角色、图示、示例代码、框架中的运用、适用场景]

文章目录概念组成角色相关图示代码示例框架中的应用适用场景概念 状态模式(State Pattern)是一种行为型设计模式,用于解决对象在不同状态下的行为问题。它允许一个对象在其内部状态改变时改变它的行为。状态模式主要包含三个部分:…

Day924.自动化测试 -系统重构实战

自动化测试 Hi,我是阿昌,今天学习记录的是关于自动化测试的内容。 自动化测试是一个很容易产生“争议”的话题,也经常会有一些很有意思的问题。 自动化测试不是应该由测试同学来编写吗,开发是不是没有必要学吧?之前…

圆角升级啦,来手把手一起实现自定义ViewGroup的各种圆角与背景

作者:newki 定制圆角与背景的自定义ViewGroup实现 前言 目前线上的一些第三方圆角容器大部分都只支持四周固定圆角,我们一些使用场景只需要顶部圆角,或者底部圆角,或者一个角圆角。 (话说为什么我们的UI这么喜欢各种…

webpack plugin源码解析(四) HashedModuleIdsPlugin

文章目录作用涉及 webpack API获取chunkGraph获取当前编译过程中被使用过的 module id:compilation.usedModuleIds获取当前编译过程中所有的模块对象:compilation.modules判断 module 是否需要生成 id:module.needId获取指定module 的 module…

新品首发丨计讯物联智慧灯杆TG473-A6-5“滴水不进”,严苛环境下稳定运行无压力

近年来,智慧灯杆产业快速发展,已广泛应用于智慧城市、智慧交通、智慧园区、智慧停车等细分场景,提质增效、节本降耗的作用突显。值得注意的是,不同的场景有着不同的环境条件,如高低温、潮湿、沙尘等,对智慧…

Nginx学习(9)—— 负载均衡模块

文章目录Nginx负载均衡模块负载均衡配置指令钩子初始化配置初始化请求peer.get和peer.free回调函数小结Nginx负载均衡模块 负载均衡模块用于从”upstream”指令定义的后端主机列表中选取一台主机。nginx先使用负载均衡模块找到一台主机,再使用upstream模块实现与这…

应急响应 - Windows进程分析,Windows网络分析,tasklist,wmic process

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 进程网络排查一、Tasklist1、tasklist /v1、tasklist /svc2、tasklist /m二、wmic proces…

JAVAWeb02-CSS

1. CSS CSS 指的是层叠样式表 (Cascading Style Sheets) 1.1 概述 1.1.1 官方文档 地址: https://www.w3school.com.cn/css/index.asp 1.1.2 为什么需要 CSS 在没有 CSS 之前,我们想要修改 HTML 元素的样式需要为每个 HTML 元素单独定义样式属性,费心…