CogAgent:开创性的VLM在GUI理解和自动化任务中的突破

news2024/11/24 6:19:45

尽管LLMs如ChatGPT在撰写电子邮件等任务上能够提供帮助,它们在理解和与GUIs交互方面存在挑战,这限制了它们在提高自动化水平方面的潜力。数字世界中的自主代理是许多现代人梦寐以求的理想助手。这些代理能够根据用户输入的任务描述自动完成如在线预订票务、进行网络搜索、管理文件和创建PowerPoint演示文稿等任务。然而,目前基于纯语言的代理在真实场景中的潜力相当有限,因为大多数应用程序通过GUI与人交互,而GUI通常缺乏标准的API进行交互,且重要信息(包括图标、图像、图表和空间关系)难以直接用文字表达。

为了克服这些限制,研究者们提出了基于视觉语言模型(Visual Language Models,简称VLMs)的代理。与仅依赖文本输入(如HTML或OCR结果)不同,基于VLM的代理可以直接感知视觉GUI信号。由于GUI是为人类用户设计的,只要VLM达到人类级别的视觉理解能力,基于VLM的代理就能像人类一样有效地执行任务。此外,VLM还能够执行如极快速阅读和编程等通常超出大多数人类用户能力范围的技能,这扩展了基于VLM的代理的潜力。

CogAgent,是一个专门用于GUI理解和导航的18亿参数的视觉语言模型(VLM)。专为理解和导航图形用户界面(GUI)而设计。

  1. 参数规模:CogAgent拥有18亿参数,这使得它能够捕捉和学习复杂的视觉和语言特征,从而更准确地理解和解释GUI元素。
  2. 双分辨率图像编码器
    • 低分辨率图像编码器:用于处理较小尺寸的图像(例如224×224像素),这有助于模型快速捕捉图像的基本布局和对象。
    • 高分辨率图像编码器:设计用于处理高达1120×1120分辨率的图像,这使得模型能够识别和理解细小的GUI元素,如小图标、文本和复杂的图表。
  3. 输入分辨率:支持高分辨率输入是CogAgent的关键特性之一。高分辨率图像使得模型能够更好地解析GUI中的细微视觉细节,这对于执行精确的GUI任务至关重要。
  4. 视觉和语言的整合:CogAgent通过视觉语言解码器将视觉特征与文本特征结合起来,这使得模型不仅能够识别图像内容,还能够理解与图像内容相关的语言上下文。
  5. 交叉注意力机制:CogAgent采用了交叉注意力(cross-attention)机制,这是一种神经网络技术,允许模型在处理视觉信息时同时考虑相关的语言信息,反之亦然。
  6. 计算效率:为了处理高分辨率图像带来的计算挑战,CogAgent设计了一个高分辨率交叉模块,它通过减小隐藏层的大小和使用跨注意力机制来降低计算成本。

对CogAgent预训练和微调过程如下:

  1. 预训练阶段
    • CogAgent的预训练阶段专注于构建一个能够理解图形用户界面(GUI)的模型。为此,研究者们收集了大规模的GUI图像和光学字符识别(OCR)数据集。
    • 预训练数据集包含了合成渲染的文本图像、自然场景中的文本图像以及学术文档等,这些数据通过不同的图像增强技术进行预处理,以提高模型对文本的识别能力。
    • 此外,预训练还包括视觉定位任务,即模型需要识别图像中的文本和对象,并理解它们之间的关系,这对于理解GUI结构至关重要。
    • 预训练的目的是让模型掌握对各种尺寸、方向和字体的文本的识别能力,以及对图像中对象的定位能力,从而为后续的微调阶段打下坚实的基础。
  2. 微调阶段
    • 微调是对预训练模型进行的进一步训练,目的是让模型更好地适应特定的任务。在CogAgent的情况下,微调涉及将模型应用于具体的GUI任务,如网页浏览、应用操作等。
    • 微调数据集包含了从真实世界的智能手机和电脑应用中收集的截图,这些截图被人工标注了潜在的任务和操作方法。
    • 通过微调,CogAgent能够学习到如何根据给定的任务描述和历史操作来预测用户界面中的下一个动作,例如点击某个按钮或输入文本。
    • 微调过程不冻结模型的所有参数,而是允许它们根据特定任务的数据进行更新,从而使模型的性能在这些任务上得到优化。

