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)而设计。
- 参数规模:CogAgent拥有18亿参数,这使得它能够捕捉和学习复杂的视觉和语言特征,从而更准确地理解和解释GUI元素。
- 双分辨率图像编码器:
- 低分辨率图像编码器:用于处理较小尺寸的图像(例如224×224像素),这有助于模型快速捕捉图像的基本布局和对象。
- 高分辨率图像编码器:设计用于处理高达1120×1120分辨率的图像,这使得模型能够识别和理解细小的GUI元素,如小图标、文本和复杂的图表。
- 输入分辨率:支持高分辨率输入是CogAgent的关键特性之一。高分辨率图像使得模型能够更好地解析GUI中的细微视觉细节,这对于执行精确的GUI任务至关重要。
- 视觉和语言的整合:CogAgent通过视觉语言解码器将视觉特征与文本特征结合起来,这使得模型不仅能够识别图像内容,还能够理解与图像内容相关的语言上下文。
- 交叉注意力机制:CogAgent采用了交叉注意力(cross-attention)机制,这是一种神经网络技术,允许模型在处理视觉信息时同时考虑相关的语言信息,反之亦然。
- 计算效率:为了处理高分辨率图像带来的计算挑战,CogAgent设计了一个高分辨率交叉模块,它通过减小隐藏层的大小和使用跨注意力机制来降低计算成本。
对CogAgent预训练和微调过程如下:
- 预训练阶段:
- CogAgent的预训练阶段专注于构建一个能够理解图形用户界面(GUI)的模型。为此,研究者们收集了大规模的GUI图像和光学字符识别(OCR)数据集。
- 预训练数据集包含了合成渲染的文本图像、自然场景中的文本图像以及学术文档等,这些数据通过不同的图像增强技术进行预处理,以提高模型对文本的识别能力。
- 此外,预训练还包括视觉定位任务,即模型需要识别图像中的文本和对象,并理解它们之间的关系,这对于理解GUI结构至关重要。
- 预训练的目的是让模型掌握对各种尺寸、方向和字体的文本的识别能力,以及对图像中对象的定位能力,从而为后续的微调阶段打下坚实的基础。
- 微调阶段:
- 微调是对预训练模型进行的进一步训练,目的是让模型更好地适应特定的任务。在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
相关文章:

CogAgent:开创性的VLM在GUI理解和自动化任务中的突破
尽管LLMs如ChatGPT在撰写电子邮件等任务上能够提供帮助,它们在理解和与GUIs交互方面存在挑战,这限制了它们在提高自动化水平方面的潜力。数字世界中的自主代理是许多现代人梦寐以求的理想助手。这些代理能够根据用户输入的任务描述自动完成如在线预订票务…...

C++容器之位集(std::bitset)
目录 1 概述2 使用实例3 接口使用3.1 constructor3.2 count_and_size3.3 test3.4 any3.5 none3.6 all3.7 set3.8 reset3.9 filp3.10 to_string3.11 to_ulong3.12 to_ullong3.13 operators1 概述 位集存储位(只有两个可能值的元素:0或1,true或false,…)。 该类模拟bool…...

《Ai学习笔记》自然语言处理 (Natural Language Processing):常见机器阅读理解模型(上)02
Glove 词向量: 在机器理解中的词的表示: 词袋(bow,bag of words) one-hot 词向量 word2vec glove 目的:将一个词转换成一个向量 Word2vec 是一种用于生成词向量的工具包,由Google在2013年开源推出…...

老师如何在线发布期末考试成绩查询?
在这个数字化时代,教育领域也迎来了翻天覆地的变化。传统的纸质成绩查询方式已经逐渐被在线成绩查询所替代。如何高效、便捷地进行在线期末考试成绩查询? 成绩的录入与上传。教师需要将学生的考试成绩准确无误地录入系统。这一步骤需要细心和耐心&#x…...

TensorBoard相关学习
TensorBoard是Google为TensorFlow框架开发的一个强大的可视化工具,它可以帮助用户更直观地理解、分析和调试机器学习模型的训练过程。通过TensorBoard,你可以可视化模型的结构、监控训练过程中的指标变化(如损失函数、准确率)、查…...

敏感数据处理的艺术:安全高效的数据提取实践与挑战
在数字化时代,数据已成为驱动经济社会发展的核心要素之一。然而,伴随数据量的爆炸性增长,敏感数据的管理和保护成为了信息安全领域的重大挑战。敏感数据,包括个人身份信息、财务记录、健康档案、商业秘密等,一旦泄露&a…...

