CLoVe:在对比视觉语言模型中编码组合语言

CLoVe:在对比视觉语言模型中编码组合语言

  • 摘要
  • 引言
  • 相关工作
  • CLoVe: A Framework to Increase Compositionality in Contrastive VLMs
    • Synthetic Captions
    • Hard Negatives
    • Model Patching

CLoVe: Encoding Compositional Language inContrastive Vision-Language Models

摘要

近年来,视觉与语言任务的性能显著提高。基础视觉-语言模型(VLMs),如CLIP,已在多种场景中得到应用,并在多项任务中展现出卓越的性能。这些模型擅长以目标为中心的识别,但学习到的文本表示对词序似乎是不变的,无法以新颖方式组合已知概念。

然而,目前没有证据表明任何VLM,包括大规模的单流模型如GPT-4V,能够成功地识别组合。

在本文中,作者引入了一个框架,可以显著提高现有模型编码组合语言的能力,在组合性基准测试上实现了超过10%的绝对改进,同时在标准的目标识别和检索基准测试上保持或提高性能。

代码和预训练模型:https://github.com/netflix/clove

引言

在过去的几年里,视觉和语言任务的性能有了显著的提升(Radford et al., 2021; Jia et al., 2021; Rombach et al., 2022; Alayrac et al., 2022; Laurencon et al., 2023)。视觉-语言模型(VLMs),如CLIP(Radford et al., 2021),已在多种环境下得到应用,直接或间接作为基础模型,并在多个任务中展示了卓越的性能(Bommasani et al., 2021; Ramesh et al., 2021, 2022; Rombach et al., 2022; Castro和Caba, 2022; Li et al., 2023)。

这类模型在以目标为中心的识别上表现出色,但学习到的文本表示似乎对词汇顺序不变(Thrush et al., 2022; Yuksekgonul et al., 2023; Castro et al., 2023),无法以新的方式组合已知概念(Ma et al., 2023; Hsieh et al., 2023)。例如,如图1所示,CLIP在ImageNet任务上性能顶尖,但在组合性基准测试中表现不佳。

在这里插入图片描述
语言组合性对于在图像中识别更复杂的概念或使文本到图像模型成功生成具有特定约束的新场景至关重要(Hafri等人,2023年)。例如,在描绘_“女人对男人大喊”_的图像中,正确理解场景的关键是要认识到是谁在向谁大喊。

然而,没有证据表明任何视觉语言模型(VLM),包括大规模的单一流模型如GPT 4V(OpenAI,2023年),能够成功地识别组合。这一论断得到了现有测试组合性的基准仍然是开放挑战这一事实的支持(Thresh等人,2022年;Yuksekgonul等人,2023年;马等人,2023年;Hsieh等人,2023年)。

为了解决这些限制,之前的研究引入了一些技术来增强预训练视觉语言模型(VLMs)的复合能力,例如NegCLIP(Yuksekgonul等人,2023)和REPLACE(Hsieh等人,2023)。然而,这些方法付出了显著的代价:它们牺牲了在更为常见的以目标为中心的识别任务上的性能,这些性能是通过ImageNet(Deng等人,2009)、EuroSAT(Helber等人,2019,2018)和CIFAR100(Krizhevsky,2009)来衡量的。例如,如图1所示,NegCLIP在SugarCrepe(Hsieh等人,2023)复合性基准上的能力相较于预训练模型有所提升,从72.9%增加到82.5%,而与此同时,其在ImageNet(Deng等人,2009)上的top-1准确度从63.4%下降到55.8%。同样,Hsieh等人(2023)应用REPLACE在SugarCrepe上达到了84.7%的高分,但其ImageNet准确度显著下降至52.9%。
在本文中,作者介绍了一个框架,用以显著提高现有双塔模型编码组合语言的能力,同时保持了在更标准基准测试上的性能,如图1所示。具体来说,作者的贡献如下。首先,作者展示了数据策展可以对模型处理组合知识的方式产生重大影响。其次,作者证实了与困难负样本一同训练可以带来额外的改进。第三,作者通过实验证明,模型修补可以用于保持模型在先前任务上的性能。最后,作者将这些想法融合到一个名为CLoVe的新框架中,并展示了它可以在对比预训练的VLM上显著提高组合性。作为一个案例研究,作者展示了作者的框架如何有效地提高CLIP的组合能力,同时保持其他任务上的性能。在发表时,作者将提供预训练权重,供其他人使用,以便用具有显著更好语言组合能力的版本替换其类似CLIP的模型权重。

