视觉语言模型究竟能帮助我们完成哪些工作?

news2025/1/21 22:06:35

当前,多模式人工智能已经成为一个街谈巷议的热门话题。随着GPT-4的最近发布,我们看到了无数可能出现的新应用和未来技术,而这在六个月前是不可想象的。事实上,视觉语言模型对许多不同的任务都普遍有用。例如,您可以使用CLIP(Contrastive Language-Image Pre-training,即“对比语言-图像预训练”,链接:​​https://github.com/openai/CLIP)​​对看不到的数据集进行零样本图像分类;通常情况下,无需任何训练即可获得出色的表现。​

简介​

什么是视觉语言模型?


视觉语言模型利用视觉和语言数据之间的协同作用来执行各种任务,从而彻底改变了该领域。虽然目前已有的文献中已经引入了许多视觉语言模型,但CLIP(对比语言-图像预训练)仍然是最知名和最广泛使用的模型。​

通过在同一向量空间中嵌入图像和标题,CLIP模型允许进行跨模式推理,使用户能够以良好的准确性执行诸如零样本图像分类和文本到图像检索等任务。并且,CLIP模型使用对比学习方法来学习图像和标题的嵌入。​

对比学习简介​

对比学习使得CLIP模型可以通过在共享向量空间中最小化图像之间的距离来学习将图像与其相应的标题相关联。CLIP模型和其他基于对比的模型所取得的令人印象深刻的结果证明了这种方法是非常有效的。​

对比度损失用于比较批次中的图像和标题对,并优化模型以最大化匹配图像-文本对的嵌入之间的相似性,并降低批次中其他图像-文本对之间的相似度。​

下图展示了可能的批处理和训练步骤示例,其中:​

1.紫色方块包含所有标题的嵌入,绿色方块包含所有图像的嵌入。​
2.矩阵的平方包含批次中所有图像嵌入和所有文本嵌入的点积(读作“余弦相似性”,因为嵌入是标准化的)。​
3.蓝色正方形包含模型必须最大化相似性的图像-文本对之间的点积,其他白色正方形是我们希望最小化的相似性(因为这些正方形中的每一个都包含不匹配的图像-文本对的相似性,例如猫的图像和描述“my vintage chair”(我的复古椅子)。
在这里插入图片描述
经过训练后,你应该可以生成一个可以在其中对图像和标题进行编码的有意义的向量空间。一旦为每个图像和每个文本嵌入了内容,你就可以做很多任务,比如看哪些图像更符合标题(例如,在2017年暑假相册中找到“dogs on the beach”(海滩上的狗)),或者找到哪个文本标签更像给定图片(例如,你有一大堆你的狗和猫的图像,你希望能够识别哪个是哪个)。​

CLIP等视觉语言模型已成为通过集成视觉和语言信息来解决复杂人工智能任务的强大工具。他们将这两种类型的数据嵌入共享向量空间的能力在广泛的应用中带来了前所未有的准确性和出众表现。​

视觉语言模型能理解语言吗?​

我们所做的工作正是试图采取一些手段来回答这个问题。关于深度模型能否或者说能在多大程度上理解语言这个问题,当前还存在着重大的争论。在这里,我们的目标是研究视觉语言模型及其合成能力。​

我们首先提出了一个新的数据集用来测试成分理解;这个新的基准被称为ARO(Attribution,Relations,and Order:属性、关系和顺序)。接着,我们探讨为什么对比损失在这种情况下可能是有限的。最后,我们为这个问题提出了一个简单但有希望的解决方案。​

新基准:ARO(属性、关系和顺序)

​像CLIP(以及Salesforce最近推出的BLIP)这样的模型在理解语言方面做得怎么样呢?​

我们收集了一组基于属性的合成标题(例如“the red door and the standing man”(红门和站着的人))和一组基于关系的合成标题(例如“the horse is eating the grass”(马在吃草))以及相匹配的图像。然后,我们生成替代后的虚假标题,比如“the grass is eating the horse”(草正在吃马)。模型们能找到正确的标题吗?我们还探讨了混排单词的效果:难道模型更喜欢非混排标题而不是混排标题吗?​

我们为属性、关系和顺序(ARO)基准创建的四个数据集如下图所示(请注意,顺序部分包含两个数据集):​
在这里插入图片描述
我们创建的不同数据集包括Relation、Attribution和Order。对于每个数据集,我们显示一个图像示例和不同的标题。其中,只有一个标题是正确的,模型必须识别出这个正确的标题。​

属性测试对属性的理解结果是:“the paved road and the white house”(铺好的路和白房子)与“the white road and the paved house”(白路和铺好的房子)。​
关系测试对关系的理解结果是:“the horse is eating the grass”(马在吃草)和“the grass is eating the horse”(草在吃草)。​
最后,Order测试了模型对顺序打乱后的弹性结果:我们随机打乱标准数据集(例如,MSCOCO)的标题。​
视觉语言模型能找到与图像匹配的正确标题吗?这项任务似乎很容易,我们希望模型能够理解“马在吃草”和“草在吃草”之间的区别,对吧?我的意思是,谁见过草在吃东西?​

好吧,可能是BLIP模型,因为它无法理解“马在吃草”和“草在吃草”之间的区别:
在这里插入图片描述
BLIP模型不理解“草在吃草”和“马在吃草”之间的区别(其中包含来自视觉基因组数据集的元素,图片由作者提供)​

现在,让我们看看实验结果:很少有模型能在很大程度上超越理解关系的可能性(例如,eating——吃饭)。但是,CLIP模型在属性和关系的边缘方面略高于此可能性。这实际上表明视觉语言模型尚存在问题。
在这里插入图片描述

检索与对比损失评判

这项工作的主要结果之一是,我们学习语言需要的可能不仅仅是标准的对比损失。这又是为什么呢?​

让我们从头开始:视觉语言模型通常在检索任务中进行评估:取一个标题并找到它映射到的图像。如果你查看用于评估这些模型的数据集(例如,MSCOCO、Flickr30K),你会看到,它们通常包含用标题描述的图像,这些标题需要理解构图能力(例如,“the orange cat is on the red table”:橙色的猫在红色的桌子上)。那么,如果标题很复杂,为什么模型不能学习构图理解呢?​

[说明]在这些数据集上进行检索并不一定需要对组成的理解。​

我们试图更好地理解这个问题,并在打乱标题中单词的顺序时测试了模型在检索方面的性能。我们能找到标题“books the looking at people are”的正确图像吗?如果答案是肯定的;这意味着,不需要指令信息来找到正确的图像。
在这里插入图片描述
我们测试模型的任务是使用打乱的标题进行检索。即使我们打乱标题,模型也可以正确地找到相应的图像(反之亦然)。这表明检索任务可能过于简单,图片由作者提供。​

我们测试了不同的乱序过程,结果是肯定的:即使使用不同的乱序技术,检索性能也基本上不会受到影响。​

让我们再说一次:视觉语言模型在这些数据集上实现了高性能的检索,即使指令信息无法访问。这些模型可能表现得像一堆单词,其中顺序并不重要:如果模型不需要理解单词顺序才能在检索中表现良好,那么我们在检索中实际衡量的是什么?​

怎么办?

既然我们知道存在问题,我们可能想寻找解决方案。最简单的方法是:让CLIP模型明白“猫在桌子上”和“桌子在猫身上”是不同的。​

事实上,我们所建议的一种途径是通过添加专门为解决这个问题而制作的硬底片来改进CLIP训练。这是一个非常简单有效的解决方案:它需要对原始CLIP损失进行非常小的编辑,而不会影响总体性能(您可以在论文中阅读一些注意事项)。我们将此版本的CLIP称为NegCLIP。
在这里插入图片描述
基本上,我们要求NegCLIP模型将黑猫的图像放在“a black cat sitting on a desk”(坐在桌子上的黑猫)这句话附近,但远离句子“a black desk sitting on a cat”(坐在猫身上的黑色桌子)。注意,后者是通过使用POS标签自动生成的。​

该修复的效果是,它实际上可以提高ARO基准的性能,而不会损害检索性能或检索和分类等下游任务的性能。
在这里插入图片描述

结语

总之,视觉语言模型目前已经可以做很多事情了。接下来,我们迫不及待地想看看GPT4等未来的模型能做什么!

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

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

相关文章

vmware VM虚拟机去虚拟化教程 硬件虚拟机 过鲁大师检测

一 准备工作 1. 这里演示的VM虚拟机版本是12.5.9 虚拟机系统是win7 64位 2. 用到的工具 winhex和Phoenix BIOS Editor 下载地址工具 链接:https://pan.baidu.com/s/1b3FfA3FyQ_lnFQSjpCGLGg?pwd1221 提取码:1221 3. 注意&#…

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)---昇腾AI入门课(上)

AscendCL快速入门 AscendCL概述 AscendCL功能介绍 AscendCL基础概念解析 应用开发流程 样例代码精讲

Vivado综合参数设置

如果你正在使用Vivado开发套件进行设计,你会发现综合设置中提供了许多综合选项。这些选项对综合结果有着潜在的影响,而且能够提升设计效率。为了更好地利用这些资源,需要仔细研究每一个选项的功能。本文将要介绍一下Vivado的综合参数设置。 …

SpringBoot解决用户重复提交订单(方式一:通过唯一索引实现)

文章目录 前言1、方案实现1.1、给数据库表增加唯一键约束1.2、编写获取请求唯一ID的接口1.3、业务提交的时候,检查唯一ID 2、小结 前言 对于投入运营的软件系统(商城、物流、工厂等),最近小编在巡检项目数据库的时候,发…

【场景生成与削减】基于蒙特卡洛法场景生成及启发式同步回带削减风电、光伏、负荷研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

学习笔记 -- C++性能评估工具Perf

Installation sudo apt update sudo apt install linux-tools-common查看你的内核: uname -r我的输出: $ uname -r 5.15.0-67-generic安装对应的 tools: sudo apt install linux-tools-5.15.0-67-genericImplementation 1、Perf List 状…

PyTorch 人工智能研讨会:1~5

原文:The Deep Learning with PyTorch Workshop 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心…

vmware 打开报错

Error: VMware Workstation failed? I downloaded ccleaner to free up my ram and to get rid of some junk files. I ran ccleaner, tried to start my vmware and I got the error message “VMware Workstation failed to start the VMware Authorization Service. You ca…

WPS两次变身:超级会员+超级表格,完美逆袭,这次再也不输office

WPS会员变“超级会员” WPS宣布会员服务升级,将原有的“WPS会员”、“稻壳会员”及“超级会员”进行合并,推出“WPS超级会员”,提供了Pro和基础两个版本套餐。 过去被吐槽的“套娃式”收费被整合,你可以根据日常办公和专业办公的…

数据结构——AVL树

AVL树 概念节点定义插入旋转左单旋与右单旋双旋转 验证AVL树删除(了解) 概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。 因此…

抛弃丑陋的try-catch,优雅处理异常

随着业务逻辑变得越来越复杂,我们在编写代码时会遇到各种异常情况,这时就需要使用try-catch语句来捕获异常并进行处理。但是,大量的try-catch语句会让代码变得臃肿,不易维护,因此,我们需要一种优雅的方式来…

UDS统一诊断服务【六】访问时序参数0X83服务

文章目录 前言一、访问时序参数服务介绍二、数据格式2.1 请求报文2.2 子功能2.3 响应 三、举例 前言 本文介绍UDS统一诊断服务的访问时序参数0X83服务,希望能对你有所帮助 一、访问时序参数服务介绍 这个服务我目前在项目中没怎么用到过,先来看看ISO14…

【三十天精通Vue 3】第十三天 Vue 3 的插件详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、插件概述1.1 插件简介1.2 插件的使用1.3 插件的分类 二、…

五、vue基础-指令之v-bind

一、v-bind 前面要讲的一系列指令,主要是将值插入到模板内容中。 但是,除了内容需要动态来决定外,某些属性我们也希望动态来绑定。 比如动态绑定a元素的href属性;比如动态绑定img元素的src属性; 绑定属性我们使用v-…

智能电网中针对DOS和FDIA的弹性分布式EMA(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 ​智能电网是一种典型的信息物理融合系统,也是关系国民经济发展和国家安全的重大关键基础设施,其安全稳定运行至关重要。近年来…

java某百货店POS积分管理系统_积分点更新生成以及通票回收处理

百货店是生活中不可缺少的一部分,为了给顾客提供更方便的服务平台以及更好的服务质量,而设计了POS积分管理系统。百货店通过点积分的管理获得顾客更好的信誉,增加客户流量,获得更多的利益。在百货店经营的过程中,每天的…

软考 软件设计师上午题面向对象

面向过程和面向对象 省略面向对象可以省略过程,复杂事情简单化 类 类是对象的抽象,对象是类的实例 一般类是交通工具。特殊类是轮船飞机。因为他们是特殊的佳通工具,一个天上的一个海上的 对象 属性别名状态成员变量,方法也叫…

K_A31_002 基于STM32等单片机驱动315MHZ收发模块 串口显示

K_A31_002 基于STM32等单片机驱动315MHZ收发模块 串口显示 所有资源导航一、资源说明二、基本参数参数引脚说明 三、驱动说明原理:对应程序: 四、部分代码说明1、接线引脚定义1.1、STC89C52RC315MHZ收发模块1.2、STM32F103C8T6315MHZ收发模块 五、基础知识学习与相关…

通过Salesforce考试 (考证)后,如何在Trailhead上验证和维护证书?

随着Salesforce产品家族的不断壮大,学习者可以考的认证也在不断增多。从十几年前的几个认证,增长到现在的40多个认证。 在获得Salesforce认证之后,除了要将其放在LinkedIn和Trailblazer.me个人资料中,还有一种官方途径可以让其他…

靶机精讲之pwnOS1.0解法二

主机发现 基于前一解法 复现找到的漏洞文件利用文件 应该要想到如何利用ssh 构造利用语句 authorized_keys文件获取 访问免登录文件失败 敏感文件泄露库 发现敏感文件的经验(精) 按ctrlf搜索 .ssh 免密公钥 已经拿到公钥的数据 用公钥信息破解出私钥…