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

尽管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.mfbz.cn/a/583972.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【doghead】ubuntu构建libuv

按照官方的文档2024年3月的版本。首先构建libuv 最终构建的还得了test 构建过程 zhangbin@DESKTOP-1723CM1:/mnt/d/XTRANS/thunderbolt/ayame/zhb-bifrost$ ls Bifrost-202403 README.md draw player-only worker 大神的带宽估计.png zhangbin@DESKTOP-1723CM1:/mnt/d/XTRANS/…

计算机网络 备查

OSI 七层模型 七层模型协议各层实现的功能 简要 详细 TCP/IP协议 组成 1.传输层协议 TCP 2.网络层协议 IP 协议数据单元(PDU)和 封装 数据收发过程 数据发送过程 1. 2.终端用户生成数据 3.数据被分段,并加上TCP头 4.网络层添加IP地址信息…

React + 项目(从基础到实战) -- 第十期

目标 学会react 状态管理工具 使用redux管理用户状态 Context 跨层级传递,不像props层层传递类似于Vue的provide/inject用于:切换主题颜色,切换语言 useReducer useState 的替代方案 简化版的redux MobX 1. MobX 介绍 MobX 中文文档 声明式的修改数据 , 像vue state ac…

【算法基础实验】图论-UnionFind连通性检测之quick-union

Union-Find连通性检测之quick-union 理论基础 在图论和计算机科学中,Union-Find 或并查集是一种用于处理一组元素分成的多个不相交集合(即连通分量)的情况,并能快速回答这组元素中任意两个元素是否在同一集合中的问题。Union-Fi…

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

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

【Node.js工程师养成计划】之express框架

一、Express 官网:http://www.expressjs.com.cn express 是一个基于内置核心 http 模块的,一个第三方的包,专注于 web 服务器的构建。 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用&…

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …

使用量排名前50的GPTs趋势和特征

Chatgpt的gpt商店已经有几千gpts了。目前哪些gpts比较受欢迎呢?有哪些趋势和投资呢? 根据whatplugin.ai(截止日期为2024年3月),使用量最多的50个gpts数据分析结果如下: GPTs类型的分布情况如下: 图像生成…

案例-部门管理-删除

黑马程序员JavaWeb开发教程 文章目录 一、查看页面原型二、查看接口文档三、开发1、Controller2、Service(1)service接口层(3)service实现层 3、Mapper4、Postman 一、查看页面原型 二、查看接口文档 三、开发 1、Controller 因…

Keepalived+LVS实现Nginx集群配置

Nginx1和Nginx2组成集群,为了实现负载均衡,在集群的前端配置了LVS服务,但是一台LVS容器产生单点故障,因此需要过Keepalived实现LVS的高可用集群 192.168.136.55node1keepalived192.168.136.56node2keeplived192.168.136.57 node3n…

Excel 中用于在一个范围中查找特定的值,并返回同一行中指定列的值 顺序不一样 可以处理吗

一、需求 Excel 中,在一列(某范围内)查找另一列特定的值,并返回同一行中另一指定列的值, 查找列和返回列的顺序不一样 二、 实现 1、下面是一个使用 INDEX 和 MATCH 函数的例子: 假设你有以下数据&…

CI/CD:基于kubernetes的Gitlab搭建

1. 项目目标 (1)熟悉使用k8s环境搭建Gitlab (2)熟练应用Gitlab基本配置 2. 项目准备 2.1. 规划节点 主机名 主机IP 节点规划 k8s-master 10.0.1.1 kube_master k8s-node1 10.0.1.2 kube_node k8s-node2 10.0.1.3 k…

影响外汇交易盈利的因素有哪些?

外汇交易就是通过汇率的差价来赚取相应的利润。在外汇交易中,投资者是否可以盈利,主要取决于是否正确的判断了市场趋势和行情。投资者在交易过程中受到主观和客观的因素影响,具体包含这些内容。 影响外汇交易盈利的因素有哪些? 1、…

【酱浦菌-爬虫项目】爬取学术堂论文信息

1. 首先,代码定义了一个名为 url 的变量,它是一个包含三个网址的集合(或者说是一个集合的字典)。这些网址分别是: - ‘http://www.xueshut.com/lwtimu/127966.html’ - ‘http://www.xueshut.com/lwtimu/12…

nmap扫描工控设备的脚本支持

参考资料 转自(http://www.360doc.com/content/15/1201/11/26186435_517125254.shtml) 介绍 NMAP是一款强大的网络扫描工具,除了普通的TCP/IP网络扫描之外,NMAP的扩展脚本功能为我们提供了更为广阔的应用范围。 针对脚本学习可…

Python使用设计模式中的建筑模式将数据写入Excel且满足条件内容标红

对于这个任务,适合使用"Builder"设计模式。Builder模式的主要目的是将对象的构建与其表示分离,以便相同的构建过程可以创建不同的表示。在这个情况下,我们需要一个构建器来逐行构建Excel表格,并根据给定的数据添加相应的…

C++中auto关键字的用法详解

1.简介 auto作为一个C语言就存在的关键字,在C语言和C之间却有很大区别。 在C语言中auto修饰的变量,是具有自动存储器的局部变量,但因为局部变量默认类别默认是auto修饰导致一直没有人去使用它。 C11中,标准委员会赋予了auto全新…

【MySQL | 第八篇】在MySQL中,如何定位慢查询以及对应解决方法?

文章目录 8.在MySQL中,如何定位慢查询以及对应解决方法?8.1MySQL慢查询日志8.1.1开启慢查询(1)修改配置文件(2)设置全局变量 8.1.2日志记录在表上(实践)8.1.3日志记录在文件上&#…

android studio 4.2.1运行java文件报错

当运行某个带main函数的java文件报这个错误的时候 Could not create task :app:Test.main(). > SourceSet with name main not found. 解决办法&#xff1a;在工程的.idea下的.gradlew.xml文件下添加 <option name"delegatedBuild" value"false"…

InternVL——GPT-4V 的开源替代方案

您的浏览器不支持 video 标签。 在人工智能领域&#xff0c;InternVL 无疑是一颗耀眼的新星。它被认为是最接近 GPT-4V 表现的可商用开源模型&#xff0c;为我们带来了许多惊喜。 InternVL 具备强大的功能&#xff0c;不仅能够处理图像和文本数据&#xff0c;还能精妙地理解…
最新文章