为了全面评估CogAgent的性能,研究者们在多个视觉问答(VQA)基准测试中对其进行了测试。这些测试覆盖了通用VQA和文本丰富的VQA两大类,旨在衡量模型在处理视觉场景中嵌入文本的图像上的能力。CogAgent在包括VQAv2、OK-VQA、TextVQA、ST-VQA、ChartQA、InfoVQA和DocVQA在内的八个VQA基准测试中进行了评估。结果显示,CogAgent在通用VQA类别的两个数据集上均达到了最先进的一般性结果,同时在文本丰富的VQA类别中的五个基准测试中的四个上取得了最佳成绩,显著超过了其他一般性模型,并且在某些情况下甚至超过了特定任务的模型。

CogAgent在零样本测试中也展现了卓越的性能。在MM-Vet和POPE数据集上,CogAgent在处理复杂任务和抵抗幻觉方面的表现超过了其他现有模型。在MM-Vet数据集上,CogAgent的得分为52.8,比最接近的竞争对手LLaVA-1.5高出16.5分。在POPE数据集的对抗性评估中,CogAgent获得了85.9分,显示出其在处理幻觉方面的优越能力。

在GUI导航任务上,CogAgent在Mind2Web和AITW数据集上的表现尤为突出。Mind2Web是一个针对Web代理的数据集,包含来自不同网站的2000多个任务。CogAgent在跨网站、跨域和跨任务的测试子集上均取得了显著的性能提升,超过了LLaMA2-70B模型。在AITW数据集上,CogAgent在预测Android设备上的用户行为方面也取得了最先进的性能,这表明CogAgent能够有效地理解和操作智能手机界面。

在Mind2Web数据集上评估了CogAgent,这是一个针对Web代理的数据集,包含来自137个真实世界网站的2000多个开放式任务。

CogAgent在跨网站、跨域和跨任务的三个子集上均取得了显著的性能提升,超过了LLaMA2-70B模型11.6%、4.7%和6.6%。

使用Android in the Wild (AITW)数据集评估了模型在多样化的智能手机界面和任务上的性能,这是一个包含715k操作集数的大型数据集。

CogAgent在所有测试集上均取得了最先进的性能,与基于语言的方法相比,模型在整体性能上提高了2.61%。

CogAgent的模型和代码将被开源,以促进基于VLM的AI代理的未来研究和应用。基于VLM的代理通过其视觉和语言的综合处理能力,为与GUI的自然交互提供了新的可能性,并且在自动化和增强人机交互体验方面展现出巨大的潜力。

论文链接:

https://arxiv.org/pdf/2312.08914.pdf

GitHub项目地址(含开源模型、网页版Demo):

https://github.com/THUDM/CogVLM


 

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

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

相关文章

Bert基础(二十)--Bert实战:机器阅读理解任务

一、机器阅读理解任务 1.1 概念理解 机器阅读理解(Machine Reading Comprehension, MRC)就是给定一篇文章,以及基于文章的一个问题,让机器在阅读文章后对问题进行作答。 在机器阅读理解领域,模型的核心能力体现在对…

STM32使用PWM驱动直流电机

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. 直流电机和驱动简介 2. 驱动电路原理 3. 代码实现 3.1 PWM.c 3.2 PWM.h 3.3 MOTOR.c 3.4 MOTOR.h 3.5 main.c 3.6 完整工程文件 PWM和OC输出比较详解: STM32定时器的OC比较和PW…

LT6911GX HDMI2.1 至四端口 MIPI/LVDS,带音频 龙迅方案

1. 描述LT6911GX 是一款面向 VR / 显示应用的高性能 HDMI2.1 至 MIPI 或 LVDS 芯片。HDCP RX作为HDCP中继器的上游,可以与其他芯片的HDCP TX配合使用,实现中继器功能。对于 HDMI2.1 输入,LT6911GX 可配置为 3/4 通道。自适应均衡功能使其适合…

使用Github+Picgo+npm实现免费图床

本文参考自 Akilar,原文地址:https://akilar.top/posts/3e956346/ Picgo的配置 Github图床仓库内容不能超过1GB,因为Github原则上是反对仓库图床化的,超过1GB之后会由人工审核仓库内容,如果仓库被发现用来做图床&…

简要说说软分叉和硬分叉。

