首页 > 其他分享 >CogAgent: A Visual Language Model for GUI Agents

CogAgent: A Visual Language Model for GUI Agents

时间:2025-01-19 23:54:28浏览次数:1  
标签:VLM 高分辨率 Language GUI tokens Visual CogAgent 图像

CogAgent: 利用VLM操作GUI。

主要内容

提出了一个18B的VLM模型CogAgent(CogVLM的新版本),旨在提高对于GUI的理解、导航和交互能力。利用高分辨率和低分辨率编码器适应不同分辨率的输入,在9个VQA benchmarks上取得了sota。同时,CogAgent利用截屏输入,在PC和安卓GUI导航任务上比其他基于LLM的方法(提取截屏中的HTML格式文本)表现更好。

动机和方法

整体动机和方法

基于LLM的Agents潜力有限,因为大多数的引用程序通过GUI与人类进行交互:

  • 缺乏标注的交互API。
  • 图标,图像,图表,以及空间关系等重要信息难以利用文本进行表示
  • 即使以文本为主的Web,canvas和iframe等元素的功能难以通过HTML进行解析
描述 CogVLM17B(右)+ 交叉注意力模块 + 高分辨率图像编码器(左)

1. High-Resolution Cross-Module

动机

传统的VLM一般的预训练的图像大小为224224,难以处理高分辨率PC和手机的GUI图像比如1280720和21601080等。主要原因是高分辨率图像的时间和显存开销太大,与视觉的tokens数成平方关系,当path_size=14时,224224为256个tokens。Qwen-VL通过adapter将视觉tokens压缩为原来的1/4,支持448*448的图像,Kosmos-2.5通过Perceiver Resampler module减少是视觉tokens,然而数量还是太多,导致输入本文受限(2048tokens)。

方法

224*224能够有效的捕捉大部分对象和布局且常见的VLM隐藏层很大(4096,5120)。同时一些以文本为中心任务(OCR)的VLM隐藏层较小(1536)。所以通过隐藏层的结合,提高对于高分辨率图像文本的捕捉能力,提出High-Resolution Cross-Module,来保证效率和适应性。高分辨率图像编码器EVA2-CLIP-L(0.3B)与 VLM decoder的每一层通过一个较小隐藏层的cross-attention模块连接。

\[{X_{ou{t_i}}} = MCA({\rm{layernorm}}({X'_i}),{X_{{\rm{hi}}}}) + {X'_i} \]

描述

2. Pre-training

在三个方面的数据集只训练High-Resolution Cross-Module

  • 文字识别(识别能力)
    Synthetic renderings with text(LAION-2B) + OCR(LAION-2B) + 学术文献(source code (LaTeX) release on arXiv)
  • 视觉定位(定位能力)
    LAION-115M
  • GUI图像数据集(GUI理解能力)
    CCS400K (Common Crawl Screenshot 400K) dataset

3. Multi-task Fine-tuning and Alignment

解冻所有参数全参数微调:

  • 手动标注了2000多张来自于PC和手机的截图,以QA的形式标注屏幕元素,潜在任务和操作方法,将Mind2Web + AITW利用GPT4转换成了QA的格式。
  • 利用多种公开的VQA数据集进行对齐。
描述

实验分析

描述 描述

Demo

描述

标签:VLM,高分辨率,Language,GUI,tokens,Visual,CogAgent,图像
From: https://www.cnblogs.com/weihangzhang/p/18679805

相关文章

  • 【潮流计算】牛顿拉夫逊法解潮流【含GUI Matlab源码 11034期】
    ......
  • [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(05):svg图片转为png格式(暨svg部件的
    前言本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发。iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动。本合集是基于新版本的关于分部件(widget)的使用介绍,包括源代码介绍、实例使用等。环境配置系统:window10平台:visualstudiocode语言:rust......
  • Windows图形界面(GUI)-QT-C/C++ - Qt QToolBox详解教程
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录QToolBox基础概述QToolBox简介使用场景QToolBox常见样式选项卡式界面页面内容动态管理页面QToolBox属性设置添加和删除页面页面标题页面索引QToolBox内容操作添加页面插入页面删......
  • Windows图形界面(GUI)-QT-C/C++ - Qt QGroupBox详解教程
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录QGroupBox基础概念QGroupBox简介使用场景QGroupBox常见样式框架和标题可启用/禁用扁平化样式QGroupBox属性设置标题​编辑对齐方式启用状态​编辑扁平化样式QGroupBox的内容操作......
  • Python图形用户界面(GUI)库
    Python图形用户界面(GUI)库是用于创建图形用户界面的工具集,它们允许开发者使用Python语言来构建具有图形元素的用户界面。以下是一些常用的PythonGUI库:1.Tkinter•简介:Tkinter是Python的标准GUI库,它提供了创建窗口、按钮、文本框和其他GUI组件的工具。由于它是Python安装包......
  • [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(04):实现窗口主题(颜色)变换(暨menu菜单
    前言本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发。iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动。本合集是基于新版本的关于分部件(widget)的使用介绍,包括源代码介绍、实例使用等。环境配置系统:window10平台:visualstudiocode语言:rust......
  • 【译】使用 Visual Studio Profiler 进行基准测试
    在VisualStudio17.13预览版中,我们发布了更新的BenchmarkDotNet诊断器,允许您使用性能分析器中的更多工具来分析基准测试。有了这个变化,可以非常快速地挖掘CPU使用情况和内存分配,从而使测量/修改/测量周期快速而高效。对实际项目进行基准测试因此,为了展示我们如何......
  • SpelExpressionParser 是 Spring Expression Language(SpEL)中的一个重要组件,用于解析
    SpelExpressionParser 是SpringExpressionLanguage(SpEL)中的一个重要组件,主要用于解析和评估Spring表达式。以下是关于它的详细解释:主要功能表达式解析:将一个以字符串形式表示的Spring表达式转换为可执行的表达式对象。Spring表达式可以包含变量引用、方法调用、属性......
  • 【C++】开源:ImGui图形用户界面库配置与使用
    项目介绍项目Github地址:https://github.com/ocornut/imguiDearImGui(ImGui)是一个开源的、用C++编写的图形用户界面(GUI)库。它由OCornut创建,旨在为应用程序和工具提供创建用户界面的简单高效的方式。以下是DearImGui的一些主要特性和特点:1.即时模式GUI:ImGui遵循即......
  • 【Eel库】用于制作类似 Electron 的离线 HTML/JS GUI 应用程序
    简介Eel是一个简单的Python库,用于制作类似Electron的离线HTML/JSGUI应用程序,并可以完全访问Python功能和库。Eel托管一个本地Web服务器,让您可以标注Python中的函数,以便从JavaScript调用它们,反之亦然。Eel旨在简化编写简短和简单的GUI应用程序的过......