(2024,VLM,操纵链)CogCoM:训练大型视觉语言模型,通过操作链深入细节

news/2024/4/14 20:44:17

CogCoM: Train Large Vision-Language Models Diving into Details through
Chain of Manipulations

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

2. 方法

2.1. 术语

2.2. 数据生成

2.3 训练

3. 实验

5. 局限性


0. 摘要

视觉-语言模型(Vision-Language Models,VLM)通过对齐视觉指令与答案进行广泛的训练,展示了它们的广泛适用性。然而,这种明确的对齐导致模型忽视了关键的视觉推理,进而在细致入微的视觉问题和不忠实的响应方面失败。在本文中,我们提出了一种名为 "Chain of Manipulations" 的机制,该机制使 VLM 能够通过一系列操纵来解决问题,其中每个操纵都是指对视觉输入进行的操作,可以是通过先前训练获得的内在能力(例如,grounding)或者是模仿类似人类行为的行为(例如,放大)。这种机制鼓励 VLM 生成具有证据支持的视觉推理的忠实响应,并允许用户在可解释的路径中跟踪错误的原因。因此,我们训练了 CogCoM一种通用的基于内存的 17B 兼容 VLM 架构,使用了推理机制 。实验证明,我们的模型在来自 3 个类别的 8 个基准上实现了最先进的性能,并且在有限数量的训练步骤中,数据迅速获得了竞争性能。

代码:https://github.com/THUDM/CogCoM

2. 方法

2.1. 术语

我们首先介绍术语的正式定义和数据结构,以确保清晰理解。我们将操纵定义为一个灵活的集合,包括来自基础预定义集合的函数,以及模型在推理过程中自行设计的函数,以适应上下文学习。因此,我们预定义了 VLM 可以开发的一组操纵函数,这些函数可以来自先前的训练或通过模仿人类行为而得到:

M ⊆ {

Grounding(tgt)→bbx,

OCR(tgt)→txt,

Calculate(tgt)→num,

Counting(tgt)→num,

CropZoomIn(bbx,x)→img

}

其中参数或返回值 bbx,x,img,tgt,num,txt 分别表示边界框、缩放比例、图像、目标描述、数字和文本。

给定一个语言问题  Q 和一个初始输入图像 I_0​,一个使用操纵链(Chain of Manipulation,CoM)的通用视觉-语言模型表示为 VLM(ζ∣I_0​,Q) ⇒ A ,其中 ζ 指的是一系列证据推理步骤,

其中 f_i​ 指的是来自操纵定义集合 M 的实例化操纵函数,desc_i​ 指的是包括操纵执行在内的语言描述。这个定义明确声明了操纵函数 f_i​ 的符号执行,并且与现有的自由形式指令-答案数据结构兼容,其中包括语言描述 desc_i​。

2.2. 数据生成

基于数据结构的定义,我们介绍一个数据生成框架,该框架能够在基于图像的问答对上高效地合成CoM 数据,并且还能够通过用人工劳动替代语言和视觉标注器来生成高质量的注释。

  • 给定一个包含图像和相应的视觉问答对的三元样本的通用语料库 D={(I,Q,A)},我们的自动数据合成框架包括一个语言标注器和若干个根据操纵进行视觉标注的标注器。
  • 对于每个样本中的问题 Q,我们首先让语言标注器生成具有 CoM 格式(f_i​,desc_i​)的操纵辅助求解步骤。在本文中,我们选择 GPT4 作为语言标注器。 
  • 然后,通过精确执行相应操作,我们使用视觉标注器来获得操作的返回值。
  • 我们执行这些操作以及推理步骤,将推理步骤转化为一棵树 T,因为当前操作 f1(x1) 的输入可能依赖于先前操作 f2 → x2 的多个返回值之一,即 x1 依赖于 x2(例如,图 2 中查找柱子的第 2 步)。

2.3 训练

我们使用与 CogVLM(Wang et al., 2023b)相同的模型架构,这是一种通用的 VLM 方法,包括四个基本组件:

  • 视觉编码器。
  • MLP 适配器,用于将视觉编码器的输出映射到 LLM 主干的语言空间。
  • LLM 主干。
  • 视觉专家模块,用于可靠的多模态理解。将视觉特定的权重添加到 LLM 主干中每个块的注意层和前馈层,实现模态的深度融合。 

