当前位置: 首页 > article >正文

大模型GUI系列论文阅读 DAY2:《ScreenAgent:一种基于视觉语言模型的计算机控制代理》

摘要
现有的大语言模型(LLM)能够调用多种工具和 API 以完成复杂任务。计算机作为最强大和最通用的工具,可能可以被训练后的 LLM 代理直接控制。借助计算机的强大能力,我们有望构建一个更通用的智能代理,以在各种日常数字化工作中协助人类。在本文中,我们构建了一个环境,使视觉语言模型(VLM)代理能够与真实的计算机屏幕进行交互。在该环境中,代理可以通过观察屏幕截图,并通过输出鼠标和键盘操作来操控图形用户界面(GUI)。

我们还设计了一个自动化控制流程,其中包括规划、执行和反思阶段,引导代理持续与环境交互并完成多步任务。此外,我们构建了ScreenAgent 数据集,其中收集了完成各种日常计算机任务时的屏幕截图和动作序列。

最后,我们训练了一个名为 ScreenAgent 的模型,其计算机控制能力与 GPT-4V 相当,并展示了更精确的用户界面(UI)定位能力。我们的尝试可为构建通用 LLM 代理的进一步研究提供灵感。

代码已开源,地址为:GitHub - niuzaisheng/ScreenAgent: ScreenAgent: A Computer Control Agent Driven by Visual Language Large Model (IJCAI-24)

                      

1 引言

大语言模型(LLM),如 ChatGPT 和 GPT-4,在文本生成、理解和对话等自然语言处理任务中表现卓越,并极大地推动了人工智能领域的研究。特别是,这些技术的发展为研究能够执行复杂任务的智能 LLM 代理奠定了基础【Wang 等,2023b】。

LLM 代理是以大语言模型为核心计算引擎的人工智能实体。它具备感知、认知、记忆和行动等能力,使代理能够执行高度主动的自主行为【Wang 等,2023c】。在与 LLM 代理相关的研究中,如何让代理学习有效使用工具来扩展其行动空间已引起广泛关注。

随着个人电脑、智能手机、平板电脑和智能电子设备等电子设备的日益普及,我们的生活与数字世界的联系越来越紧密。日常活动往往需要频繁地与电子设备屏幕进行交互。如果一个智能代理能够免除人工操作,根据用户需求无缝控制这些设备的屏幕,这将是实现更加通用和自主智能的重要一步【Yin 等,2023】。

实际上,屏幕交互代理必须具备强大的视觉信息处理能力,并能够执行计算机控制指令,如图 1 所示。因此,为了实现这一目标,首先需要为视觉语言模型(VLM)代理创建一个真实的交互环境,然后引导模型与环境形成一个持续的交互流程,并通过训练提高代理的性能。然而,在统一框架下实现这些功能并在工程实现和理论研究方面取得令人满意的结果仍然具有极大的挑战性。

尽管近年来取得了一些进展,仍然存在需要进一步探索的方面。例如,CogAgent【Hong 等,2023】专注于 GUI 理解和规划,在应对各种跨模态挑战方面表现出色。然而,CogAgent 缺乏完整的思维链能力,无法形成类似于 ChatGLM 的综合工具调用能力【Du 等,2022;Zeng 等,2022】。随后,AppAgent【Yang 等,2023a】专注于智能手机操作,能够通过自主探索或观察人类演示来学习导航并掌握新的应用程序使用方法。但 AppAgent 缺乏规划过程,牺牲了操作自由度。它通过标记每个界面元素来引导代理进行点击,从而限制了交互方式。结果,当前的视觉语言模型代理通常无法在真实的计算机或移动设备环境中生成和执行持续的操作命令。

为了解决上述问题,我们提出了 ScreenAgent,这是一种完全自动化的代理,旨在处理持续的屏幕操作。 该代理的实现主要依赖于三个核心组件,即规划(Planning)、执行(Acting)和反思(Reflecting)。其中,反思模块受到 Kolb 著名的体验式学习循环理论【Kolb,2014】的启发,使代理能够进行反思性行为,使整个流程更加全面,并与人类的行动和思维过程保持一致。代理可以自主评估当前操作的执行状态,并根据实时状态提供反馈,从而提高后续操作的性能。这一能力使代理具备完整的思维链,能够理解下一步行动,并调用工具执行一系列持续的操作指令。