使用Python操作excel单元格——获取带公式单元格的值
一、前言 通过使用Python的openpyxl库,来操作excel单元格,获取带公式的单元格中的值。 把学习的过程分享给大家。大佬勿喷! 二、程序展示 1、表格准备 使用前面创建过的表格,获取B6单元格的求和值。 2、获取表格的值 wb o…...

PHP开发入门
PHP官网:PHP: Hypertext Preprocessor apache官网:https://httpd.apache.org/ 一、搭建PHP环境 下载apache 进入官网点击download 选择下载windows版本文件 点击进入下载界面 点击下载64位版本文件 下载后解压文件 解压文件后进入 D:\httpd-2.4.59-24…...

HBase分布式数据库入门到精通
文章目录 HBase分布式数据库入门到精通 一、简单介绍 二、HBase数据模型 三、HBase的架构 四、HBase写操作流程 五、HBase读操作流程 六、HBase minor小合并和major大合并 七、HBase目标表meta表 八、HBase特点 九、HBase的使用场景 HBase分布式数据库入门到精通 一、…...

Java程序员必备技能之MySQL数据库 图解整理/快速入门
恭喜大家来到全新的篇章——MySQL数据库,这一篇我们将学会MySQL数据库的原理、使用sql对数据库的增删改查操作、以及对MySQL数据库的权限管理和用户管理等内容。请大家耐心看下去,相信大家在看完这篇文章后,一定可以学会MySQL数据库(不会Java也可以学会!)。 ps:想要补充…...

效果炸裂!使用 GPT-4o 快速实现LLM OS
使用 GPT-4o 快速实现LLM OS 什么是 LLM OS?LLM OS 主要有以下5个部分组成: LLM OS 开源实现运行 LLM OS 开源实现 什么是 LLM OS? 关于 LLM OS 的最初构想源自karpathy 在2023年11月11日发布的一条Twitter 动态,这是 LLM OS 概念…...

杀死那个进程
一、场景 eclipse在启动tomcat时,出现端口被占用的情况。我寻思着“任务管理器”没出现相应程序在跑啊。 1.1问题:端口和进程的关系 端口和进程之间存在着一种关系,端口是一个逻辑概念,它用于标识网络通信中的一个终点࿰…...

【vue与iframe通讯】
vue 与 iframe 通讯 发送数据vue 向 iframe 发送数据iframe 向 vue 发送数据接收信息( vue & iframe 通用) 实现相互通讯通讯流程图实现代码vue 页面iframe页面iframe 内部重定向访问地址,更新 vue 路由 访问跨域代码下载 前言:vue嵌套iframe实现步骤 发送数据…...

【Python-openslide】openslide.open_slide()
作用: 打开图片 wsi openslide.open_slide(path)注: path: 图片所在路径,需要具体到图片名称(包含扩展名) 我的实验中采用的是svs格式的图像...

推荐系统学习笔记(三)
swing召回通道 Q:假如重合的用户是一个小圈子:在一个群里,毫无关联的笔记也会被同时交互 solve:降低小圈子权重--------------swing的主要目的------------给用户加权 相似度: a是人工参数,overlap降低小…...

521源码-免费游戏源码下载-闯梦江湖Q萌复古全网通手游服务端H5全攻略
闯梦江湖H5:Q萌复古全网通手游服务端全攻略 一、概述 闯梦江湖H5 是一款结合Q萌画风与复古情怀的全网通H5手游。我们为您提供了最新打包的Windows服务端,并附带了通用视频架设教程和GM网页授权后台工具,让您轻松搭建并管理自己的游戏世界。 …...

【Zotero】【MacOS】Zotero6常用插件总结
因为目前MacOS只支持Zotero6,所以我将网上找到的教程以及自己找到适应Zotero6版本的插件做了个整合 教程地址:Zotero6安装/插件安装教程 插件地址:Zotero6_Plugs...

具有固定宽度的盒子:\makebox, \parbox
makebox \makebox 是 LaTeX 中的一个命令,用于创建一个具有固定宽度的盒子,并在该盒子内放置内容。这个命令可以用于控制文本或对象的位置和对齐。 语法如下: \makebox[<width>][<alignment>]{<content>}其中࿱…...