前言 一、软分叉 二、硬分叉 三、用途 总结 前言 软分叉和硬分叉是区块链技术中的两个重要概念,它们通常与加密货币的网络升级有关。下面我将分别解释这两个概念,并提供一些例子来帮助理解。下面是方便理解软分叉和硬分叉的图 一、软分叉 软分叉是一…

docker学习笔记4:CentOS7安装docker

文章目录 一、安装docker二、配置阿里云加速三、测试镜像安装本篇博客介绍如何在centos7里安装docker,关于CentOS7的安装可以查看本专栏的这篇博客: VmWare CentOS7安装与静态ip配置 centos7里安装docker步骤如下: 一、安装docker 先在终端输入su进入root用户,输入如下命…

Outlook大附件插件 有效解决附件大小限制问题

很多企业都是使用Outlook来进行邮件的收发,可是由于附件大小有限,导致很多大文件发不出去,就会产生Outlook大附件插件这种业务需求。 邮件系统在发送大文件时面临的限制问题主要如下: 1、附件大小限制:大多数邮件服务…

操作系统课程设计-人机交互的模拟操作系统

(一)课设板块 模块划分: (1)、进程管理模块 (2)、内存管理模块 (3)、文件管理模块 (4)、设备管理模块 (5)、界面管理模块…

Elasticsearch中【文档查询】DSL语句以及对应的Java实现

目录 全文检索查询 精准查询 布尔查询 排序、分页查询 高亮 地理查询 复合查询 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测…

C语言:项目实践(贪吃蛇)

前言: 相信大家都玩过贪吃蛇这款游戏吧,贪吃蛇是久负盛名的游戏,它也和俄罗斯方块,扫雷等游戏位列经典游戏的行列,那贪吃蛇到底是怎么实现的呢? 今天,我就用C语言带着大家一起来实现一下这款游戏…

Springboot+Vue项目-基于Java+MySQL的校园疫情防控系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

达梦(DM) SQL聚集函数及日期运算操作

达梦DM SQL聚集函数及日期运算操作 聚集函数MAX、MIN、SUM、AVG、COUNT使用分析函数 sum (…) over (order by…) 可以生成累计和更改累计和的值计算出现次数最多的值 日期运算加减日、月、年加减时、分、秒日期间隔之时、分、秒日期间隔之日、月、年求两个日期间的工作天数确定…

《C语言深度解剖》(10):数组指针、指针数组和数组指针数组

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》《精通C指针》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏…

抄表自动化的实现与优势

1.界定与简述 抄表自动化是一种当代关键技术,致力于取代传统的手动式抄表方法,通过远程数据数据采集解决,完成电力工程、水、气等公用事业电力仪表的全自动载入。这一系统利用先进的感应器、物联网技术(IoT)设备及数据数据分析工具&#xff…

2024年第十五届蓝桥杯江苏省赛回顾

呜呜呜~~~ 我在考完了后感觉自己直接炸了:好多学到的算法都没有用上,几乎所有的题目都是暴力的。。。 最后十几分钟对于一道dp算法终于有思路了,但是。。匆匆忙忙之间就是没有调试出来。(还是交了一道暴力[旋风狗头]直接哭死~~&…

【七十三】【算法分析与设计】516. 最长回文子序列,二叉树,329. 矩阵中的最长递增路径,记忆化递归填表

516. 最长回文子序列 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s &qu…

JAVA系列 小白入门参考资料 类和对象(3)

温馨提示: 此篇文章需要前两篇文章作为基础。 JAVA系列 小白入门参考资料 类和对象(1)​​​​​​​ JAVA系列 小白入门参考资料 类和对象(2) 目录 1. 封装 引入封装 访问修饰符 封装的具体实现 get方法和…

55.基于SpringBoot + Vue实现的前后端分离-旅游管理系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的旅游管理系统设计与实现管理工作系统…

ElasticSearch面试题2

Mapping属性详细介绍/常见的字段数据类型: 映射(mapping)︰mapping是对索引库中文档的约束信息(例如字段名、数据类型),类似表的结构约束;每个索引库都应该有自己的映射 数据库一定要先创建表才能去添加数据…

【Java】图书管理系统 介绍与实现

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 1.介绍 图书馆作为知识的殿堂和学术的中心,其管理系统不仅是图书馆管理的必备工具,更是为用户提供优质、高效服务的重要保障,促进了知识的传播和学术的发展。随着…