我们的主要贡献如下:

  • 我们提出了一个强化学习(RL)环境,使 VLM 代理能够通过 VNC 协议直接与真实的计算机屏幕交互。代理可以通过观察屏幕截图,并使用鼠标和键盘进行 GUI 交互。
  • 我们开发了一个涵盖规划、执行和反思阶段的自动化流程,使代理能够持续与环境进行交互,这使我们的代理与现有代理有所不同。
  • 我们提出了ScreenAgent 数据集,该数据集包括在 Linux 和 Windows 桌面环境中完成通用任务的动作序列。此外,我们提供了细粒度的评分指标,以全面评估 VLM 代理在计算机控制任务中的各种必要能力。
  • 我们在测试集中评估了 GPT-4V 及两种最先进的开源 VLM。结果表明,GPT-4V 虽然能够控制计算机,但在精确定位方面存在不足。我们训练的 ScreenAgent 代理在所有方面的性能可与 GPT-4V 相媲美,并实现了更精确的 UI 定位能力。我们的研究可为构建通用智能代理的进一步研究提供支持。

2 相关工作

2.1 多模态大语言模型
大语言模型(LLM)展现了强大的上下文理解和文本生成能力,使复杂的多轮问答系统得以实现。LLaMA【Touvron 等, 2023】是一系列基础语言模型,参数规模从 70 亿到 650 亿不等。基于 LLaMA 结构微调而来的开源聊天机器人 Vicuna-13B【Chiang 等, 2023】,在 LLaMA 基础上进行了进一步优化。

GPT-4 是 OpenAI 在 GPT-3 成功基础上的升级版本,并引入了多项重要改进。GPT-4V(ision)【Yang 等, 2023b】基于 GPT-4,增加了多模态能力。LLaVA【Liu 等, 2023b】和 LLaVA-1.5【Liu 等, 2023a】通过将预训练的 CLIP 视觉编码器【Radford 等, 2021】与 Vicuna 结合,实现了多模态能力。

Fuyu8B1 采用纯解码 Transformer 架构,而非图像编码器。CogVLM【Wang 等, 2023e】是一个强大的开源视觉语言模型,支持 490 × 490 分辨率的图像理解和多轮对话。此外,Monkey【Li 等, 2023】引入了一种高效的训练方法,增强了模型对高分辨率输入的处理能力。

2.2 计算机控制环境与数据集
在模拟环境中,智能代理可以被训练来模拟点击和输入操作。WebNav【Nogueira 和 Cho, 2016】创建了一个基于链接的导航环境,以测试代理的顺序决策能力。MiniWoB++【Liu 等, 2018】提供了大量类似于 ATARI 的简化基于 Web 浏览器的任务,作为强化学习(RL)环境。WebShop【Yao 等, 2023】提供了通过控制浏览器完成购物流程的任务。

SWDE【Hao 等, 2011】保留了网页 HTML 文件,以训练信息抽取模型。WebSRC【Chen 等, 2021】是一个问答风格的数据集,包含大量关于网页截图的问题和答案。Mind2Web【Deng 等, 2023】引入了一个用于开发通用 Web 代理的数据集。Seq2act【Li 等, 2020a】整合了 Android、AndroidHowTo、RicoSCA 和 PixelHelp 三个数据集。

Screen2Words【Wang 等, 2021】是一个针对 Android UI 屏幕的大规模屏幕摘要数据集。META-GUI【Sun 等, 2022】是一个用于训练多模态对话代理的移动 GUI 数据集。Burns 等(2022)提供了一个关于 Android 未知命令可行性的数据集。

2.3 大语言模型驱动的智能代理
随着大语言模型的发展,智能代理的能力也得到了增强。WebGPT【Nakano 等, 2021】通过对 GPT-3 进行微调,能够在基于文本的 Web 浏览环境中回答复杂问题,使模型能够探索并导航网页以查找答案。

ToolFormer【Schick 等, 2023】集成了多种工具,包括计算器、问答系统和搜索引擎等。Voyager【Wang 等, 2023a】是第一个在 Minecraft 环境中基于大语言模型的终身学习智能体。RecAgent【Wang 等, 2023d】提出,代理可以通过记忆反思来生成高层次思考。

ProAgent【Ye 等, 2023】引入了一种新颖的过程自动化范式,成功集成了基于大语言模型的智能代理。CogAgent【Hong 等, 2023】是一个拥有 180 亿参数的视觉语言模型,专为 GUI 理解和导航而设计。

