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.mzph.cn/diannao/5907.shtml

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

相关文章

【模板】前缀和

原题链接:登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 前缀和模板题。 前缀和中数组下标为1~n。 前缀和:pre[i]pre[i-1]a[i]; 某段区间 [l,r]的和:pre[r]-pre[l-1] 3.…

android天气实战

页面绘制 问题1、下拉框需要背景为透明 我懒得写全部省份就写了5个所以不需要往下 图标准备 iconfont-阿里巴巴矢量图标库几坤年没来这了好怀念啊,图标库选择下雨的图标等 准备网络请求 0、API接口准备 api免费七日天气接口API 未来一周天气预报api (tianqiap…

前端业务开发中使用原生js和elementui两种方式实现头像裁切上传的功能

日常业务开发中,无论是后台管理系统还是前台界面,都会遇到图片裁剪的业务需求,选择合适的尺寸或者图片的关键部分,满足我们的功能需求!! 效果预览 效果一: 效果二: 实现过程 1.原生js实现方…

VS(Visual Studio)中查找项目里的中文字符

目录 正则表达式查找中文字符 正则表达式查找中文字符 在Visual Studio (VS) 中查找所有的中文字符,你可以使用其强大的查找和替换功能。不过,由于中文字符的范围非常广泛(包括简体中文、繁体中文、日本汉字、韩国汉字等)&#xf…

GPT3 终极指南(一)

原文:zh.annas-archive.org/md5/6de8906c86a2711a5a84c839bec7e073 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 GPT-3,或者说是 Generative Pre-trained Transformer 3,是由 OpenAI 开发的基于 Transformer 的大型语言模型…

平安城市 校园 景区 停车场网络语音对讲立柱SV-11TS

平安城市 校园 景区 停车场网络语音对讲立柱SV-11TS 长方形立柱式设计,外观简约,线条优美,工艺考究,坚固耐用可一键实现在紧急情况下求助报警、事件咨询,与SIP网络对讲主机进行全双工对讲。内置警示灯,呼叫…

iOS ------ Method Swizzling (动态方法交换)

一,Method Swizzling 简介 Method(方法)对应的是objc_method结构体;而objc_method结构体中包含了SEL method_name(方法名),IMP method_imp(方法实现) // objc_method 结构体 typed…

Linux下启动jenkins报错问题解决

jenkins端口报错 java.io.IOException: Failed to start Jettyat winstone.Launcher.<init>(Launcher.java:209)at winstone.Launcher.main(Launcher.java:496)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.int…

【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套A模块

2023年全国职业院校技能大赛 GZ073网络系统管理赛项 赛题第3套 信息安全管理与评估 网络系统管理 网络搭建与应用 云计算 软件测试 移动应用开发等多个赛项技术支持 任务书&#xff0c;赛题&#xff0c;解析等资料&#xff0c;知识点培训服务 添加博主wx&#xff1a;liuliu54…

全国产化BMC子卡详细介绍

一款基于全国产的BMC子卡&#xff0c;可实现ChMC/IPMC功能。子卡遵循IPMI 1.5/2.0协议规范&#xff0c;也支持客制OEM命令。子卡可获取载板板卡环境信息&#xff0c;板卡属性信息和板卡状态信息等&#xff0c;其中包括温度、电压、电流等信息&#xff1b;FRU、系统版本、CPU型号…

Django整合多种认证方式

承接上一篇&#xff1a;Django知识点总结-CSDN博客 目录 25.使用 Django REST framework实现用户认证和授权 26.通过djangorestframework-simplejwt使用JWT(JSON Web Token) 27.使用django-auth-ldap进行用户认证 28. 使用django-cas-ng实现集中认证及实现单点登录 29. …

实时监控视频拼接系统:功能和拼接参数介绍

目录 一、实时视频拼接系统介绍 &#xff08;一&#xff09;实时视频拼接的定义 &#xff08;二&#xff09;主要功能 1、视频拼接 2、拼接形式选择 3、前端选择 4、拼接展示 5、数据处理效率提升 6、任务管理 &#xff08;三&#xff09;实时拼接效果 二、拼接需要…

【JavaEE】Thread的方法和属性

文章目录 1、Thread的常见构造方法2、Thread的几个常见属性2.1 ID2.2 名称2.3 状态2.4 优先级2.5 是否后台线程2.6 是否存活2.7 是否被中断 3.补充说明3.1 Thread.sleep()的作用3.2 Thread.sleep()的异常处理方式 1、Thread的常见构造方法 方法说明Thread()创建线程对象Thread…

10G MAC层设计系列-(2)MAC RX模块

一、概述 MAC RX模块的需要进行解码、对齐、CRC校验。 因为在空闲的时候10G PCS/PMA会一直向外吐空闲符&#xff08;x07&#xff09;所以需要根据开始符、结束符将有效数据从码流中截取&#xff0c;也就是解码。 因为开始字符的所在位置有两种形式&#xff0c;而结束字符的位…

白盒测试与黑盒测试区别和联系

一、概念辨析 白盒测试 黑盒测试 二、其他测试方法 三、相关练习

算法训练营第十三天 | LeetCode 239 滑动窗口最大值、LeetCode 347 前K个高频元素

LeetCode 239 滑动窗口最大值 本体初始思路是这样的&#xff0c;首先看下给定数组长度和维持一个滑动窗口所需要花费的时间复杂度之间的关系。初步判断是还行的&#xff0c;当然后面被样例打脸了。需要更新成优先队列的解法。原本的解法能通过37/51和46/51的测试用例。但这还不…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5--I.MX6U启动方式

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

VS Code工具将json数据格式化

诉求&#xff1a;json数据格式化应该在工作中用到的地方特别多&#xff0c;为了更方便、更仔细的对json数据查看&#xff0c;将json数据格式化是非常有必要的。 VS Code中如何将json数据快速格式化 1、在VS Code中安装Beautify JSON插件 2、安装完后在需要格式化的文件中按住…

Web APIs 学习归纳6--- BOM浏览器对象

前面几节主要针对DOM进行了学习&#xff0c;现在开始新的内容的学习---DOM浏览器对象。 DOM是更注重页面&#xff08;document&#xff09;内容的设计&#xff0c;但是BOM不仅限于页面&#xff08;document&#xff09;的设计&#xff0c;而是更加全面包括页面的刷新&#xff0…

【linux学习指南】linux指令与实践文件编写

文章目录 &#x1f4dd;前言&#x1f320; linux目录结构&#x1f309;linux命令介绍 &#x1f320;pwd命令&#x1f309;mkdir指令&#xff08;重要&#xff09; &#x1f320;cd 指令&#x1f309;touch指令 &#x1f320;rmdir指令 && rm 指令&#xff08;重要&…