DUET: Cross-Modal Semantic Grounding for Contrastive Zero-Shot Learning论文阅读

news2024/11/19 1:44:01

文章目录

  • 摘要
  • 1.问题的提出
    • 引出当前研究的不足与问题
      • 属性不平衡问题
      • 属性共现问题
    • 解决方案
  • 2.数据集和模型构建
    • 数据集
    • 传统的零样本学习范式v.s. DUET学习范式
    • DUET 模型总览
    • 属性级别对比学习
      • ==正负样本解释:==
  • 3.结果分析
    • VIT-based vision transformer encoder.
    • 消融研究
      • 消融研究解释
  • 4.结论与启示
    • 结论总结
    • 启发
        • PLMs的潜在语义知识引入
        • 多模态,跨模态整合
        • 细粒度角度考虑

在这里插入图片描述
原文链接: https://ojs.aaai.org/index.php/AAAI/article/view/25114/24886

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

摘要

零样本学习(ZSL)旨在预测在训练期间从未出现样本的未知类别。作为类别级视觉特征的注释,属性是零样本图像分类的广泛使用的语义信息。然而,由于缺乏细粒度的注释以及属性不平衡和共现问题,目前的方法常常无法区分图像之间的微妙视觉差异。在本文中,作者提出了一种基于Transformer的端到端ZSL方法,命名为DUET,通过自监督多模态学习范式整合了来自预训练语言模型(PLMs)潜在语义知识。具体而言,论文中(1)开发了一个跨模态语义定位网络来研究模型从图像中分离语义属性的能力;(2)采用了属性级对比学习策略,进一步增强模型对细粒度视觉特征的区分能力,克服属性共现和不平衡问题;(3)提出了 考虑多模型目标的多任务学习策略。论文中发现,DUET在三个标准ZSL基准和一个带有知识图的ZSL基准上均取得了最先进的性能,其组成部分是有效的,预测是可解释的。

1.问题的提出

引出当前研究的不足与问题

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

属性不平衡问题

即有些属性频繁出现而有些属性很少出现
例如,在零样本场景分类数据集 SUN中,属性“树”和“云”分别与 301 和 318 个类相关联 ,而“铁路”和“消防”只与15和10个类相关联。

属性共现问题

例如,“花”与“叶”一起出现了39次,但单独的“花”只出现了10次;

这种分布偏差可能会影响模型对那些包含稀有属性或新属性组合的看不见的类的判断。

图一
图一

解决方案

在本文中,作者提出了一种基于Transformer的端到端零样本学习方法(DUET),它通过自监督的多模态学习范式将来自预训练语言模型的潜在语义知识进行整合
贡献如下:
(1)开发了一个跨模态语义基准网络,以研究模型从图像中分离语义属性的能力;
(2)应用了基于属性级对比学习的策略,进一步增强模型对细粒度视觉特征的区分能力,克服属性的共现和不平衡问题
(3)提出了多任务学习策略考虑多模型目标。该方法可以同时在连续型的属性向量和离散型/结构化属性特征场景下工作,具有比较好的迁移泛化能力

关于监督学习,无监督学习,半监督学习,自监督学习,强化学习等
自监督学习 | (1) Self-supervised Learning入门
强化学习与监督学习和无监督学习有什么区别?
【深度学习】04 机器学习类型:监督学习 半监督学习 无监督学习 强化学习视频
深度学习常见名词概念:Sota、Benchmark、Baseline、端到端模型、迁移学习等的定义

2.数据集和模型构建

数据集

  • 三个配备标准属性的 ZSL 基准数据集 AWA2、CUB、SUN及其在(Xian 等人,2019)中提出的分割
  • 以及知识图谱基准数据集 AWA2-KG,它与 AWA2 具有相同的分割,但包含有关层次类和属性的语义信息,用于评估。

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

传统的零样本学习模式主要强调利用更多外部类别知识、进行数据增强,或研究更好的视觉编码器。相比而言,该框架强调跨模态模型的知识迁移(图二所示)。