AppAgent【Yang 等, 2023a】提出了一个多模态智能代理框架,专注于学习智能手机应用的操作。

3 框架

在本节中,我们介绍了我们的强化学习(RL)环境以及代理内部的自主控制流程。借助该环境,视觉语言模型(VLM)代理可以与真实的计算机屏幕交互,观察屏幕图像、选择操作,并自主完成特定任务。

3.1 计算机控制环境

我们构建了一个计算机控制环境,以评估 VLM 代理的能力。该环境通过远程桌面(VNC)协议连接到桌面操作系统,并允许发送鼠标和键盘事件到被控制的桌面。该环境的正式定义如下:

  • A-动作空间(Action Space)
    我们将操作定义为函数调用的形式。如果代理以所需的 JSON 格式输出操作,该操作将被环境解析并执行。所有的操作类型及其相应的操作属性在表 1 中定义。

  • S-状态空间(State Space)
    屏幕截图被用作环境的状态空间。环境会收集操作前后的屏幕截图 sss 和 s′s's′,分别表示执行操作前后的状态。

  • R-奖励函数(Reward Function)
    由于任务具有高度的开放性,该环境的奖励函数被设计为灵活开放,可集成不同的现有或未来奖励模型。

通过远程控制,代理可以在屏幕上执行各种任务,从而创建了一个具有大规模状态和动作空间的高难度开放环境。

3.2 控制流程

为了引导代理持续与环境交互并完成多步复杂任务,我们设计了一个控制流程,包括规划(Planning)、执行(Acting)和反思(Reflecting) 三个阶段。完整的流程如图 2 所示。

该流程要求代理分解复杂任务、执行子任务,并评估执行结果。代理可以在必要时重新尝试部分子任务,或调整先前制定的计划以适应当前的情况。详细描述如下:

  • 规划阶段(Planning Phase)
    在此阶段,代理基于当前的屏幕截图,利用自身的常识知识计算机知识来分解复杂任务。

  • 执行阶段(Acting Phase)
    在执行阶段,代理基于当前状态...(请提供剩余内容,以便完整翻译)。

  • 反思阶段(Reflecting Phase)
    在反思阶段,代理根据操作后的屏幕图像评估当前情况。代理需要决定是否重试当前子任务、继续执行下一个子任务,或者对计划列表进行某些调整。该阶段在控制流程中至关重要,提供了一定的灵活性,以应对各种不可预测的情况。

所有在控制流程中的提示和模板均在附录 A中提供。

4 ScreenAgent 数据集与 CC-Score

现有的计算机控制数据集通常适用范围较窄。例如,基于 UI 元素元数据可以通过 HTML 或开发者模式轻松获取的基础假设,WebNav【Nogueira 和 Cho, 2016】,Mind2Web【Deng 等】等数据集提供了有限的应用场景......(请提供完整内容以完成翻译)。

然而,鼠标和键盘也是控制计算机的常见且通用的接口。为了填补这一控制方式的空白,我们构建了一个交互式标注流程(如图 3 所示),用于创建 ScreenAgent 数据集。该数据集从 Linux 和 Windows 操作系统中收集,旨在完成特定任务。

该数据集致力于涵盖广泛的日常计算机使用场景,包括:

  • 日常办公
  • 预订服务
  • 信息检索
  • 纸牌游戏
  • 娱乐
  • 编程
  • 系统操作等

如图 4 所示,ScreenAgent 数据集 涵盖了6 大主题,共 39 个子任务类别。该数据集包含 273 个完整的任务会话,其中 203 个会话(共 3005 张截图) 用于训练,70 个会话(共 898 张截图) 用于测试。图 5 显示了数据集的重要统计信息,更多统计数据和示例可在附录 C中找到。


为了评估代理在计算机控制任务中的能力,我们设计了一种细粒度的评估指标,即视觉语言计算机控制评分(CC-Score)。该指标用于......(请提供完整内容以完成翻译)。

评估指标(CC-Score)用于衡量控制操作序列的相似性。该指标同时考虑了操作顺序操作属性,我们为每种操作类型制定了具体的相似性度量标准。

对于鼠标操作,评估指标包括四个一致性方面:

  • 操作类型
  • 鼠标操作类型(点击、拖拽等)
  • 鼠标按钮(左键、右键等)
  • 点击坐标是否在标注的可行边界框内

