AAAI 2023 | 语言模型如何增强视觉模型的零样本能力 ?

news2024/11/24 3:33:00

文章链接:https://arxiv.org/abs/2207.01328

项目地址:https://github.com/zjukg/DUET

该论文设计了一种新的零样本学习范式,通过迁移语言模型中的先验语义知识,与视觉模型的特征感知能力进行对齐,以增强后者对于未见过图像的识别能力。

标图1:属性级对比学习题

引言

零样本学习(Zero-shot learning, ZSL)旨在预测在训练期间从未出现过样本的未知类别。对于零样本图像分类来说,最有效且广泛使用的语义信息是属性,它们用于描述类别级别视觉特征。然而当前的方法难以区分图像间的微妙视觉差异,这不仅来源于细粒度属性注释的不足,还由于属性间的不平衡和共现现象。

标图2-1:属性间的不平衡和共现现象题

图2-2:属性间的不平衡和共现现象

在本文中,作者提出了一种基于Transformer的端到端零样本学习方法(DUET),它通过自监督的多模态学习范式将来自预训练语言模型的潜在语义知识进行整合。贡献如下:

(1)开发了一个跨模态语义基准网络,以研究模型从图像中分离语义属性的能力;

(2)应用了基于属性级对比学习的策略,进一步增强模型对细粒度视觉特征的区分能力,克服属性的共现和不平衡问题;

(3)提出了多任务学习策略,考虑多模型目标。该方法可以同时在连续型的属性向量和离散型/结构化属性特征场景下工作,具有比较好的迁移泛化能力。

传统的零样本学习范式v.s. DUET学习范式

传统的零样本学习模式主要强调利用更多外部类别知识、进行数据增强,或研究更好的视觉编码器。相比而言,该框架强调跨模态模型的知识迁移(图3所示)。利用预训练语言模型(PLMs)的知识,以自监督的方式将知识转移到视觉转换器编码器中,从而实现对细粒度语义的有效定位

具体来说,其利用基于提示(prompt)的特征序列转换(FST),将不同类型的属性转换为文本序列。通过跨模态的语义定位网络(Cross-modal Semantic Grounding)和属性级对比学习(attribute-level contrastive learning)机制,利用跨模态的掩码复原(cross-modal mask reconstruction)训练目标从PLM中传递语义知识,同时缓解属性不平衡和共现问题,提高模型对细粒度视觉特征的区分能力。

图3:学习范式对比标题

方法概览

标图4:DUET 模型总览题

本文引入了一个巧妙的属性级别对比学习的模式,让模型来重点关注那些整体相似的图像中,容易造成困扰的细粒度特征差异。

  • 第一步是属性值序列化,文章从nlp社区中广泛运用的prompt中获得启发,借鉴表格预训练中的序列化模式,将图片属性值以key: [value,…]的形式进行文本序列化。这样做的好处是可以兼容多种不同的属性格式,包括知识图谱(KG)形式,向量形式,离散格式。当然,为了增加属性分布的多样性(diversity),作者对属性列表进行了基于概率的剪枝(attributes pruning),目的是为了防止模型因为属性的频繁共现而陷入懒惰学习。

  • 跨模态的掩码复原。想法其实很直接,图像和文本同时输入,文本掩码,让模型强制从图像信息中获得相关属性来恢复掩码。这种方法其实在早期的多模态预训练模型中非常见,目的是让模型对齐视觉/语言的理解。而本文用一种巧妙的方法,让视觉模型的零样本学习能力得到了强化:

  • 使用预训练的语言模型(Bert)+预训练视觉模型(ViT,Swin,DeiT等),通过添加跨模态注意力层(cross-attention layer)进行桥接,而不是直接用多模态预训练模型。这样的好处是可以最大程度利用语言模型的语义信息和视觉模型的理解能力

  • 在视觉模型选择上,规避掉了使用ImageNet-21K进行预训练的模型,避免零样本测试过程中样本泄露。(测试集的图片不应该在预训练过程见过)

  • 属性级别的对比学习(Attribute-level Contrastive Learning)。本文的核心贡献点,可以用图1表示:对于一个目标样本,选择与其整体特征相似度高的作为负样本,与其整体特性相似度低的作为正样本。对于一个正负样本对,其需要与目标样本有公共的属性key(比如“羽毛图案”),在这种情况下,对负样本的要求是,其他属性尽可能相似,而“羽毛图案”不同; 对正样本的要求是,其他属性尽可能不同,而“羽毛图案”相同;最后,在属性的掩码-恢复过程中,模型被迫找到两个差异悬殊图片中细粒度的属性交集,两个非常相似图片中细粒度的属性差异,从而实现属性感知的解耦。