CogCoM-17B 依赖于两个主要阶段的训练,以发展通用多模态任务解决的能力和视觉推理能力:

  • 第一阶段的预训练包括两个子阶段的训练,分别用于建立基础的视觉理解和图像-问题-答案三元组的生成。
  • 第二阶段的对齐进一步训练模型,使其与人类在解决实际视觉问题上的偏好相一致。

3. 实验

5. 局限性

尽管我们试图开发一个准确而强大的框架,利用显著的 LLM 提供基本解决步骤,采用可靠的视觉工具获取视觉内容,然后基于遍历获取可行路径,但我们的方法仍然存在一些限制,我们希望在未来改进。首先,我们发现语言解决步骤的多样性不足,而视觉工具的不准确性(例如,定位框的粗粒度、斜体字的 OCR 失败)会导致大量负面路径(有效利用这些路径将是有益的)。我们建议通过专用提示和改进的视觉工具来解决这些限制。其次,我们当前的模型通过一组硬提示重新输入了操纵后的图像,这可能会带来速度损失。这有望通过将物理操作纳入向量空间的计算中来改进。 


http://www.ppmy.cn/news/1346089.html

相关文章

ElementUI Data:Table 表格

ElementUI安装与使用指南 Table 表格 点击下载learnelementuispringboot项目源码 效果图 el-table.vue&#xff08;Table表格&#xff09;页面效果图 项目里el-table.vue代码 <script> export default {name: el_table,data() {return {tableData: …

龙年立 Flag,Whale 帷幄 2024 的五大关键词

回顾 2023&#xff0c;AIGC 浪潮的出现&#xff0c;为各行各业带来了更多的商业可能性。在农历新年到来之际&#xff0c;我们也展望 2024&#xff0c;为打好新的硬仗做好充分的准备。 以下 5 大关键词即是「Whale 帷幄」接下来努力的方向和目标。 「盈利」 在 2024 年&#xff…

【目录】CSAPP的实验简介与解法总结(已包含Attack/Link/Architecture/Cache)

文章目录 Attack Lab&#xff08;缓冲区溢出实验&#xff09;对应书上Chap3Link Lab&#xff08;链接实验&#xff09; 对应书上Chap7Architecture Lab&#xff08;体系结构实验&#xff09;对应书上Chap4-5Cache Lab&#xff08;缓存实验&#xff09;对应书上Chap6 Attack Lab…

数据结构第十一天(栈)

目录 前言 概述 源码&#xff1a; 主函数&#xff1a; 运行结果&#xff1a; ​编辑 前言 今天简单的实现了栈&#xff0c;主要还是指针操作&#xff0c;soeasy! 友友们如果想存储其他内容&#xff0c;只需修改结构体中的内容即可。 哈哈&#xff0c;要是感觉不错&…

【C++航海王:追寻罗杰的编程之路】类与对象你学会了吗?(下)

目录 1 -> 再谈构造函数1.1 -> 构造函数体赋值1.2 -> 初始化列表1.3 -> explicit关键字 2 -> static成员2.1 -> 概念2.2 -> 特性 3 -> 友元3.1 -> 友元函数3.2 -> 友元类 4 -> 内部类5 -> 匿名对象6 -> 拷贝对象时的一些编译器优化 1 -…

爬虫工作量由小到大的思维转变---<第四十四章 Scrapyd 用gerapy管理多台机器爬虫>

前言: 之前讲过关于如何在gerapy中部署本地爬虫, 爬虫工作量由小到大的思维转变---&#xff1c;第三十四章 Scrapy 的部署scrapydGerapy&#xff1e;_gerapy如何登录-CSDN博客 爬虫工作量由小到大的思维转变---&#xff1c;第三十五章 Scrapy 的scrapydGerapy 部署爬虫项目&…

未来之梦:畅想人工智能操控手机的辉煌时代

引言&#xff1a; 在当今数字化快速发展的时代&#xff0c;人工智能技术正日益深入我们的生活。其中&#xff0c;手机作为人们日常生活不可或缺的一部分&#xff0c;其未来将如何受到人工智能技术的影响&#xff0c;引发了广泛的关注和研究。本文将深入探讨人工智能操控手机的…

完全免费,文字转语音、AI语音合成,视频配音就用这两款软件!

最近又有不少小伙伴找我要文字转语音、配音软件&#xff0c;刚好最近我也找了两款还比较不错的免费软件&#xff0c;今天就来分享给大家。最后还推荐了一款我自己一直在用的软件&#xff0c;建议认真看看&#xff01; 01 - Vpot-FREE&#xff08;电脑&#xff09; 它是一款永久…

Python进阶--爬取下载人生格言(基于格言网的Python3爬虫)