相关工作

对组合性的基准测试。已经提出了几种框架来衡量模型在语言组合性上的表现。Shekhar等人(2017年)精心设计了一个基准测试,其中包含通过改变正确标题中的一个单词生成的干扰性图像标题。模型必须确定图像和标题对是否相互对应,以及其他任务。Winoground(Thresh等人,2022年)仔细构建了一个由400个示例组成的高质量数据集,每个示例包含两张图片和两个标题。这两个标题包含完全相同的单词,但按照几种策略中的一种以不同的顺序排列(例如,交换主语和宾语)。为了通过这个测试,每张图像必须与正确的标题相匹配。模型不能仅仅依靠它们在图像中识别概念的能力,因为元素虽然重复,但组合方式不同。

迪万等人(2022年)发现,成功通过Winoground基准测试需要组合技能以及其他许多技能,如常识推理和定位微小物体。尤克塞尔贡等人(2023年)认为Winoground太小,无法得出统计上显著性的结论,并构建了一个名为ARO的基准,其中包括单一图像、正确标题和多个自动生成的错误标题的例子。CREPE(马等人,2023年)制定了一个基准,以衡量系统性和生产率方面的组合性。它同时考虑了已见和未见的复合现象。SugarCrepe(谢等人,2023年)是一个最近的基准,它避免了不语法和荒谬的负面标题,同时数据量庞大。他们展示了不能仅通过计算文本标题的概率而不查看图像来轻易解决这一问题。其他基准也已经创建,它们考虑了组合性以及其他现象,例如VALSE(帕卡尔贝斯库等人,2022年)、RareAct(米奇等人,2020年)、VL-Checklist(赵等人,2022年)、Cola(雷等人,2023年)、SVO-Probes(亨德里克斯和内马茨哈德,2021年)和CLEVR(约翰逊等人,2017年)
提高组合性的方法。几项研究显示视觉语言模型(VLMs)无法成功地识别组合(Shekhar et al., 2017; Miech et al., 2020; Parcalabescu et al., 2022; Thrush et al., 2022; Hendricks and Nematzadeh, 2021; Yuksekgonul et al., 2023; Castro et al., 2023; Ma et al., 2023)。因此,提出了NegCLIP(Yuksekgonul et al., 2023)以改进CLIP(Radford et al., 2021)概念组合的方式。这包括通过获取训练批次中的标题并自动生成含有相同词汇但顺序不同的句子来添加困难负文本。这种方法使模型能够区分正确顺序的图像与标题与任意顺序的确切词汇(以及批次内其他负标题)。Hsieh等人(2023)在NegCLIP和CREPE(Ma et al., 2023)的基础上,提出了三种生成随机负样本的方法:REPLACE,SWAP和NEGATE。所有这些方法都从句子的场景图表示出发并对其进行操作。REPLACE,取得了最好的整体效果,执行单一原子的替换。SWAP在场景图中交换两个原子。最后,NEGATE引入否定词(例如,没有_或_不是)。作者在NegCLIP(Yuksekgonul et al., 2023)和REPLACE(Hsieh et al., 2023)的基础上,提出使用合成生成的标题来扩大规模,并应用模型修补(Ilharco et al., 2022)以避免灾难性遗忘。据作者所知,作者引入了第一种方法,该方法显著提高了对比训练模型的组合技能,同时保留了它们在其他下游任务上的零样本性能。
Cap和CapPa(Tschannen等人,2023年)是两种最近引入的模型,它们采用字幕生成而不是对比学习(如CLIP中那样)来训练视觉语言模型(VLMs)。Tschannen等人(2023年)展示,这些模型在由ARO(Yuksekgonul等人,2023年)和SugarCrepe(Hsieh等人,2023年)测量的组合性方面表现出色。由于这些模型依赖于字幕生成,也即计算给定图像的文本概率,它们对于检索和分类来说效率不高。对于ARO,他们展示无需查看图像就能达到高性能(他们称之为“盲目解码器”)。对于SugarCrepe,作者没有计算这一具体 Baseline 。因此,作者无法推理这些模型在多大程度上成功地处理了组合。作者的方法与它们不同,因为它是建立在对比双塔模型之上的,这些模型对于检索和分类是有效的,且不依赖于计算文本概率,这在这些设置中通常不重要,因为所有文本都是等可能出现的(与图像字幕生成不同)。