传统:强调利用更多外部类别知识、进行数据增强,或研究更好的视觉编码器
DUET:强调跨模态模型的知识迁移
在这里插入图片描述
图二

DUET 模型总览

在这里插入图片描述
图三

DUET由三部分组成:
(1)特征到序列转换(FST)模块,它将每个类的属性统一为文本格式;
(2) 跨模态语义定位 (CSG) 模块,可通过跨模态掩模重建 (CMR) 将知识从 PLM 转移到视觉变换器编码器;
(3)属性级对比学习(ACL)模块,以自监督的方式增强CSG中的信号。

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

属性级别对比学习

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

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

  • 跨模态的掩码复原。图像和文本同时输入,文本掩码,让模型强制从图像信息中获得相关属性来恢复掩码。这种方法其实在早期的多模态预训练模型中非常见,目的是让模型对齐视觉/语言的理解。而本文用一种巧妙的方法,让视觉模型的零样本学习能力得到了强化:
    – 使用预训练的语言模型(Bert)+预训练视觉模型(ViT,Swin,DeiT等),通过添加跨模态注意力层(cross-attention layer)进行桥接,而不是直接用多模态预训练模型。这样的好处是可以最大程度利用语言模型的语义信息和视觉模型的理解能力
    – 在视觉模型选择上,规避掉了使用ImageNet-21K进行预训练的模型,避免零样本测试过程中样本泄露。(测试集的图片不应该在预训练过程见过)
    属性级别的对比学习(Attribute-level Contrastive Learning)。本文的核心贡献点,可以用图1c表示:对于一个目标样本,选择与其整体特征相似度高的作为负样本,与其整体特性相似度低的作为正样本。对于一个正负样本对,其需要与目标样本有公共的属性key(比如“羽毛图案”),在这种情况下,对负样本的要求是,其他属性尽可能相似,而“羽毛图案”不同; 对正样本的要求是,其他属性尽可能不同,而“羽毛图案”相同;最后,在属性的掩码-恢复过程中,模型被迫找到两个差异悬殊图片中细粒度的属性交集,两个非常相似图片中细粒度的属性差异,从而实现属性感知的解耦。

正负样本解释:

对于目标样本:
正样本:与其整体特性相似度,其他属性尽可能不同,而“羽毛图案”相同
负样本:与其整体特征相似度,其他属性尽可能相似,而“羽毛图案”不同
正负样本对,需要与目标样本有公共的属性key(比如“羽毛图案”)
在这里插入图片描述

3.结果分析

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

VIT-based vision transformer encoder.

为了进一步了解论文中的模型,论文中报告了使用 ViT-base(Dosovitskiy 等人,2021)作为视觉编码器的 DUET 结果。对比于 2 个最近的基于 ViT 的 ZSL 方法,ViT-ZSL 和 IEAM-ZSL 。如图 4(b) 所示,DUET 大幅超越了这两种方法,并且也超过了论文中的 SOTA 性能 (H) 4.8%。这表明论文中的 DUET 极大地改善了原始vision transformer较差的 ZSL 能力。可以认为,通过插入更好的vision transformer encoder,性能将进一步提高。

消融研究

在这里插入图片描述

消融研究解释

(1) 冻结language transformer encoder时,性能急剧下降。虽然它可以减少整体可学习参数,但它使模型更难理解提示、文本属性和视觉特征之间的特殊关系。

(2)仅用prompt作为无提示的序列输入
(3)仅concatenating attribute作为无提示的序列输入
论文中观察到采用半序列化属性的 FST 策略确实有利于论文中的模型,提高了 4.3%。

(4)随机屏蔽属性

属性短语掩码(APM)。论文中应用 APM 策略在每个步骤中屏蔽完整的属性短语,然后敦促模型恢复它。论文中认为属性集合中频率较低的判别属性更重要。因此,论文中通过**线性加权随机采样(LWRS)**策略对要屏蔽的目标属性进行采样