目录 一、此处需要安装第三方库: 二、抓包分析及Python代码 1、打开人生格言网&#xff08;人生格言-人生格言大全_格言网&#xff09;进行抓包分析 2、请求模块的代码 3、抓包分析人生格言界面 4、获取各种类型的人生格言链接 5、获取下一页的链接 6、获取人生格言的…

AUTOSAR CP--chapter4从一个VCU需求开始Autosar的工程创建

从一个VCU需求开始Autosar的工程创建 1、VCU需求2、Autosar工作任务之间的关系&#xff1a;2.1、工程阶段配置阶段集成阶段调试阶段 1、VCU需求 通过建立整车控制器的工程&#xff0c;搭建Autosar工程的框架&#xff0c;开发的软件是搭载于微控制上运行的。 首先&#xff0c;看…

K8S二进制部署详解,你想要的都在这里

文章目录 1.k8s环境规划2.kubeadm和二进制安装k8s适用场景分析3.必备工具安装3.初始化3.1 配置静态IP3.2 配置主机名3.3 配置hosts文件3.4 配置主机之间无密码登录&#xff0c;每台机器都按照如下操作3.5 关闭firewalld防火墙3.6 关闭selinux3.7 关闭交换分区swap3.8 修改内核参…

ftp安装脚本文档

ftp 安装脚本文档 目录 ftp 安装脚本文档0.概述1.使用方法2.脚本步骤&#xff1a; 0.概述 此Bash脚本自动化了在CentOS 7系统上安装和配置vsftpd&#xff08;Very Secure FTP Daemon&#xff09;服务器的过程。它创建了一个FTP用户&#xff0c;设置了必要的目录&#xff0c;并…

MOS管防反接电路设计

电子元件大都是使用直流工作&#xff0c;电源线反接就有可能就会烧坏&#xff0c;那电路如何防反接&#xff1f;首当其冲我们想到的就是二极管了&#xff0c;运用其单向导通特性可有效防止电源反接而损坏电路&#xff0c;但是随之而来的问题是二极管存在PN节电压&#xff0c;通…

【爬虫实战】全过程详细讲解如何使用python获取抖音评论,包括二级评论

简介&#xff1a; 前两天&#xff0c;TaoTao发布了一篇关于“获取抖音评论”的文章。但是之前的那一篇包涵的代码呢仅仅只能获取一级评论。虽然说抖音的一级评论挺精彩的了&#xff0c;但是其实二级评论更加有意思&#xff0c;同时二级评论的数量是很多。所以二级评论是非常值…

Python学习笔记(水桶谜题代码学习)——应用*符号解包列表所有元素传递给函数用法

原文&#xff1a;http://inventwithpython.com/bigbookpython/project81.html 在这个小游戏中&#xff0c;有三个水桶&#xff0c;容量分别是3升、5升和8升&#xff0c;需要在其中一个水桶中收集正好四升水。规则是&#xff1a; 1、桶只能被清空、完全装满或倒入另一个桶中。…

【Jave EE】----SpringBoot配置文件

1.配置文件的作用 数据库的连接信息&#xff08;包含⽤户名和密码的设置&#xff09;项⽬的启动端⼝ 第三⽅系统的调⽤秘钥等信息 ⽤于发现和定位问题的普通⽇志和异常⽇志 2.SpringBoot的配置文件分类 系统使用的配置文件&#xff0c;如端口号的设置&#xff0c;连接数据库的配…

Python(SQLite)executescript用法

SQLite 数据库模块的游标对象还包含了一个 executescript() 方法&#xff0c;这不是一个标准的 API 方法&#xff0c;这意味着在其他数据库 API 模块中可能没有这个方法。但是这个方法却很实用&#xff0c;它可以执行一段 SQL 脚本。 例如&#xff0c;如下程序使用 executescr…

【精选】java继承进阶,子类继承父类(内存图、内存分析工具)

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

部署一个在线OCR工具

效果 安装 1.拉取镜像 # 从 dockerhub pull docker pull mmmz/trwebocr:latest 2.运行容器 # 运行镜像 docker run -itd --rm -p 10058:8089 --name trwebocr mmmz/trwebocr:latest 使用 打开浏览器输入 http://192.168.168.110:10058/ 愉快滴使用吧

jmeter二次开发函数-生成身份证号

代码参考这个 java 随机生成身份证代码 Java的身份证号码工具类 pom文件添加 <dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_core</artifactId><version>5.4.1</version></dependency><d…
最新文章