CLoVe: A Framework to Increase Compositionality in Contrastive VLMs

为了解决在先前模型中观察到的组合性限制,作者提出了针对开发对比视觉语言模型(VLM)三个主要方面的策略:数据整理、对比学习和模型调优。作者引入了CLoVe框架,它利用现有预训练对比视觉语言模型的优点,并通过语言组合技能进行增强。图2展示了总体概览。
在这里插入图片描述
CLoVe包括以下步骤,下面将详细描述:

3.1 综合字幕。:合成数据生成可以有效地用来扩大训练数据集。作者使用了一个带有综合字幕的大型数据集。

3.2 难以区分的负样本。:对比视觉语言模型依赖于负训练数据的可用性。作者在数据集中添加了随机生成的难以区分的文本负样本,并训练了一个具有增强的组合能力的高精度模型。

3.3 模型修补。:通过模型修补将预训练模型和精调模型结合起来。修补使作者能够在保持精调模型获得的组合性的同时,恢复预训练模型在先前支持的任务上的性能。

Synthetic Captions

合成标题在训练数据集大小和标题质量之间提供了很好的结合。作者利用了LAION-COCO(Schuhmann等人,2022年),一个拥有6亿数据集,其中的图片来自LAION-5B(Schuhmann等人,2022年)的20亿规模英文子集,并且使用了BLIP ViT-L/14(Li等人,2022年)生成的标题,该模型在COCO上进行了微调,并使用两种版本的OpenAI预训练CLIP(Radford等人,2021年;ViT-L/14和RN50x64)进行了过滤。尽管标题的风格有限(通常遵循COCO标题的风格),但LAION-COCO的作者发现,合成的生成的标题与人类编写的标题质量相似。作者相信这些标题更多地关注描述视觉信息,而不是其原始数据集(LAION)中的标题,这是基于该数据集的多个示例得出的。有关训练数据集的消融研究,请参见第4.3节。

Hard Negatives

文本硬负例可以强制模型更好地学习每个单词的含义,因为它们需要根据单词在标题中的使用方式判断其是否与图像相关。Yuksekgonul等人(2023年)提出了NegCLIP,这是对CLIP训练过程的扩展,它通过重新排列图像标题单词为批次中的每个示例生成一个硬负文本。这些生成的负例被包含在学习目标的负测试集中。Hsieh等人(2023年)提出了一个名为REPLACE的替代方法,并显示如果这样的负例是从精心挑选的单个单词替换生成的,模型可以实现更好的组合技能。这些替换是在首先将句子解析为场景图,从中获取实体、关系或属性之一,然后通过利用WordNet(Fellbaum, 2010)从它的反义词或同下义词中选择一个替代词来完成的。这些方法依赖于高质量的标题。否则,生成的负例将会有无法视觉欣赏的变化,或者大多数情况下会是不合语法或无意义的,并且模型的下游性能将受到严重影响。以下面的来自LAION的例子为例,它伴随一张卡片持有者的图片:“5x Orange Ball Wedding Party PLACE CARD HOLDER Table Name Memo Paper Note Clip.” 如果作者应用REPLACE,假设作者可以正确解析这个句子,“table"这个词可以被替换为"bed”。然而,这并不会使其成为负例,因为"table"是标题中包含的无法视觉欣赏的附加上下文信息。这样的变化将给模型的训练过程引入更多噪声。

