PromptKD:视觉语言模型的无监督提示提取

PromptKD:视觉语言模型的无监督提示提取
快速学习已成为增强视觉语言模型(VLM)的一种有价值的技术,例如用于特定领域下游任务的CLIP。现有的工作主要集中在设计各种学习形式的提示,忽视了提示作为从大型教师模型中学习的有效蒸馏器的潜力。介绍了一种无监督的领域提示蒸馏框架,旨在通过使用未标记的领域图像进行提示驱动的模仿,将较大教师模型的知识转移到轻量级目标模型。具体来说,改进方法的框架由两个不同的阶段组成。在初始阶段,使用域(少镜头)标签对大型CLIP教师模型进行预训练。经过预训练后,利用CLIP的独特解耦模态特性,通过教师文本编码器一次性预计算文本特征并将其存储为类向量。在后续阶段,存储的类向量在教师和学生图像编码器之间共享,用于计算预测的logits。此外,通过KL散度对齐教师和学生模型的逻辑,鼓励学生图像编码器通过可学习的提示生成与教师相似的概率分布。所提出的快速蒸馏过程消除了对标记数据的依赖,使算法能够利用域内大量未标记的图像。最后,利用训练有素的学生图像编码器和预存的文本特征(类向量)进行推理。这是第一个(1)对CLIP进行无监督的领域特定提示驱动知识提取的人,以及(2)建立一种实用的文本特征预存储机制作为教师和学生之间的共享类向量。在11个数据集上进行的广泛实验证明了改进方法的有效性。代码可在以下网址公开获取https://github.com/zhengli97/PromptKD
基于新泛化的谐波均值(HM)比较,如图3-25所示。
 
 
添加图片注释,不超过 140 字(可选)
图3-25 基于新泛化的谐波均值(HM)比较
在图3-25中,所有方法均采用预训练CLIP模型中的ViT-B/16图像编码器。PromptKD在11个不同的识别数据集上实现了最先进的性能。
CLIP的经典KD范式(同样是CLIP-KD)和快速蒸馏框架之间的架构比较,如图3-26所示。
 
 
添加图片注释,不超过 140 字(可选)
图3-26 CLIP的经典KD范式(同样是CLIP-KD)和快速蒸馏框架之间的架构比较
在图3-26中,(a)经典的KD方法在独立的教师和学生模型之间进行蒸馏。学生通常完全被老师的软标签所迷惑。(b)PromptKD打破了师生独立的规则。建议重用教师预训练阶段之前训练有素的文本特征,并将其合并到学生图像编码器中,以进行提取和推理。
提出的快速蒸馏(PromptKD)框架概述,如图3-27所示。
 
 
添加图片注释,不超过 140 字(可选)
图3-27 提出的快速蒸馏(PromptKD)框架概述
在图3-27中,(a)首先使用现有的最先进的快速学习方法和标记的训练图像,对大型CLIP教师模型进行预训练。然后,将所有可能类的训练有素的文本特征保存到下一阶段。(b)在蒸馏阶段,训练侧重于学生图像提示和项目层,当使用预先保存的文本特征作为类向量时,没有与文本编码过程相关的额外计算开销。(c)最后,利用训练有素的学生和预先存储的类向量进行推理。

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

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

相关文章

el-image图片预览显示bug

原本代码 <el-table-column label="附件" width="120"><template #default="scope"><el-imagev-if="scope.row.attachmentUrl":src="scope.row.attachmentUrl":preview-src-list="[scope.row.attachmen…

《HelloGitHub》第 103 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短…

.NET使用Moq开源模拟库简化单元测试

前言 今天大姚给大家推荐一个.NET开源、流行、使用简单的.NET模拟库:Moq。 Moq类库介绍 Moq是一个.NET开源、流行、使用简单的 .NET 模拟库,充分利用了.NET 的 Linq 表达式树和 lambda 表达式。这使得 Moq 成为最具生产力、类型安全且支持重构的模拟库。它不仅支持模拟接口,…

Codeforces Global Round 27 div1+2 个人题解(A~E)

Codeforces Global Round 27 div1+2 个人题解(A~E) Dashboard - Codeforces Global Round 27 - Codeforces 火车头 #define _CRT_SECURE_NO_WARNINGS 1#include <algorithm> #include <array> #include <bitset> #include <cassert> #include <cmat…

2024.10.22(周二)

[实验任务一]:女娲造人使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。实验要求:1.画出对应的类图;2.提交源代码;3.注意编程规范。…

实验3 c语言函数应用编程

task1:1 #include<stdio.h>2 3 char score_to_grade(int score);4 5 int main() {6 int score;7 char grade;8 9 while (scanf_s("%d",&score) != EOF) { 10 grade = score_to_grade(score); 11 printf("分数:%d,等级:%c…

JMeter JMeter-pugin-rabbitMQ消息发布插件

开发环境 RabbitMQ 3.9.16 Erlang 23.3.4.11 Apache-jmeter-5.3 Apache Maven 3.5.4 JDK 1.8.0_121 插件下载地址 https://gitee.com/ishouke/jmeter-plugin-rabbitmq/tree/master 插件使用方法 插件配置 将插件及依赖类库目录下的所有.jar 文件放到 %JMETER_HOME\lib\ext目录…

读数据工程之道:设计和构建健壮的数据系统22获取阶段考虑因素

获取阶段考虑因素1. 有边界与无边界数据 1.1. 无边界数据是现实中存在的数据,是事件发生时的数据,要么是间断的,要么是连续的、持续的和流动的 1.2. 有边界数据是跨越某种边界(如时间)对数据进行归类的一种便捷方式1.2.1. 所有的数据在有边界之前都是无边界的1.3. 长期以来…

mobian trixie 安装 docker

手机刷了 mobian 想安装 docker,记录安装过程中的一些问题 1. 更新软件包列表 sudo apt-get update2. 安装依赖包 sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release3. 添加 Docker 的官方GPG密钥 curl -fsSL https://download.docker.com/linux/…

龙哥盟-PMP-课程笔记-三-

龙哥盟 PMP 课程笔记(三) 2024PMP认证考试课程(第六版+敏捷+第七版) - P6:2.1-2.3 组织过程资产 - 慧翔天地PMP课堂 - BV1By411b7qM 运行环境阶段的课程吧。轻松加愉快,基本上听一听,没什么需要去背的东西,就这么三大块,事业环境因素和组织过程资产,然后呢说了一个组…

龙哥盟-PMP-课程笔记-十九-

龙哥盟 PMP 课程笔记(十九) 【2023敏捷认证】全新PMP考试ACP敏捷知识点精讲视频教程! - P8:06敏捷实施:在敏捷环境中交付 - PMP项目管理那些事 - BV1oP411S7xp 好,那么下面呢我们来讲一下啊,这个在敏捷环境当中的如何去交付啊。呃,那么先前的话我们也是呃讲到呢,在实施…