对于文本和键盘操作,评估包括以下两个方面:

  • 操作类型一致性
  • 输入文本、单个按键或键盘快捷键组合的 BLEU 评分

针对整个操作序列,我们采用对齐算法,该算法在保持序列顺序的同时,识别预测操作和标注操作的最大匹配对。这种方法最大化整体评分,用于衡量序列相似性。最终,CC-Score 综合以下内容:

  • 预测序列与标注序列的归一化得分
  • 每个操作属性分类的 F1 值
  • 文本类型的单词级相似度(Unigram Similarity)

CC-Score 的实现细节 可在附录 D 中找到。


5 实验

在实验阶段,我们评估了 OpenAI 的 GPT-4V 在 ScreenAgent 测试集上的表现,同时测试了三种最先进的开源视觉语言模型(VLMs)。此外,我们对其中一款模型进行了微调,以增强其在屏幕控制任务中的能力。随后,我们对实验结果进行了深入分析,并识别了几个典型案例,以说明该任务的固有挑战。

5.1 ScreenAgent 测试集的评估结果

除了 GPT-4V 之外,我们还选择了几款最新发布的最先进(SOTA)的视觉语言模型进行测试,包括:

  • LLaVA-1.5【Liu 等, 2023a】——一个拥有 130 亿参数的多模态模型,然而,其输入图像大小仅支持 336×336 像素。
  • CogAgent【Hong 等, 2023】——一个 180 亿参数的视觉语言模型,专为 GUI 理解和导航而设计。CogAgent 采用双图像编码器,分别处理低分辨率和高分辨率输入,支持高达 1120×1120 像素的分辨率,使其能够识别微小元素和文本。

我们从两个方面对模型的能力进行了评估:

  1. 遵循指令并输出正确的函数调用格式(见表 2)
  2. 完成用户指定的特定任务(见表 3)

遵循指令并正确执行函数调用是 LLM 代理学习使用外部工具的最基本技能。表 2 显示了模型在该项任务上的成功率……(请提供更多内容,以继续翻译)。

5.1 ScreenAgent 测试集的评估结果

在每个属性键的函数调用成功率方面,该评估主要关注模型是否能够准确执行各种函数,涵盖手动操作注释所期望的属性项。需要注意的是,此评估不考虑属性值是否与黄金标准一致,而仅检查模型的输出是否包含必要的属性键。

从表 2 中可以看出,GPT-4V 和 LLaVA-1.5 取得了较高的得分,而 CogAgent 及其上游模型 CogAgent-VQA 表现不佳。CogAgent-VQA 和 CogAgent-Chat 几乎完全忽略了我们提示中提供的 JSON 格式操作定义,导致函数调用成功率极低,使其无法与我们的环境进行交互。

为了确保公平性,我们使用 OpenAI GPT-3.5 处理 CogAgent-Chat 的响应,将其转换为 JSON 格式的函数调用,结果在表中标为“CogAgent-Chat(由 GPT-3.5 辅助)”。即便如此,其得分仍明显低于 LLaVA-1.5 和 GPT-4V,尽管 CogAgent 曾在 Mind2Web 网站浏览模拟数据集上进行过训练。

表 3 显示了成功解析的函数调用中,各操作属性值的细粒度评分。结果表明,GPT-4V 仍然是表现最好的模型,其操作类型预测的 F1 分数达到了 0.98,这表明它可以准确地选择适当的鼠标或键盘操作,并与黄金标准动作保持一致。

精确定位能力 在计算机控制任务中至关重要。表 3 中“鼠标位置”列显示,目前的 VLM 代理尚未达到计算机操作所需的精确定位能力。GPT-4V 在回答中拒绝提供精确坐标,而两种开源模型在使用我们的流程提示模板时也无法正确输出坐标。

另一个重大挑战是反思阶段。在此阶段,代理需要确定当前状态下子任务是否已完成,并决定是否继续执行或调整操作。然而,所有模型在这一方面的准确性都不足,GPT-4V 的 F1 得分仅为 0.60,这表明在任务执行过程中仍需要人工干预。


5.2 微调训练

为了进一步探索该任务的研究潜力,我们对 CogAgent-Chat 模型在 ScreenAgent 训练集上进行了微调,以增强其函数调用能力。类似于最近的 VLM 研究【Chen 等, 2023】,我们结合多个数据集,构建了四个不同的训练阶段,如表 4 所示。

  • 我们将两个目标检测数据集 COCO【Lin 等, 2015】和 Widget Captions【Li 等, 2020b】重新构造为鼠标点击任务,以增强模型的定位能力。
  • 针对 Mind2Web 数据集,我们实施了一系列复杂的数据增强措施,以与我们的任务目标保持一致。