因此,这些研究工作采用了COCO标题(Lin等人,2014;Chen等人,2015)数据集。COCO包含了图像以及高质量的人工标注描述它们的内容。然而,拥有60万图像-文本对,COCO至少比通常使用的图像-文本训练数据集小三个数量级。这个问题限制了学习,并使模型过拟合。此外,COCO呈现的目标和动作的数量有限。在ImageNet-1k的1000个目标类别中,有700个在COCO中不存在(Venugopalan等人,2017)。作者建议将这些困难负样本技术与一个合成标题数据集相结合,例如LAION-COCO(Schuhmann等人,2022)(在上一小节中介绍)。

Model Patching

模型修补(Ilharco等人,2022年)使经过微调的模型能够在保持目标任务性能的同时,恢复之前支持任务上的性能。NegCLIP(Yuksekgonul等人,2023年)和REPLACE(Hsieh等人,2023年)微调模型以显著提高语言组合能力。然而,作为交换,它们牺牲了在一般物体识别上的性能,如通过它们的ImageNet性能所衡量的那样。因此,作者建议应用其中一种方法,然后接着使用模型修补。这个过程包括在预训练模型和微调模型之间执行权重空间的平均。具体来说,对于每个预训练模型权重 和微调模型权重 ,作者计算它们的加权平均以得到新的模型权重 :

在这里插入图片描述

在4.3节中,作者展示了这种方法帮助模型获得了组合性特性,同时保持了其目标识别性能。

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

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

相关文章

记一次安服薅洞实战

记一次为数不多但还算有点收获的一次实战(平时摸鱼来着...),大致任务是对某某市某*院进行次漏洞收集和外网资产梳理且是有授权的(其实是甲方不大清楚自己外网有多少资产),漏洞质量要求还挺高。emmm本来是打…

大米自动化生产线设备:现代粮食加工的核心力量

随着科技的不断进步和粮食加工行业的快速发展,大米自动化生产线设备在现代粮食加工中的地位愈发重要。这些设备不仅大大提高了生产效率,还保证了产品的质量和安全,成为了现代粮食加工行业不可或缺的核心力量。 一、自动化生产线设备助力效率提…

【面试经典150 | 动态规划】交错字符串

文章目录 写在前面Tag题目来源解题思路方法一:动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行…

一些Java面试题

1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程 2、面向对象和…

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/inception-v1

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/ inception-v1 前情回顾: 1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet 1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet GoogleNet问题 在VGGNet简单堆…

(2024)Ubuntu源码安装多个版本的opencv并切换使用

本人工作会用到x86_64的opencv和aarch64的opencv,所以写下来备忘自用 一、源码编译安装 依赖库安装: sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev o…

卷积神经网络实战

构建卷积神经网络 卷积网络中的输入和层与传统神经网络有些区别,需重新设计,训练模块基本一致 1.首先读取数据 - 分别构建训练集和测试集(验证集) - DataLoader来迭代取数据 # 定义超参数 input_size 28 #图像的总尺寸28*28…

【代码】二分法求最小值

