ICCV2023 | PTUnifier+:通过Soft Prompts(软提示)统一医学视觉语言预训练

论文标题:Towards Unifying Medical Vision-and-Language Pre-training via Soft Prompts
代码:https://github.com/zhjohnchan/ptunifier
Fusion-encoder type和Dual-encoder type。前者在多模态任务中具有优势,因为模态之间有充分的相互作用; 后者由于具有单模态编码能力,擅长单模态和跨模态任务。该论文PTUnifier统一这两种类型(这里的统一包括模型和输入模态)。
一、IDea
医学数据通常是多模态的,视觉数据(例如,放射照相、磁共振成像和计算机断层扫描)和文本数据(例如,放射学报告和医学文本)。在日常临床实践中成对收集的。医学视觉和语言预训练(MedVLP)旨在从大规模医学图像-文本对中学习通用表示,然后将其迁移到各种医疗任务中,有助于解决医疗领域的数据稀缺问题。

由于缺乏单模态编码,融合编码器不能有效地完成单模态任务和跨模态任务,而双编码器由于模态之间的交互不足,在多模态任务中表现不佳,如图1(a)所示。
二、Model(Bridging the Gap)
模型预训练可以表示为:

1、Unifying Inputs via Prompts
通过soft prompts 统一输入,以执行不同类型的任务。工作机制类似于DETR中的查询向量。
Compatibility using Soft Prompts

Scalability of Soft Prompts
构建了一个视觉/文本提示池,而不是 static prompts。prompt的选择取决于input embedding。定义一个视觉提示池V和一个文本提示池T。给定 visual embedding sequence Xv输入或 its textual embedding sequence Xl输入,进行池化操作(例如,平均/最大池化),得到现有模态的查询向量(记为qv或ql),即qv = pooling(Xv)和ql = pooling(Xl)。为了得到缺失模态的prompt,根据查询向量与缺失模态池中所有prompts的相似度得分来选择prompt:

Intuitive Explaination:将可视提示池视为一个查询库,其中存储了用于在缺少一个模态时提取单模态特征的query。
Unifying Multiple Pre-training Objectives
Masked Language Modeling (MLM)

Image-Text Matching (ITM)

Image-Text Contrast (ITC)

三、The Model Architecture
首先将视觉和文本标记映射到嵌入空间(Xv和Xl),这些带有或不带有prompts的token embedding将由相同的backbone Mθ共同处理。
1、Visual and Textual Embeddings
Visual:

Textual:

2、The Backbone Model
该模型可以是一个有效模型(包括单模态编码器和多模态融合模块),也可以是一个有效模型(即单个Transformer模型),特征提取后:

四、Experimental Settings
1、Pre-training Datasets
ROCO、MedICaT、MIMIC-CXR
2、Results
Main Results
现有的研究仅针对单一任务设计,而论文方法通常针对所有视觉和/或语言相关的任务,也就是说,没有针对特定任务进行任何量身定制的调整。

Ablation Study
融合编码器(即MLM和ITM)的目标模型(即ID 3和5)获得比没有它们的其他模型更强大的多模态表征。
双编码器的图像-文本对比学习有助于模型(即id4和id5)学习单模态图像表征和跨模态表征,并且使用ITC目标预训练的模型优于未使用ITC目标预训练的模型。
ITC目标并没有提高单模态文本分类任务的性能。
同时实现两类目标可以促进模型(即ID 5)在所有任务中获得最佳性能,从而证实了融合编码器和双编码器统一研究方向的可行性。

Effects of Soft Prompt
使用不同池大小(范围从0到2048)进行预训练。