当然,论文在实现上还有许多其他的细节内容,比如多任务学习,以及概率采样,感兴趣的同学可以阅读原文。

实验效果

本文作为语言模型在零样本学习上的第一次尝试,在不同数据集上取得了优越甚至sota的效果。其中较为明显地看到,在 标准ZSL数据集(AWA2,CUB,SUN)上,相比于传统ResNet-based的方法,视觉预训练模型对于可见类的预测效果有明显提升(Seen class)。而在 K-ZSL数据集 上,模型也可以达到SOTA效果。此外,模型还获得了细粒度属性预测的附带能力,这是相比传统模型的额外优势。

总结

随着最近大语言模型(large language model,LLM),和多模态LLM的发展与兴起,每个领域的众多子任务,就平均水平而言都被提高到了一个新的层次。然而,如何利用一种更有效的方法来开发/唤醒模型对于细节的认知,依然存在着挑战。拥有更好的特征组合能力,对于零样本/长尾对象的识别,是很重要的一个发展方向。虽然大模型的一个特点就是天然的零样本能力,但这是由训练语料的庞大所带来的。而传统方向的研究中,作为长尾现象的衍生,零样本学习依旧是一个重要的问题,在LLM时代重新思考这个方向,是后续研究者需要重点关注的问题。

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

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

相关文章

nacos集成springcloud实现配置中心功能

1. 在nacos控制台创建namespace 2. 创建SpringCloud项目 大家注意springboot和springcloud的版本对应&#xff0c;可以去官网查看。 https://spring.io/projects/spring-cloud#learn <properties><java.version>11</java.version><poi.version>5.2.…

VSCode使用CodeWhisperer(AI编程)

安装AWS Toolkit插件&#xff0c;点击侧边插件搜索并安装 2.点击aws ->CodeWhisperer ->Start 3.在下拉菜单中点击Use a personal email to sign up and sign in with AWS Builder ID 4.点Copy Code and Proceed&#xff0c;这会自动复制一些东西 5. 收到提示打开外部网…

高德API JS 地图获取多个坐标点的中心点

高德API JS 地图获取多个坐标点的中心点 一、需求 我需要&#xff1a; 在地图上展示多个地点地图缩放到合适的大小&#xff0c;要求刚好能显示全部点位边缘留有一部分间隔。 做成如图所示这样。 二、需要用到的 AMap 类库 经过一下午的研究&#xff0c;弄出来了。 需要以…

【计算机网络自顶向下】简答题习题总结(一)

计算机网络是什么 两个及以上具有独立操作系统的计算机通过某些介质连接成的相互共享软硬件资源的集合体。 计算机网络两大功能 连通性和共享 如何描述Internet 分为两方面 具体构成 计算机互连设备、通信链路、分组交换设备 提供服务&#xff1a; 提供网络应用基础架构为分布式…

计网第二章实验2:DNS

DNS实验pdf下载地址(科学上网)&#xff1a;Wireshark_DNS_v7.0 (umass.edu) 实验前置知识 nslookup命令 nslookup –option1 –option2 host-to-find dns-server 如果dns-server不指定的话那么就是默认的&#xff1a;本地DNS服务器 选项其一 -typeNS or -typeA 所代表的意思不…

文心一言 VS 讯飞星火 VS chatgpt (43)-- 算法导论5.4 7题

七、为使特征序列长度的下界变得更精确&#xff0c;请说明在 n 次硬币的公平抛掷中&#xff0c;不出现比Ign - 2lglgn 更长的连续正面特征序列的概率小于 1/n。 文心一言&#xff1a; 在 n 次硬币的公平抛掷中&#xff0c;每个硬币正、反面朝上的概率均为 1/2。让我们考虑一个…

【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(LLM、AGI和AIGC都是什么)

零基础带你掌握人工智能全流程技术体系和实战指南&#xff08;LLM、AGI和AIGC都是什么&#xff09; 前言专栏介绍专栏说明学习大纲前提条件面向读者学习目标核心重点三连问核心学习目标和方向 什么是LLM大语言模型概念定义训练方式机器学习的类型LLM与无监督学习什么是无监督学…

视频剪辑培训班要学多久 视频剪辑的培训班有用吗