仅适用于以下情况:区间内单调或者最多一个极小值 代码 以[0,pi]内的三角函数为例 clc clear close allx0:pi/1000:pi; ytest(x); figure() plot(x,y,.)cutnum100;x1x(1); x2x(end); error_max10^-1000;%能接受的误差上限 for i1:cutnum%这里cutnum是取值上限num(…

电池二次利用走向可持续大循环周期的潜力和挑战(第一篇)

一、背景 当前,气候变化是全球可持续发展面临的重大挑战。缓解气候变化最具挑战性的目标是在本世纪中期实现碳中和(排放量低到足以被自然系统安全吸收),其中电动汽车(EV)的引入是一项关键举措。电动汽车在…

对代理模式的理解

目录 一、前言二、案例1 代码2 自定义代理类【静态代理】2.1 一个接口多个实现,到底注入哪个依赖呢?2.1.1 Primary注解2.1.2 Resource注解(指定name属性)2.1.3 Qualifier注解 2.2 面向接口编程2.3 如果没接口咋办呢?2.…

阿里巴巴中国站获得1688商品详情 API:如何通过API接口批量获取价格、标题、图片、库存等数据

在数字化时代,数据的重要性不言而喻。对于电商从业者来说,获取商品详情数据是提升业务效率和用户体验的关键。阿里巴巴中国站作为电商行业的巨头,提供了丰富的API接口,方便开发者们批量获取商品信息。本文将详细叙述如何通过阿里巴…

C语言——详解字符函数和字符串函数(二)

Hi,铁子们好呀!之前博主给大家简单地介绍了部分字符和字符串函数,那么这次,博主将会把这些字符串函数给大家依次讲完! 今天讲的具体内容如下: 文章目录 6.strcmp函数的使用及模拟实现6.1 strcmp函数介绍和基本使用6.1.1 strcmp函…

总结:微信小程序中跨组件的通信、状态管理的方案

在微信小程序中实现跨组件通信和状态管理,有以下几种主要方案: 事件机制 通过事件机制可以实现父子组件、兄弟组件的通信。 示例: 父组件向子组件传递数据: 父组件: <child binddata"handleChildData" /> 子组件: Component({..., methods: { handleChildData(…

Linux网卡与IP地址:通往网络世界的通行证

在探索Linux网卡和IP地址的关系之前&#xff0c;我们得先理解Linux网卡是怎么工作的。想象一下&#xff0c;每台计算机都是一个世界&#x1f30e;&#xff0c;而网卡就是连接这些世界的门户&#x1f6aa;。网卡的工作就是接收和发送数据包&#xff0c;就像邮差&#x1f4ec;递送…

RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表

RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表 文章目录 RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表1. MQTT概览2. MQTT 5.0 特性1. 特性概要2. Docker中安装RabbitMQ及启用MQTT5.0协议 3. MQTT 5.0 功能列表1. 消息过期1. 描述2. 举例3. 实现 2. 订阅标识…

洛谷 1126.机器人搬重物

思路&#xff1a;BFS 这道BFS可谓是细节爆炸&#xff0c;对于编程能力和判断条件的能力的考察非常之大。 对于这道题&#xff0c;我们还需要额外考虑一些因素&#xff0c;那就是对于障碍物的考虑和机器人方位的考虑。 首先我们看第一个问题&#xff0c;就是对于障碍物的考虑…

【洛谷】P9236 [蓝桥杯 2023 省 A] 异或和之和

题目链接 P9236 [蓝桥杯 2023 省 A] 异或和之和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 1. 暴力求解 直接枚举出所有子数组&#xff0c;求每个子数组的异或和&#xff0c;再对所有的异或和求和 枚举所有子数组的时间复杂度为O&#xff08;N^2&#xff09;&…

Qt+OpenGL-part3

1-4EBO画矩形_哔哩哔哩_bilibili 可以绘制两个三角形来组成一个矩形&#xff08;OpenGL主要处理三角形&#xff09; 直接画两个三角形&#xff1a; #include "openglwidget.h" #include <QDebug>unsigned int VBO,VAO; unsigned int shaderProgram;//顶点着…

Leetcode 215. 数组中的第K个最大元素

心路历程&#xff1a; 这道题本质上是排序不完全的过程&#xff0c;而且这道题有bug&#xff0c;直接用python的排序算法其实就能AC。 可以按照快排排到找到k-1个large元素的思维去做&#xff0c;不过这道题需要考虑空间复杂度&#xff0c;所以需要用指针快排。 其实也可以考虑…

序列超图的下一项推荐 笔记

1 Title Next-item Recommendation with Sequential Hypergraphs&#xff08;Jianling Wang、Kaize Ding、Liangjie Hong、Huan Liu、James Caverlee&#xff09;【SIGIR 2020】 2 Conclusion This study explores the dynamic meaning of items in realworld scenarios and p…