(i)虽然池大小的扩大导致参数数量的增加,但与总参数(350M)相比,引入的参数并不太多(少于0.5%);
(ii)所有有Soft Prompt Pools的模型都比没有Soft Prompt Pools(即池大小为0)的模型收敛性更好(收敛损失更小),证明了引入提示池的有效性;
(iii)发现设置合适的池大小很重要,当池大小设置为1024时,模型收敛效果最好。这可能是由于池大小控制了在预训练过程中存储的查询信息的数量,而具有大容量的大池可能会“吸收”预训练语料库中的太多噪声。
论文中有意思的是竟然做ITC预训练任务时,把两个模态拆开,分别在soft prompts pools里面找其对应的模态(visual->textual, textual->visual),这样在缺失一个模态的输入的时候,直接在pools中找即可。但是应该有个问题存在,pools中的向量就能准确代表缺失的模态吗?其实在小领域还好,但是在通用领域会不会受限(当然可以通过调节pools size来缓解)?是不是可以像VQ-VAE中使用向量字典的方式来组成缺失的目标对象,而不是直接计算相似度?
相关文章:
ICCV2023 | PTUnifier+:通过Soft Prompts(软提示)统一医学视觉语言预训练
论文标题:Towards Unifying Medical Vision-and-Language Pre-training via Soft Prompts 代码:https://github.com/zhjohnchan/ptunifier Fusion-encoder type和Dual-encoder type。前者在多模态任务中具有优势,因为模态之间有充分的相互…...
代码随想录 Leetcode459. 重复的子字符串(KMP算法)
题目: 代码(首刷看解析 KMP算法 2024年1月18日): class Solution { public:void getNext(string& s,vector<int>& next) {int j 0;next[0] j;for (int i 1; i < s.size(); i) {while (j > 0 && s…...
Rust之构建命令行程序(三):重构改进模块化和错误处理
开发环境 Windows 10Rust 1.74.1 VS Code 1.85.1 项目工程 这次创建了新的工程minigrep. 重构改进模块化和错误处理 为了改进我们的程序,我们将修复与程序结构及其处理潜在错误的方式有关的四个问题。首先,我们的main函数现在执行两项任务:解析参数和…...
广和通AI解决方案“智”赋室外机器人迈向新天地!
大模型趋势下,行业机器人将具备更完善的交互与自主能力,逐步迈向AI 2.0时代,成为人工智能技术全面爆发的重要基础。随着行业智能化,更多机器人应用将从“室内”走向“室外”,承担更多高风险、高智能工作。复杂的室外环…...
C++I/O流——(4)格式化输入/输出(第二节)
归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言📝 含泪播种的人一定能含笑收获ÿ…...
九、K8S-label和label Selector
label和label selector 标签和标签选择器 1、label 标签: 一个label就是一个key/value对 label 特性: label可以被附加到各种资源对象上一个资源对象可以定义任意数量的label同一个label可以被添加到任意数量的资源上 2、label selector 标签选择器 L…...
【.NET Core】 多线程之(Thread)详解
【.NET Core】 多线程之(Thread)详解 文章目录 【.NET Core】 多线程之(Thread)详解一、概述二、线程的创建和使用2.1 ThreadStart用于无返回值,无参数的方法2.2 ParameterizedThreadStart:用于带参数的方法 三、线程的…...
苹果笔记本 macbook 在 office word 中使用 mathtype 的方法
前言 想在 MacBook 中使用 mathtype,去搜索,去 Apple Store 下载也发现没有 解决方法 打开 office Word 的「插入」中的「获取加载项」、「我的加载项」。 在应用商店中下载,需要登录自己的微软账号。 加载成功后就可以使用了。 注意 和…...
课表排课小程序怎么制作?多少钱?
在当今的数字化时代,无论是购物、支付、点餐,还是工作、学习,都离不开各种各样的微信小程序。其中,课表排课小程序就是许多教育机构和学校必不可少的工具。那么课表排课小程序怎么制作呢?又需要多少钱呢? …...
C语言总结十三:程序环境和预处理详细总结
了解程序的运行环境可以让我们更加清楚的程序的底层运行的每一个步骤和过程,做到心中有数,预处理阶段是在预编译阶段完成,掌握常用的预处理命令语法,可以让我们正确的使用预处理命令,从而提高代码的开发能力和阅读别人…...
tinyxml2
使用tinyxml2,得知道一些xml基础 xml tutorial--菜鸟 tinyxml2类对象 链接 结构 XMLNode 什么是节点 节点:元素、声明、文本、注释等。 XMLDocument xml文档(文件)对象。 作用: 加载xml文件, tinyxml2作用 先定义两个宏 …...
What is `@Controller` does?
Controller 是SpringMVC注解,标记一个类作为Web控制器(Controller),负责处理HTTP请求并返回响应结果 在SpringMVC中,控制器类的主要职责是: 1、接收来自客户端的HTTP请求 2、调用服务层或其他业务逻辑组件…...
新版AndroidStudio dependencyResolutionManagement出错
在新版AndroidStudio中想像使用4.2版本或者4.3版本的AndroidStudio来构造项目?那下面这些坑我们就需要来避免了,否则会出各种各样的问题。 一.我们先来看看新旧两个版本的不同。 1.jdk版本的不同 新版默认是jdk17 旧版默认是jdk8 所以在新版AndroidSt…...
第三天业务题
3-1 你们的项目是如何进行参数校验的 在我们的项目中,通常使用以下2种方式进行参数校验: 1.手动校验:在方法内部,我们可以手动编写代码来对参数进行校验。例如,使用条件判断语句(if-else)来检…...
nestjs 装饰器
1、装饰器定义 装饰器是一种特殊的类型声明,它可以附加在类、方法、属性、参数上边 需开启tsconfig.json中 "experimentalDecorators":true 生成tsconfig.json文件 tsc -init 2、类装饰器 // 类装饰器 主要是通过符号添加装饰器 // 装饰器会自动把cl…...
一款开源且不限制大小可以设置过期时间的支持分享的的开源文件共享系统picoshare 部署教程
1.拉取镜像 2.部署 创建目录 mkdir -p /opt/picoshare/data 部署 其中:"somesecretpass"是密码 docker run \--env "PORT4001" \--env "PS_SHARED_SECRETsomesecretpass" \--publish 10005:4001/tcp \--volume "/opt/picoshare/data:…...
eBPF运行时安全
引言 eBPF作为当前linux系统上最为炙手可热的技术,通常被用于网络流量过滤和分析、系统调用跟踪、性能优化、安全监控,当下比较知名的项目有Cilium、Falco等。 Cilium 是一个开源的容器网络和安全性项目,致力于提供高效的容器通信和强大的安…...
Linux 系统中常见的命令,它们用于执行各种任务,包括文件和目录管理、系统信息查看、用户管理等
以下是一些在 Linux 系统中常见的命令,它们用于执行各种任务,包括文件和目录管理、系统信息查看、用户管理等。这里列举了一些基础的命令: 文件和目录管理: ls: 列出目录内容。 ls cd: 切换当前目录。 cd /path/to/directory …...
AutoEventWireup详解
AutoEventWireup详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们深入探讨.NET开发中一个神奇而强大的特性——AutoEventWireupÿ…...
SAP ABAP 自定义流水号 编号范围
前言 在开发中经常会遇到生成编号的需求(如接口报文ID,自建表数据主键等);为此,SAP提供了自动编号工具,能根用户需求设定并自动生成一组唯一的编号。 编号范围对象的创建 1.进入事务代码SNRO,创建一个编号范围对象。…...
intv_ai_mk11部署教程:公网IP+端口直连的安全加固方案(反向代理+访问限流)
intv_ai_mk11部署教程:公网IP端口直连的安全加固方案(反向代理访问限流) 1. 环境准备与快速部署 1.1 系统要求 操作系统:Ubuntu 20.04/22.04 LTSGPU:NVIDIA显卡(至少16GB显存)内存࿱…...
如何用LangChain开发一个Agent,20分钟包教包会!
26年一定是一个 Agent 大年,我这边持续出系列文章,帮助大家更好的落地 Agent,今天的重点是程序员最常用的 Agent 框架 LangChain。 只不过这东西可能由于 AI Coding 的成熟,由给人看变成给 AI 看的。 LangChain 既是一个开源的A…...
关于整数和浮点数在内存中的存储
了解整数和浮点数在内存中的存储可以更有助于我们深入理解知识,在解一些题时也能起到重要的作用,是我们在学C中不可或缺的重要组成部分,接下来我简要介绍一下:首先,整数就是用二进制码存储。在内存中以补码的形式进行存…...
Stable Yogi Leather-Dress-Collection企业应用:服装品牌AI趋势图快速验证系统
Stable Yogi Leather-Dress-Collection企业应用:服装品牌AI趋势图快速验证系统 1. 项目概述 Stable Yogi Leather-Dress-Collection是一款专为服装品牌设计的AI趋势图快速验证工具,基于先进的Stable Diffusion技术开发。这个工具能够帮助设计师和品牌快…...
FK-Onmyoji:阴阳师终极自动化护肝助手完整使用指南
FK-Onmyoji:阴阳师终极自动化护肝助手完整使用指南 【免费下载链接】FK-Onmyoji 阴阳师抗检测多功能脚本 项目地址: https://gitcode.com/gh_mirrors/fk/FK-Onmyoji 阴阳师玩家们,是否厌倦了重复枯燥的日常任务?FK-Onmyoji为您带来革命…...
javaweb有声漫画售卖商城
目录同行可拿货,招校园代理 ,本人源头供货商功能模块划分技术实现要点扩展功能设计安全与合规项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块划分 用户模块 注册与登录&#…...
Qwen2.5-VL-7B-InstructGPU优化指南:视觉特征缓存机制与响应速度实测对比
Qwen2.5-VL-7B-Instruct GPU优化指南:视觉特征缓存机制与响应速度实测对比 1. 项目概述与优化背景 Qwen2.5-VL-7B-Instruct作为一款先进的多模态视觉-语言模型,在处理图像和文本交互任务时展现出强大能力。但在实际部署中,我们发现其GPU资源…...
低功耗psram在嵌入式存储领域的作用
在嵌入式存储领域,低功耗PSRAM(伪静态随机存取存储器)正逐渐成为智能穿戴、物联网设备等对功耗和体积敏感应用的理想选择。那么,PSRAM究竟有什么作用?为什么它能在低功耗场景中脱颖而出? 1.psram是什么 PS…...
AI深度学习中的张量计算理论与实践
AI深度学习中的张量计算理论与实践...
3步解锁缠论交易:通达信可视化插件让复杂技术分析变简单
3步解锁缠论交易:通达信可视化插件让复杂技术分析变简单 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 缠论作为中国股市技术分析的重要理论体系,其核心价值在于揭示价格波动的内…...