视频剪辑培训班要学多久&#xff1f;视学员的基础而定&#xff0c;零基础的学员可能需要花费较多的时间&#xff0c;而有基础的学员则更快上手。另外&#xff0c;学习的内容也会影响到学习周期。视频剪辑的培训班有用吗&#xff1f;靠谱的培训班会比自学更有用&#xff0c;效率…

为什么老板宁愿招年轻测试员?

测试员&#xff0c;30岁是一个分水岭&#xff0c;年龄越大越难找工作&#xff0c;为何&#xff1f;下面通过几方面来谈谈&#xff0c;为什么老板宁愿招年轻测试员。 可塑性强 年老的测试员可塑性不强了&#xff0c;通俗来讲&#xff0c;不会被老板画的大饼忽悠了。 而年轻人&…

canvas绘制s形曲线

<!DOCTYPE html> <html> <head><title>S形曲线示例</title> </head> <body><canvas id"canvas" width"400" height"400"></canvas><script>var canvas document.getElementById(c…

VUE-3组合API

1、为什么学vue3&#xff1f; 2020年09月18日&#xff0c;正式发布vue3.0版本。但是由于刚发布周边生态不支持&#xff0c;大多数开发者处于观望。 现在主流组件库都已经发布了支持vue3.0的版本&#xff0c;其他生态也在不断地完善中&#xff0c;这是趋势。 element-plus A Vue…

spring.freemarker 2306

Springboot Properties 2306 >spring.freemarker 模板属性 NameDescriptionDefault Valuespring.freemarker.allow-request-overrideWhether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.falses…

Cisco MPLS VPN Option A

一、拓扑 二、思路 1、AS 100内运行OSPF&#xff0c; AS 200运行OSPF打通底层网络 2、AS 100和200运行LDP协议&#xff0c;分发标签 3、PE1和ASBR-PE1建立VPNV4邻居关系&#xff08;可以看成是两个单域的PE建立VPNV4邻居关系&#xff09;&#xff0c;PE2和ASBR-PE2建立VPNV4…

Github拉取老版本或releases稳定版本的仓库

Github拉取老版本或releases稳定版本的仓库 文章目录 Github拉取老版本或releases稳定版本的仓库拉取老版本方法一&#xff1a;clone方法二&#xff1a;checkout 下载 releases 版本 拉取老版本 方法一&#xff1a;clone 随便进入一个仓库&#xff0c;查看分支信息 针对要拉取…

spring-security -oauth2 整合 JWT

前言 在这个基础上&#xff0c;进行整合。 spring security oauth2学习 -- 快速入门_本郡主是喵的博客-CSDN博客 1.jwt的一般使用 先把 reids,common-pools 等依赖删掉。 删掉redis的下相关配置 1.1 导入依赖 <!--jjwt--><dependency><groupId>io.json…

2023年测试工程师的职业规划?从入行到“顶薪“卷起来...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 初级测试工程师&a…

Python实现性能自动化测试竟然如此简单

一、思考 1.什么是性能自动化测试? 性能系统负载能力超负荷运行下的稳定性系统瓶颈自动化测试使用程序代替手工提升测试效率性能自动化使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数&#xff0c;统计系统负载能力生成报告 2.Python中的性能自动化测试…

Netty 进阶

粘包与半包 粘包和半包问题的出现原因主要是因为 TCP 协议是面向流的&#xff0c;而不是面向报文的。即发送方给接收方传输的是一整个数据流&#xff0c;但是接收方并不知道数据流中的哪一部分才是一个完整的数据报&#xff0c;需要自行判断。 如果是在发送方解决&#xff0c;通…

微服务链路追踪SkyWalking的介绍和部署

skywalking和链路追踪 SkyWalking介绍 首先我们要明白一点&#xff0c;在微服务的架构中&#xff0c;为什么要做链路追踪&#xff1f;解决问题的痛点在哪里&#xff1f;其实无外乎是如下几个问题&#xff1a; 如何将整个调用链路串起来&#xff0c;并能够快速定位问题&#…

供应链管理是干什么的,企业为什么要用供应链管理?

供应链管理的核心是&#xff1a;需求、生产、供应等方面的管理。没有对需求的管理&#xff0c;供应链管理就没有存在的价值&#xff0c;需求管理主要是产品生命周期管理&#xff0c;订单及预测管理&#xff0c;尽管预测永远是错误的&#xff0c;但这并不排除你可以做出一个相对…