展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 业界资讯 > 通过一组单词构建视觉语言模型可能性研究​

通过一组单词构建视觉语言模型可能性研究​

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

本文目录

    译者 | 朱先忠​

    审校 | 重楼​

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

    同时,视觉语言模型也并不完美。在本文中,我们要探讨这些模型的局限性,强调它们可能失败的地方和原因。事实上,这篇文章是对我们最近将发表的论文的简短/高级描述,该论文计划将以​​ICLR 2023 Oral​​论文形式发表。如果您想查看本文有关完整的源代码,只需单击链接https://github.com/mertyg/vision-language-models-are-bows。

    简介​

    什么是视觉语言模型?​

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

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

    对比学习简介​

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

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

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

    • 紫色方块包含所有标题的嵌入,绿色方块包含所有图像的嵌入。​
    • 矩阵的平方包含批次中所有图像嵌入和所有文本嵌入的点积(读作“余弦相似性”,因为嵌入是标准化的)。​
    • 蓝色正方形包含模型必须最大化相似性的图像-文本对之间的点积,其他白色正方形是我们希望最小化的相似性(因为这些正方形中的每一个都包含不匹配的图像-文本对的相似性,例如猫的图像和描述“my vintage chair”(我的复古椅子)。

    通过一组单词构建视觉语言模型可能性研究​

    CLIP模型中的对比预训练(其中,蓝色方块是我们想要优化相似性的图像-文本对)

    经过训练后,你应该可以生成一个可以在其中对图像和标题进行编码的有意义的向量空间。一旦为每个图像和每个文本嵌入了内容,你就可以做很多任务,比如看哪些图像更符合标题(例如,在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模型在属性和关系的边缘方面略高于此可能性。这实际上表明视觉语言模型尚存在问题。​

    通过一组单词构建视觉语言模型可能性研究​

    不同模型在属性、关系和顺序(Flick30k)基准上的性能。其中使用了CLIP、BLIP以及其他SoTA模型​

    检索与对比损失评判

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

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

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

    我们试图更好地理解这个问题,并在打乱标题中单词的顺序时测试了模型在检索方面的性能。我们能找到标题“books the looking at people are”的正确图像吗?如果答案是肯定的;这意味着,不需要指令信息来找到正确的图像。​

    通过一组单词构建视觉语言模型可能性研究​

    我们测试模型的任务是使用打乱的标题进行检索。即使我们打乱标题,模型也可以正确地找到相应的图像(反之亦然)。这表明检索任务可能过于简单,图片由作者提供。​

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

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

    怎么办?

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

    事实上,我们所建议的一种途径是通过添加专门为解决这个问题而制作的硬底片来改进CLIP训练。这是一个非常简单有效的解决方案:它需要对原始CLIP损失进行非常小的编辑,而不会影响总体性能(您可以在论文中阅读一些注意事项)。我们将此版本的CLIP称为NegCLIP。​

    通过一组单词构建视觉语言模型可能性研究​

    在CLIP模型中引入硬底片(我们添加了图像和文本硬底片,图片由作者提供)​

    基本上,我们要求NegCLIP模型将黑猫的图像放在“a black cat sitting on a desk”(坐在桌子上的黑猫)这句话附近,但远离句子“a black desk sitting on a cat”(坐在猫身上的黑色桌子)。注意,后者是通过使用POS标签自动生成的。​

    该修复的效果是,它实际上可以提高ARO基准的性能,而不会损害检索性能或检索和分类等下游任务的性能。有关不同基准的结果,请参见下图(有关详细信息,请参阅本文对应论文)。​

    通过一组单词构建视觉语言模型可能性研究​

    不同基准上的NegCLIP模型与CLIP模型。其中,蓝色基准是我们介绍的基准,绿色基准来自网络文献(图片由作者提供)​

    您可以看到,这里与ARO基准相比有了巨大的改进,在其他下游任务上也有了边缘改进或类似的性能。​

    编程实现

    ​​Mert​​(论文的主要作者)在创建一个​​小型库​​来测试视觉语言模型方面做得很好。你可以使用他的代码来复制我们的结果,或者用新的模型进行实验。

    下载数据集并开始运行只需要少数几行Python语言:​

    import clip​
    from dataset_zoo import VG_Relation, VG_Attribution​
    
    model, image_preprocess = clip.load("ViT-B/32", device="cuda")​
    
    root_dir="/path/to/aro/datasets"​
    #把 download设置为True将把数据集下载到路径`root_dir`——如果不存在的话​
    #对于VG-R和VG-A,这将是1GB大小的压缩zip文件——它是GQA的一个子集​
    
    vgr_dataset = VG_Relation(image_preprocess=preprocess, ​
     download=True, root_dir=root_dir)​
    vga_dataset = VG_Attribution(image_preprocess=preprocess, ​
     download=True, root_dir=root_dir)​
    
    #可以对数据集作任何处理。数据集中的每一项具有类似如下的形式:​
    # item = {"image_options": [image], "caption_options": [false_caption, true_caption]}​

    此外,我们还实现了NegCLIP模型(其实际是OpenCLIP的一个更新副本),其完整代码下载地址是https://github.com/vinid/neg_clip。​

    结语

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

    译者介绍

    朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。​

    原文标题:​​Your Vision-Language Model Might Be a Bag of Words​​,作者:Federico Bianchi​

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    业界资讯 人工智能
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Postman macOS版
    Postman macOS版

    Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

    Docker Desktop macOS版
    Docker Desktop macOS版

    Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

    Android Studio macOS版
    Android Studio macOS版

    Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

    Xcode macOS版
    Xcode macOS版

    Xcode 是苹果面向 Mac 提供的官方集成开发环境,将代码编辑、项目构建、SwiftUI 实时预览、设备模拟、自动化测试、断点调试、性能分析和应用分发整合在同一套工作流中,适合开发与维护 iPhone、iPad、Mac、Apple Wa

    JetBrains WebStorm macOS版
    JetBrains WebStorm macOS版

    JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。

    PhpStorm macOS版
    PhpStorm macOS版

    PhpStorm 是 JetBrains 推出的专业 PHP 集成开发环境,可在 Mac 上完成代码编写、智能检查、重构、调试、测试和数据库管理。它支持主流 PHP 框架、Composer、Git、Docker 与远程解释器。

    JetBrains PyCharm macOS版
    JetBrains PyCharm macOS版

    JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。

    JetBrains IntelliJ IDEA macOS版
    JetBrains IntelliJ IDEA macOS版

    IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。

    Visual Studio Code macOS版
    Visual Studio Code macOS版

    Visual Studio Code 是微软提供的免费代码编辑器,支持 macOS,并为 Intel 与 Apple 芯片 Mac 提供适配版本。软件集代码编辑、调试、Git 源代码管理、集成终端和扩展市场于一体。

    REAPER macOS版
    REAPER macOS版

    REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。

    Adobe Audition macOS版
    Adobe Audition macOS版

    Adobe Audition 是面向播客、影视后期、音乐制作及内容创作者的专业音频工作站,提供波形精修、多轨录制与混音、频谱编辑、降噪修复、响度匹配和效果处理工具,并可与 Adobe Premiere 协同完成视频声音制作。

    Pro Tools macOS版
    Pro Tools macOS版

    Pro Tools 是 Avid 推出的专业数字音频工作站,覆盖多轨录音、无损剪辑、MIDI 编曲、插件处理、自动化混音及声音与画面同步等工作。它拥有 Intro、Artist、Studio 和 Ultimate 等方案。

    WINDOWS 更多
    PixPix 网页版
    PixPix 网页版

    PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

    Postman Windows版
    Postman Windows版

    Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

    Docker Desktop Windows版
    Docker Desktop Windows版

    Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。

    Android Studio Windows版
    Android Studio Windows版

    Android Studio 是 Google 面向 Android 应用开发提供的官方集成开发环境,以 IntelliJ IDEA 为基础,集成智能代码编辑、Gradle 构建、设备模拟、界面预览、调试测试及性能分析工具,

    JetBrains WebStorm Windows版
    JetBrains WebStorm Windows版

    WebStorm 是 JetBrains 面向 JavaScript、TypeScript 和现代 Web 技术打造的集成开发环境。它提供项目级代码分析、智能补全、安全重构、导航搜索,并集成调试、测试、终端、Git 与常用前端工具,

    JetBrains PhpStorm Windows版
    JetBrains PhpStorm Windows版

    PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,

    JetBrains PyCharm Windows版
    JetBrains PyCharm Windows版

    PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,

    JetBrains IntelliJ IDEA Windows版
    JetBrains IntelliJ IDEA Windows版

    JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,

    Visual Studio Code Windows版
    Visual Studio Code Windows版

    Visual Studio Code 是微软推出的免费代码编辑器,Windows 版集成智能补全、代码导航、调试、终端和版本控制,并可通过扩展添加语言、格式化及远程开发能力。它启动较快、配置灵活,

    REAPER Windows版
    REAPER Windows版

    REAPER 是 Cockos 推出的数字音频工作站,适用于录音、MIDI 编曲、音频编辑、混音、母带制作及声音设计。软件安装包小巧,支持多轨录制、灵活路由、自动化、第三方插件和脚本扩展,并提供完整功能的 60 天免费评估期。

    Adobe Audition Windows版
    Adobe Audition Windows版

    Adobe Audition 是面向播客、影视后期、广播与音乐制作的专业音频工作站,提供波形编辑、多轨混音、频谱分析、录音、降噪修复和效果处理等功能。Windows 版通过 Adobe Creative Cloud 安装和管理,

    Pro Tools Windows版
    Pro Tools Windows版

    Pro Tools 是 Avid 推出的专业数字音频工作站,提供多轨录音、音频剪辑、MIDI编曲、插件处理、自动化混音及影视声音制作能力。它适合音乐人、录音师、制作人和音频后期团队使用,并提供免费入门版、订阅方案及永久授权选择。