(5)不进行属性剪枝
(6)放弃class-level对比学习导致下降0.8%。这一点是因为对比学习可以通过缩小潜在空间中类内的距离来帮助模型学习更好的视觉表示。
(7)应用完整的CSG

此外,论文中的可插拔 ACL 模块在 CSG 的基础上进一步将性能提高了3.5%,这说明这两个模块都是有益的。

属性级对比学习(ACL)模块

4.结论与启示

结论总结

在本文中,论文中提出了一种名为 DUET 的端到端 ZSL 框架,以解决零样本图像分类中众所周知的属性不平衡和共现问题。论文中设计了一种具有新颖的属性级对比学习机制的跨模态语义定位网络,以增强模型对新类的判别能力,可以很好地解决零样本学习中的属性不平衡和共现问题。通过广泛的消融研究以及在具有实值和二元值属性的四个 ZSL 基准上与相当多最先进的方法进行比较,论文中证明了 DUET 的有效性及其对解释的支持。

启发

PLMs的潜在语义知识引入

DUET通过整合PLMs中的潜在语义知识,采用自监督多模态学习,在ZSL任务上取得了卓越的性能。可以认为,利用PLMs的知识能够有效提高ZSL的性能。

多模态,跨模态整合

DUET引入了一个跨模态语义定位网络,用于分离图像中的语义属性。在ZSL中,理解图像中的语义属性可能是提高性能的关键因素。
文本+图像 信息整合

细粒度角度考虑

DUET采用了属性级对比学习策略,以进一步提高模型对细粒度视觉特征的区分能力,克服了属性不平衡和共现的问题。
类级别 —> 属性级别

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

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

相关文章

人体姿态识别(附教程+代码)

人体姿态识别(Human Pose Estimation)是一种基于计算机视觉和深度学习的技术,用于自动检测和识别人体的姿态和动作。它可以在图像或视频中准确地确定人体各个关节的位置和运动。 人体姿态识别技术具有广泛的应用领域。在健身和运动领域&…

python24.1.10创造购物清单

数据结构-列表 在列表里额外加东西 删除列表中某个元素 列表可包含多种类型的数据 统计列表中元素数量 列表索引 针对列表的函数 利用索引赋值可以直接覆盖本来元素 实践

数据分析师面试必备,数据分析面试题集锦(四)

大家好,今天整理数据分析面试题集锦,经常会被问到,“数据分析需要学习什么技能?”,“针对实际的业务场景,如何使用数据分析工具去分析?”基于此作者总结数据分析面试常用的问题,面试…

专业课128分总分400+南京理工大学818信号系统与数字电路南理工考研经验分享

专业课128分总分400南京理工大学818信号系统与数字电路南理工电光院考研经验分享,希望自己的经历对大家有借鉴。 我是在六月底确认自己保不上研然后专心备考的,时间确实比较紧张。虽然之前暑假看了一点高数,但因为抱有保研的期望&#xff0c…

Acrel-5000重点用能单位能耗在线监测系统的实际应用分析-安科瑞 蒋静

摘要:根据《重点用能节能办法》(国家发展改革委等第七部委2018年15号令)、《重点用能单位能耗在线监测系统推广建设工作方案》(发改环资[2017]1711号)和《关于加速推进重点用能单位能耗在线监测系统建设的通知》&#…

vue echarts折线图加背景颜色 值区域对应的右侧加上文本