数据构造的详细信息可在附录 B中找到。

经过视觉微调后,ScreenAgent 在我们的数据集上达到了与 GPT-4V 相同的指令执行和函数调用能力(见表 2)。在表 3 中,ScreenAgent 在多个指标上也与 GPT-4V 相当,尤其在鼠标点击精度方面远超现有模型。这表明视觉微调显著提高了模型的精确定位能力

然而,观察到 ScreenAgent 在任务规划方面仍存在显著差距,这突显了 GPT-4V 在常识知识和任务规划能力方面的优势。


5.3 案例研究

为了评估 ScreenAgent 在计算机控制任务中的表现,我们提供了两个案例。

  • 图 7 展示了 ScreenAgent 执行一系列操作的工作流程。

  • 图 8 比较了不同代理在执行流程三阶段中的细节:

    1. 图 8(a) 显示了各代理的规划过程,结果表明,ScreenAgent 生成的计划最为简洁和高效。
    2. 图 8(b) 展示了四个不同的点击操作任务,结果显示:
      • LLaVA 在所有屏幕上都点击了左下角,
      • CogAgent 可能无法生成点击位置,
      • 在第四个任务中,只有 ScreenAgent 能够正确点击目标位置。
    3. 图 8(c) 显示了 ScreenAgent 能够在反思阶段识别操作是否需要重试,并在失败后成功执行操作。

6 结论

在本文中,我们构建了一个新的屏幕控制任务环境,使 VLM 代理能够通过鼠标和键盘的直接控制指令操控真实计算机。为了使代理能够持续与环境交互并完成复杂的多步任务,我们设计了包含规划、执行和反思阶段的控制流程。

由于 VLM 输入的技术限制,我们的模型目前只能处理单帧图像,而无法处理视频或多帧图像。此外,VLM 的语言能力受其底层语言模型的限制。我们还发现,即使是 GPT-4V,在屏幕上的非英语文本支持方面仍存在一定局限性。


伦理声明

合理使用具有自主决策能力的自动化代理可以带来显著的社会效益,包括:

  • 提高计算机的可访问性,
  • 减少数字工作中人类重复劳动,
  • 促进计算机教育等。

然而,这些代理的潜在负面影响也不可忽视,例如:

  • 可能对就业产生影响,
  • 存在欺诈和滥用的风险,
  • 隐私问题,
  • 误操作的风险。

该方法可能被滥用,如绕过 CAPTCHA 测试以自动注册账户、传播虚假信息,或用于非法活动。我们致力于负责任地使用人工智能技术,并关注这些潜在的社会问题,确保技术应用的安全性和伦理性。


http://www.kler.cn/a/511790.html

相关文章:

  • 哈希(hashing)、哈希函数(Hash Function)、哈希表(Hash Table)、哈希冲突(Hash Collision)
  • 重温STM32之环境安装
  • 通过图形界面展现基于本地知识库构建RAG应用
  • AudioGPT全新的 音频内容理解与生成系统
  • 嵌入式硬件篇---基本组合逻辑电路
  • 3. 后端验证前端Token
  • CycleGAN - CycleGAN网络:无监督图像到图像转换的生成对抗网络
  • C# ComboBox 控件属性
  • 接口自动化测试
  • YUM部署MySQL数据库
  • 抽象设计如何提升用户体验?
  • MySQL 默认最大连接数是多少?
  • k8s pod 中通过service account 访问API Server
  • Android 13/14 关键宏导致系统无声
  • Spring Boot 启动流程解析及重点源码
  • AI监管新思路:从规模导向迈向全面框架
  • 第7章:Python TDD测试Franc对象乘法功能
  • SQL刷题快速入门(三)
  • AI时代的前端主流业务应用发展趋势
  • 使用 HTML 开发 Portal 页全解析
  • 1.简单的爬虫
  • LeetCode 第2815题:数组中的最大数对和
  • 有效的数独
  • 基于深度学习的微出血自动检测及解剖尺度定位|文献速递-视觉大模型医疗图像应用
  • 《鸿蒙Next应用商店:人工智能开启智能推荐与运营新时代》
  • 学习记录之原型,原型链