中央网信办等四部门发布《互联网政务应用安全管理规定》
互联网政务应用安全管理规定 (2024年2月19日中央网络安全和信息化委员会办公室、中央机构编制委员会办公室、工业和信息化部、公安部制定 2024年5月15日发布) 第一章 总则 第一条 为保障互联网政务应用安全,根据《中华人民共和国网络安全法…...

国产性能怪兽——香橙派AI Pro(8T)上手体验报告以及性能评测
目录 1、引言2、性能参数3、开箱体验4、实际使用5、性能比较总结参考文章 1、引言 第一次接触香橙派的开发板,之前使用过Arduino、树莓派3B、树莓派4B,STM32,51单片机,没有想到国产品牌性能一样强劲,使用起来也是很方便…...

适用于 Windows 7/8/10/11 的 6 款最佳免费分区软件
分区软件程序旨在帮助您创建、缩小、删除、扩展、合并或拆分硬盘和其他存储设备的分区。虽然可以在 Windows 中对硬盘进行分区而无需使用其他软件,但您可以执行的活动范围有限。例如,如果没有外部工具,您无法调整分区大小或合并分区。在这篇文…...

蓝桥杯备赛——DP续【python】
一、小明的背包2 试题链接:https://www.lanqiao.cn/problems/1175/learning/ 输入示例 5 20 1 6 2 5 3 8 5 15 3 3 输出示例 120 问题分析 这题是完全背包,每个物品有无数个,所以对于任意dp[i][j](其表示的意思为选到第i个…...

区块链系统开发测试----链码部署开发、系统开发验证
一.检查配置环境 检查虚拟机环境,确保有正在运行的Hyperledger Fabric区块链,并且其中chaincode_basic、credit_chaincode链码可以正常调用 查看chaincode_basic、credit_chaincode链码调用 二.开发征信链码代码 基于现有征信链码,开发征信…...

ResNet 学习
一. 残差块与残差层 简单来说,残差块是构成残差层的基本单元,而残差层则是由多个残差块组成的。在ResNet中,通常会堆叠多个残差层来构建深度模型。 (一).残差块(Residual Block) 这是ResNet的基本构建单元。一个残差块…...

前端React老项目打包caniuse-lite报错解决思路
1、下载项目,先更新.npmrc文件: registryhttp://registry.npmmirror.com 2、安装依赖,本地启动,运行正常,但直接提交代码线上打包时会报错: “ 未找到相关的合并请求。” 打开日志页面,报错信息…...

【全开源】优校管理系统支持微信小程序+微信公众号+H5
概述 优校管理系统(简称优校管)是基于FastAdmin和ThinkPHP进行开发的中小学信息化管理系统,拥有PC版、UniAPP版(高级授权)。支持微信小程序、H5等多平台,主要用于信息管理、教学管理、素养评价,支持多个学校(标准授权限5个,高级授…...

Python条件分支与循环
大家好,当涉及到编写高效和灵活的程序时,条件分支和循环是 Python 中至关重要的概念。它们允许我们根据不同的条件执行不同的代码块,或者重复执行一组语句。条件分支和循环是测试开发工程师在日常工作中经常使用的工具,无论是编写…...

AI手语研究数据集;视频转视频翻译和风格化功能如黏土动画;AI检测猫咪行为;开放源码的AI驱动搜索引擎Perplexica
✨ 1: Prompt2Sign 多语言手语数据集,便捷高效用于手语研究。 Prompt2Sign 是一个全面的多语言手语数据集,旨在通过工具自动获取和处理网络上的手语视频。该数据集具有高效、轻量的特点,旨在减少先前手语数据集的不足之处。该数据集目前包含…...

四川景源畅信:新人做抖店的成本很高吗?
随着社交媒体的兴起,抖音成为了一个新兴的电商平台——抖店。不少创业者和商家看中了其庞大的用户基础,想要通过开设抖店来拓展销路。然而,对于刚入行的新手来说,成本问题总是让人犹豫不决。究竟新人做抖店的成本高不高?本文将围…...

ChatGPT原创指令大全(持续更新)
随着ChatGPT在互联网上的使用越来越多,但很多人在使用ChatGPT的过程中会觉得得到的答案并不是很精准。究其原因其实是你给它的命令不够准确、不够到位。实际现在网上已经很多关于ChatGPT的网站,可以快速生成带有快捷键的ChatGPT指令。但是对于不熟悉Chat…...