mounted() {this.lineEcharts();},lineEcharts() {const option { tooltip: {trigger: axis,transitionDuration: 0 // 让toolltip紧跟鼠标,防止抖动},title: {text: 得分,left: 25,textStyle:{color: #333,fontSize: 12,fontWeight: 400}, },legend:…

JAVA毕业设计119—基于Java+Springboot+vue的智能停车场管理系统(源代码+数据库+9000字论文)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue的智能停车场管理系统(源代码数据库9000字论文)119 一、系统介绍 本项目前后端不分离 登录、控制台、停车场管理、车牌识别、车辆管理角色管理、系统菜单、…

Speech | 语音克隆Openvoice的论文解读及项目实现

本文主要介绍了语音克隆Openvoice的论文以及项目实现~ 论文题目:OpenVoice: Versatile Instant Voice Cloning 论文地址:2312.01479.pdf (arxiv.org) 项目地址:https://github.com/myshell-ai/OpenVoice.git 官网:Home (myshell.a…

Prometheus监控遇上报错invalid is not a valid start token

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 问题描述: 使用prometheus采集java应用的metric指标数据,在prometheus界面pod状态为down,报…

云HIS系统源码,基层卫生HIS系统,云端SaaS模式多医院版

系统介绍: 基层卫生健康云HIS系统采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医院的主要工作…

AQS应用之BlockingQueue详解

概要 AQS全称是 AbstractQueuedSynchronizer,中文译为抽象队列式同步器。BlockingQueue,是java.util.concurrent 包提供的用于解决并发生产者 - 消费者问题的最有用的类,它的特性是在任意时刻只有一个线程可以进行take或者put操作&#xff0…

Cesium笔记 viewer控件隐藏

Cesium初始化后,场景中会有时间轴,动画,home等控件显示,需要将这些控件隐藏,如下: init() {let viewer new Cesium.Viewer("cesiumContainer", {fullscreenButton: false, // 隐藏界面右下角全…

【日志】Alertmanager+Loki实现Teams告警

目录 简介一、配置Webhook二、安装msteams三、配置Alertmanager简介 在前面的文章我们实现了Loki日志告警,接下来新增一种告警媒介:微软Teams 一、配置Webhook 这块我们主要借助incoming Webhook应用来发送消息到团队,把它添加到团队里,参考:https://www.cnblogs.com/a…

【Proteus仿真】【Arduino单片机】智能感应温控风扇

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用LCD1602液晶显示模块、DS18B20温度、按键、声光报警、L293D电机驱动等。 主要功能: 系统运行后,LCD1602显示传感器检…

网络音频对讲广播模块-定时广播 ip网络广播音频模块SV-2401

1.模块介绍 SV-2400V网络音频模块是一款高性能的10/100M网络音频模块,采用高性能处理器及专业Codec,能接收网络音频数据流,转换成音频模拟信号输出。亦能采样本地的mic输入或linein输入,发送到网络上,供其他网络音频模…

Lumerical Examples------Ports

Lumerical Examples------Ports 引言正文示例引言 Ports 在 FDTD 工程中是一个很特别的组件,这里我们对它进行介绍 正文 虽然 Ports 不是严格意义上的 Monitor(监视器), 但是它也可以进行 S 参数提取。Ports 扮演着一个 frequency domain power monitor 的和 mode expan…

Mjdioureny练习二

(一)一个老人强烈的阳光照射 我跟他说:a old man strong sunlight 这四张照片都是很不错的 每一张都十分清晰而且十分真实逼真,细节把控的也十分完美。 (二)一个中国50岁的大叔,走在清晨的深林…

使用QPushButton实现计算机

1. 按钮类:QPushButton 1.1 信号 void clicked(bool checked false)//被点击触发void pressed()//当按下按钮时发出此信号void released()//当松开按钮时发出此信号void toggled(bool checked)//每当可检查按钮改变其状态时,都会发出此信号。1.2 实现按…

携程testab算法分析

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 这里只是我分析过程,以及一些重要点的记录,没有…

UE5 C++(十五)— TimerHandle(定时器)的使用

文章目录 设置定时器声明FTimerHandle定义执行函数设置定时器 清除定时器 定时器(Timer) 可用于执行延迟类型的操作,或让某些操作在一段时间内重复执行。 设置定时器 定时器的设置只需三步即可完成:声明定时器句柄 FTimerHandle…