《SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents》论文精读笔记

前言

论文链接:[2401.10935] SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents

SeeClick是一种只依赖截图就能执行自动化任务的方法。

在这篇论文中,还提出了ScreenSpot数据集,涵盖移动端、桌面和Web环境的真实benchmark。

关于GUI Grounding的数据集介绍,请看:

GUI Grounding: ScreenSpot-CSDN博客

GUI grounding: ScreenSpot-Pro-CSDN博客


一、引言

随着大模型的进步,推动了GUI Agent的发展。大部分Agent都是通过解析结构化文本(例如网页的HTML)与环境交互,并调用LLM进行规划、推理和执行。

结构化文本的GUI Agent存在三个局限性
1. 结构化文本并非始终可用,尤其是在iOS或桌面应用程序中,获取此类信息较为困难

2. 结构化文本的冗长特性使其对于LLM来说构成了低效的上下文,同时也遗漏了诸如布局、图像和图标等关键信息;

3. 不同类型的结构化文本(例如HTML、DOM 和 Android VH)需要针对特定任务构建观察和操作空间,这增加了复杂性

因此,作者提出了基于视觉-语言模型的视觉GUI Agent——SeeClick。SeeClick通过观察界面截图,直接执行诸如点击和输入等低级操作。

构建这类视觉智能体面临一个关键挑战:GUI对齐(GUI Grounding),即基于指令准确定位屏幕元素的能力。

然而,这种能力在当前的LVLM中是缺失的。为解决这一问题,SeeClick通过GUI对齐预训练策略增强LVLM。我们设计了一种方法,自动化生成网页对齐数据,并调整公共移动UI数据集以获取移动设备的对齐数据。SeeClick利用上述数据集对LVLM进行持续预训练,使其能够准确定位各种GUI环境中的文本、控件以及图标等元素。

作者构建了ScreenSpot,这是第一个涵盖多种GUI平台的真实场景GUI对齐评估基准。

此外,在MiniWob,AITW,Mind2Web这三个基准上的实验结果,发现:GUI对齐能力的提升与智能体在后续任务中的性能提升直接相关。

主要贡献如下:

  • 开发了统一的视觉GUI智能体SeeClick,该智能体仅依赖界面截图,在多种GUI平台上执行点击和输入等操作。
  • 前瞻性地探索了视觉GUI智能体中的GUI对齐问题,并通过提出的GUI对齐预训练策略增强了SeeClick。
  • 创建了真实的GUI对齐评估基准ScreenSpot,其中包含来自多种GUI平台的1200多条指令。
  • 在ScreenSpot和三个智能体任务上的实验结果表明,增强智能体的GUI对齐能力是提升后续任务性能的关键。

二、相关工作

早期研究主要探索在简化的网页环境和移动用户界面上的任务自动化。随着大型语言模型(LLM)的发展,基于LLM的智能体已成为主流范式。一些研究重点关注通过上下文学习和自我优化(self-refine)来提示ChatGPT和GPT-4完成网页任务。另一些研究则探索将LLM训练为专用智能体。例如,Deng等(2023)提出了一种两阶段方法,用于在复杂HTML中识别目标元素;Gur等(2023)则提出通过编程与网站交互

由于LLM只能处理文本,这一局限性促使近期研究尝试基于视觉的GUI导航。这些方法主要利用GPT-4V,并且仍然需要GUI元数据作为输入。在本研究中,我们通过定制开源的LVLM,构建了一个通用的视觉GUI智能体——SeeClick,该智能体能够在各种GUI平台上运行,而无需任何GUI元数据。

近期研究在构建能够同时处理图像和文本的LVLM方面投入了大量精力。通过连接层将视觉编码器与LLM集成,这些研究继承了LLM的语言和推理能力,从而执行视觉-语言任务。一系列研究集中于LVLMs的对齐能力,例如在生成响应时为目标对象提供边界框。然而,这些研究主要针对自然图像,而未探索GUI上下文。

本文聚焦于GUI环境中的对齐问题,并探索LVLM作为视觉智能体的潜力。


三、方法

我们的初步研究表明,开发视觉GUI智能体面临的一个主要挑战是GUI对齐(GUI grounding),即根据指令定位屏幕元素的能力。尽管近期的LVLM(大型视觉-语言模型)声称在自然图像上的对齐能力有所提升,但GUI截图与自然图像有显著不同,例如密集的文本以及众多图标和控件。这些特性削弱了现有LVLM在GUI环境中的对齐性能,限制了其作为视觉GUI智能体的潜力。

本文旨在赋予LVLM以GUI对齐能力,从而为构建仅依赖截图即可执行指令的视觉GUI智能体铺路。

SeeClick是一个面向GUI的基础模型,并针对智能体任务进行了定制。

接下来,将介绍SeeClick的诞生过程,包括GUI对齐任务的形式化、持续预训练数据的构建以及训练细节。

3.1 针对LVLM的GUI对齐

由于GUI对齐是SeeClick的核心能力,我们首先阐明如何训练LVLM以生成语言来完成对齐任务。给定一个界面截图 s 和一组界面元素 {(xi,yi)∣i},其中 xi 表示第 i 个元素的文本描述,yi 表示该元素的位置(用边界框或点表示)。

如图2(a)所示,LVLM根据界面截图 s 和其文本描述 x 预测元素的位置 y,即计算 p(y∣s,x)。

一个潜在的挑战是,LVLM如何在语言生成的框架下预测数值坐标

此前的研究将图像划分为1000个区间,并创建一个新的包含1000个词汇的词表 {<p0>,<p1>,...,<p999>}来表示 x 和 y 坐标。

在本研究中,采用LVLM中更直观的方法,将数值视为自然语言处理,不进行额外的标记化或前/后处理。

例如,在图2(a)中,对于一张智能手机截图和指令“查看Jony J的新专辑”,我们设计了一个查询提示:“在界面中,如果我想要<指令>,我应该点击哪里?”

随后,我们通过计算模型输出与真实值“click (0.49, 0.40)”之间的交叉熵损失来优化LVLM。


3.2 数据构建

使用以下三组数据对SeeClick进行训练:从互联网抓取的网页UI数据、从公共数据集中整理的移动UI数据,以及通用的视觉-语言指令跟随数据

网页数据

网页UI因其布局和设计风格的多样性,是训练LVLM在不同GUI环境中进行通用识别和对齐能力的理想选择。

我们从最新的Common Crawl存储库中收集了约30万网页作为网页UI训练数据。对于每个网页 s,我们从HTML代码中收集以下两类元素(如图3所示):

(1)显示可见文本内容的元素;

(2)具有特殊“title”属性的元素,这些元素在悬停时显示描述性文本。该方法确保我们能够收集一系列可交互的元素 y 及其对应的指令 x,涵盖大量文本和图标元素。

除了对齐任务 p(y∣s,x),我们还包含网页OCR任务 p(x∣s,y),即根据坐标预测文本描述。

什么是OCR任务?


OCR任务是光学字符识别(Optical Character Recognition)的简称,主要指从图像、截图或扫描文档中提取并识别其中的文本内容,将图像中的文字转化为计算机可处理的文本格式。

在这种任务中,系统会输入截图 s 和某个目标坐标 y,要求模型预测 x,即从该坐标对应的界面元素中提取的文本内容。例如,对于网页截图中某个按钮的坐标,模型需要输出按钮上的文本(如“提交”或“登录”)。

移动数据

对于移动UI,我们包含三类数据:控件描述(widget captioning)移动UI对齐(mobile UI grounding)以及移动UI总结(mobile UI summarization)

  • 控件描述数据 提供移动UI元素的语言描述,例如,对音乐播放器界面上的播放按钮“play music”的描述。我们使用了(Li等, 2020b)提供的数据集训练集,其中包括近2万张截图、4万个控件和10万条描述。

  • 我们通过反转控件描述的过程生成移动UI对齐数据,将语言描述视为指令,将对应的控件视为目标元素。为了增加多样性,我们还从RICO数据集中自动收集元素和指令。

  • 为了增强整体界面理解能力,我们还加入了移动UI总结数据。

移动数据包含多样化的元素和指令,有助于SeeClick的对齐能力推广到不同的GUI环境。

什么是widget?

Widget(部件、小部件)指的是用户界面中的一种交互组件,比如按钮、文本框、下拉菜单等。

通用数据

为了保持LVLM在自然图像上的通用能力,我们引入了LLaVA中的通用视觉-语言指令跟随数据,涵盖对话、详细描述和复杂推理。

最后,我们将上述数据混合,并为每个新增的GUI任务设计了30个任务特定的提示,生成了一个包含100万条数据的训练集来训练SeeClick。


3.3 训练细节

我们基于近期先进的LVLM模型 Qwen-VL构建SeeClick。Qwen-VL具备一定的对齐(grounding)能力,并支持更高的分辨率(448×448)。我们将Qwen-VL在我们构建的数据集(详见第3.2节)上进行持续预训练,训练约10k步(约1个epoch),从而获得我们的GUI基础模型SeeClick。

在训练过程中,我们采用了LoRA技术,对视觉编码器和语言模型(LLM)进行微调。

SeeClick的预训练任务如表6所示。

对于对齐任务,设计了两种形式:

  1. 预测中心点坐标(text_2_point)
  2. 预测边界框(text_2_bbox)

此外,为了生成与元素相关的文本(类似OCR任务),也包含了两种类别:

  1. 基于中心点预测文本(point_2_text,即小部件描述任务)
  2. 基于边界框预测文本(bbox_2_text)

初步实验表明,中心点预测(text_2_point)比边界框预测(text_2_bbox)略优,可能是由于UI元素大小的多样性。因此,我们在训练数据中增加了基于点定位的数据比例。最终,约100万条样本被用于SeeClick的持续预训练。

对于涉及坐标的任务,位置被表示为中心点的坐标(x,y)或边界框的(left, top, right, down),其中每个值为[0,1]范围内的小数,表示对应位置相对于图像宽度或高度的比例。

图7展示了一些预训练数据的例子。

将上述数据用于Qwen-VL-Chat的持续预训练,以开发SeeClick。

为了增强LVLM对GUI图像的理解,我们解锁了其视觉编码器的梯度并应用LoRA进行微调。我们采用AdamW优化器,并使用带余弦退火的学习率调度器,初始学习率为3e-5,全局批量大小为64。所有训练在8块NVIDIA A100 GPU上进行,耗时约24小时。


四、ScreenSpot: 一个对齐能力评估基准

我们认识到GUI对齐能力(GUI grounding proficiency)对于构建视觉GUI智能体至关重要。然而,早期的视觉-语言模型能力有限,导致这一领域的关注较少,相关研究主要局限于一个基于Android的2017年数据集。为了弥补这一研究空白,我们提出了ScreenSpot,一个最新、真实的对齐能力评估基准,涵盖多种GUI平台,旨在评估视觉-语言模型基于指令定位屏幕元素的能力(图2(b)展示了一些示例)。

ScreenSpot具有以下两个显著特征:

1. 多样的GUI平台:ScreenSpot包括来自移动端(iOS、Android)、桌面端(macOS、Windows)和网页端的600多个界面截图,以及1200多条指令和对应的可操作元素。  

2. 图标/小部件(Icons/Widgets):ScreenSpot包含大量界面中的图标和小部件,这些比文本更加难以定位(统计数据见图4)。  

为了评估模型在真实场景中的有效性,ScreenSpot经过精心设计,确保样本是全新的,并未包含在现有的训练资源中。我们招募了经验丰富的标注人员来收集GUI界面,并为指令和可操作元素制作边界框标注。

对于移动端和桌面端,标注人员挑选了常用应用程序和常见操作;

对于网页端,我们从WebArena环境中选择了多种类型的网站(开发类、购物类、论坛类和工具类)。


人工标注

我们邀请了四位有经验的标注者(均为计算机科学领域的博士或硕士研究生),他们熟练使用手机和电脑,且熟悉GUI操作。

首先,我们为标注者分配不同的GUI类型,如iOSWindows网页,然后要求他们在日常使用过程中截取屏幕截图(例如使用各种应用程序),并使用标注工具对频繁交互的点击区域进行边界框标注

最后,这些标注者需要为标注的屏幕元素编写对应的英文文本指令。所有标注的界面和操作元素均为英文,并经过后处理以移除个人信息。

图10提供了ScreenSpot的一些示例,其中包含移动端、桌面端和网页平台中的常见GUI场景。


五、实验

首先评估了代表性LVLM模型以及我们提出的SeeClick的GUI对齐能力。随后,我们将SeeClick应用于移动和网页代理任务,分析其高级对齐能力与下游任务性能之间的关联,同时探讨了纯视觉驱动的GUI代理的潜力。

5.1 ScreenSpot上的GUI对齐

GUI对齐是视觉GUI智能体的基础,但在当前LVLM模型的评估中尚未得到足够的关注。因此,我们在GUI特定的基准ScreenSpot上对LVLM模型进行了评估。

比较的LVLM模型及评估方法

主要评估了两类LVLM模型:

  1. 通用型LVLM模型:具备对话、识别和对齐等任务能力的模型,包括MiniGPT-v2、Qwen-VL和GPT-4V。
  2. 专为GUI任务设计的LVLM模型:包括Fuyu和CogAgent。

考虑到GUI智能体需要点击正确的位置,我们使用点击准确率作为评估指标。点击准确率定义为模型预测位置落在目标元素边界框内的测试样本比例。有关ScreenSpot评估的更多细节见附录B。


评估细节

为了对比基线模型,我们使用其官方推荐的方法测试其对齐能力

例如,在CogAgent中,我们从其官方提供的提示集中随机选择提示,例如“我需要完成<指令>,需要执行哪些步骤?(带有对齐信息)”。然后,我们将输出坐标(或边界框的中心点)视为预测点。

对于GPT-4V,我们遵循Yang等(2023b)的方法,使其能够根据指令定位屏幕元素。

SeeClick在点预测任务中的表现略优于边界框预测,因此我们选择点预测作为最终的评估方式。

图8展示了SeeClick在ScreenSpot上的一些应用示例。SeeClick能够理解人类指令并准确定位屏幕元素。

为了深入分析定位性能,我们量化了预测点与真实目标(目标元素中心)的距离,如图9所示。(预测点到真实值的距离分布)

值得注意的是,即使预测错误,大多数情况也发生在目标边界框附近,这表明模型能够识别目标,但在精细化定位方面需要改进

实验结果

如表1所示,尽管通用型LVLM模型在自然图像对齐上表现卓越,但由于GUI与自然图像之间存在显著差异,它们在ScreenSpot上的GUI对齐表现较差,即使是GPT-4V也难以准确定位屏幕元素。相比之下,专为GUI任务设计的LVLM模型表现有显著提升。

在所有GUI平台和两种元素类型上,SeeClick都取得了最佳的平均表现,即使它的参数量比CogAgent更少。这表明,我们的GUI对齐预训练具有高效性。

通过网页和移动端收集的丰富UI元素和多样化指令,SeeClick能够快速学习理解人类指令以定位元素,即使是在完全陌生的场景(如iOS和桌面端)中。

然而,在定位桌面和网页上的文本时,SeeClick的表现略逊于CogAgent,这可能是由于分辨率较低以及训练数据量较少的原因

值得注意的是,所有模型在定位图标和小部件时的表现都较差,这突显了在GUI中识别和对齐非文本元素的难度,也是ScreenSpot提出的独特挑战。


5.2 视觉GUI代理任务

本节探讨了SeeClick在移动端和计算机代理任务中的应用,包括MiniWob、AITW和Mind2Web。我们在相应的训练集上训练SeeClick,并在测试集上进行测试。在这些任务中,SeeClick通过观察界面截图、结合指令及其对先前操作的记忆,决定下一步的操作。详细的任务设置、动作格式和交互示例见附录C。


5.2.1 MiniWob

MiniWob包含约100种网页自动化任务,要求智能体与简化的网页环境交互以完成人类指令。现有的开源训练数据通常缺乏相应的界面截图。因此,我们参照Zheng等(2023)的方法,使用LLM策略为每个任务生成50个成功的交互回合,构建了一个包含2.8K回合的数据集以训练SeeClick。

MiniWob任务是什么?

任务的核心目标是让智能体(Agent)根据人类指令与基于网页的简化环境交互。包括在网页上完成特定动作,比如填写表单、点击某个按钮、选择下拉选项等。

交互回合是指什么?

每个任务是一个交互过程(一个 Episode),即 Agent 从起始状态出发,通过一系列交互步骤完成任务(例如:读取网页,确定目标按钮,点击目标)。

一个成功的交互回合,意味着这个 Agent 能够正确完成任务目标。例如,如果指令是“点击红色按钮”,Agent 能够找到红色按钮并成功点击。

比较方法与评估

我们将SeeClick与多种离线训练方法进行了比较。

其中,当前最先进的方法WebGUM使用截图作为辅助输入,但仍选择HTML元素作为操作目标。

Pix2Act是唯一的基于视觉的先前方法,利用大量示例数据训练以执行操作。

为了验证GUI对齐预训练的有效性,我们还报告了LVLM基线模型Qwen-VL在相同的2.8K数据集上的表现。由于不同方法在评估任务集上存在差异,为公平起见,我们根据重叠的MiniWob任务分为两组(text-base,vision-base)进行性能报告。我们对每个任务的50个随机种子计算成功率,并对所有任务的平均值作为最终分数。任务级别的分数见附录C.2。

实验结果

如表2所示,纯视觉驱动的SeeClick在使用显著更少的训练数据的情况下,超越了强大的基线方法。特别是,在相同的2.8K训练数据下,SeeClick的表现优于同时使用HTML和截图作为输入的离线最优方法WebGUM。此外,得益于LVLM强大的推理与规划能力以及我们的GUI对齐预训练,SeeClick的表现超越了当前最佳的视觉方法Pix2Act,所用训练数据不到其0.3%。

此外,SeeClick的性能显著优于LVLM基线模型Qwen-VL,提升近20个百分点,这表明GUI对齐对于提升LVLM性能的重要性。详尽的任务级别比较见图5。

值得注意的是,SeeClick在具有动态界面布局和元素位置的任务中表现尤为出色,这验证了我们的假设:通用LVLM在精确点击方面存在困难,而SeeClick显著改进了这一点。

5.2.2 AITW

我们在智能手机环境下使用Android自动化数据集 Android In The Wild(AITW)评估SeeClick。该数据集包含30,000条指令以及对应的715,000条操作轨迹。

以往的方法通常采用基于回合(episode-wise)的训练/验证/测试划分方式,但这种方式存在明显的过拟合风险,原因包括:

(1) 测试集中的指令可能已出现在训练集中;

(2) 每条指令平均包含20条相似轨迹。

什么是基于回合的划分?

一个 回合 是指完成一条指令所需的一组操作步骤(即一个任务轨迹,trajectory)。

数据集中,每条指令可能对应多条回合轨迹。例如:“打开某个应用” 可能会有多种执行方式(不同路径、点击顺序)。

为什么会过拟合?

基于回合划分时,相同的指令(如“打开设置”或“搜索天气”)会出现在训练集和测试集中,区别仅在于训练集和测试集的轨迹(步骤)不同。由于模型在训练中已经见过这些指令,它可能通过记忆而非真正的泛化能力来完成测试任务。

在本研究中,我们选择基于 指令 的划分方法,具体为从General/Install/GoogleApps/Single/WebShopping五个子集分别选择545/688/306/700/700条指令,每条指令仅保留一条轨迹。每个子集划分出80%用于训练,其余用于测试。此划分方式避免了过拟合,更能反映智能体在未见过的指令上的性能。关于原始划分方式的更多细节和结果见附录C.3。

比较方法与评估  
我们将SeeClick与两类基线方法进行了比较:  
1. 基于API的LLM方法:包括ChatGPT-CoT、PaLM2-CoT以及最新的GPT-4V。  
2. 我们训练的LVLM基线模型:Qwen-VL。

我们采用屏幕级动作匹配得分(screen-wise action matching score)作为主要评估指标,并额外计算点击准确率(ClickAcc),后者用于衡量参考动作和预测动作均为点击操作时的准确率。

什么是屏幕级动作匹配得分?

屏幕级动作匹配得分是一种衡量模型在 具体屏幕上的操作准确性 的指标。该指标计算模型预测的操作是否与参考的动作(ground truth)一致。

一次操作包括:

  • 动作类型:点击(Click)、输入(Type)、滑动(Swipe)等。
  • 动作目标:点击的目标 UI 元素(如按钮、输入框)。

计算过程:

  • 每条轨迹由多个操作步骤组成,而这些操作发生在不同的屏幕上;
  • 对于每个屏幕,检查模型的预测操作是否与真实操作一致;
  • 如果一屏幕内所有操作都正确,则匹配成功;否则匹配失败;
  • 将所有屏幕的匹配结果取平均,作为最终的屏幕级动作匹配得分。

实验结果  
如表3所示,SeeClick在API基线LLM和训练的LVLM模型中都取得了最佳平均性能。特别是,与Qwen-VL相比,SeeClick在点击准确率上提高了9%,支持了这样的观点:GUI对齐能力通过精确点击增强了智能体的任务性能。

5.2.3 Mind2Web

为了评估SeeClick在网页导航中的能力,我们使用了最近提出的 Mind2Web数据集。该数据集包含来自137个真实网站的2000多个开放式任务,每个任务包括高级指令和对应的人类操作轨迹。

Mind2Web最初是为基于文本的智能体设计的,智能体在每一步中从简化的HTML中选择可操作元素。在本研究中,我们探索了基于视觉的网页智能体,试图直接从截图中预测点击位置。为此,我们从Mind2Web的原始数据中解析出了截图和目标元素的边界框。据我们所知,这是首次尝试依赖截图输入的网页智能体来导航真实网站。

比较方法与评估  
我们与以下方法进行了比较:  
1. 基于HTML的网页智能体:包括Mind2Act以及我们的视觉基线模型Qwen-VL。Mind2Act采用两阶段方法,其中一个小型语言模型首先从原始HTML中生成候选元素,然后一个大型语言模型通过多选问答(multi-choice QA)选择目标;Mind2Act(gen)直接生成目标元素。GPT-3.5和GPT-4采用相同的多选问答形式,并包括三个上下文学习示例。  
2. 我们计算了以下指标:元素精度(Ele.Acc)操作F1分数(Op.F1)步骤成功率(Step SR)。对于基于视觉的方法,预测被认为正确的条件是预测坐标落在目标元素的边界框内。其他设置与(Deng等,2023)一致。

实验结果  
如表4所示,与Qwen-VL相比,SeeClick在元素精度(Ele.Acc)和步骤成功率(Step SR)上几乎提升了一倍。这表明SeeClick在GUI对齐能力上的提升与网页智能体任务性能的增强密切相关。HTML方法在操作F1得分(Op.F1)上较低,因为大约20%的真实目标元素在候选生成阶段被过滤掉。尽管SeeClick可以在没有额外HTML信息的情况下运行,但在性能上仍落后于最优的HTML方法,因为预测点击坐标比从HTML候选项中选择要困难得多。这凸显了在复杂界面中对齐的难度,表明视觉智能体在实际应用中还有很大的改进空间。

5.2.4 对齐能力与智能体性能

为了研究对齐能力与智能体性能之间的关系,我们分析了SeeClick在ScreenSpot和三个下游任务中多个检查点的平均分数提升。如图6所示,增强的GUI对齐能力始终能显著提升智能体的任务性能,这强调了对齐能力在开发高级视觉GUI智能体中的关键作用。

5.2.5 SeeClick作为统一的GUI智能体

为了评估基于视觉的解决方案在统一GUI智能体任务中的潜力,我们尝试对SeeClick进行联合训练,涵盖三个下游任务。正如表5所示,联合模型表现出轻微的性能下降,这可能是由于不同GUI的界面差异显著所致。


六、局限性

SeeClick当前简化了GUI的操作空间,主要聚焦于点击和输入操作,但未涵盖更复杂的动作,例如拖动和双击。此外,由于开源LVLM模型性能的限制,SeeClick需要在特定的智能体任务数据上进行训练,才能在移动端和计算机等界面上执行多步骤任务。


七、 下游智能体任务

在本节中,我们首先详细介绍了SeeClick作为视觉GUI智能体的任务形式,然后分别介绍三个下游任务的设定,最后展示SeeClick在这些任务中与GUI交互的案例。

7.1 SeeClick作为视觉GUI智能体的任务形式

动作空间

SeeClick支持常见的人机界面交互操作。参考AITW框架,我们为每种动作类型分配了一个动作类型ID,供模型进行预测:

  • click(x, y):点击(x, y)位置的操作,其中每个值为[0,1]范围内的小数,表示对应位置相对于图像宽度或高度的比例(ID:4)。
  • type("typed_text"):输入一段文本的操作(ID:3)。
  • select("value"):从网页下拉菜单中选择一个选项的操作(ID:2)。
  • swipe(direction):屏幕滑动操作,上/下/左/右滑动的ID分别为1、0、8、9。
  • PRESS BACK:返回上一步的操作(ID:5)。
  • PRESS HOME:返回主界面的操作(ID:6)。
  • PRESS ENTER:按下回车键以提交输入内容的操作(ID:7)。

前两种操作(点击和输入)适用于各种GUI。第三种操作(选择)依据Mind2Web的定义。

后四种操作及两个额外状态(TASK COMPLETE和TASK IMPOSSIBLE)则依据AITW框架中针对Android环境的定义。

智能体公式

SeeClick是一个自主智能体,能够在GUI界面上执行人类指令。它的输入包括:指令、当前界面的截图以及一系列(我们设定为k=4)之前的操作记录,用以预测下一步的操作。

具体来说,SeeClick使用以下提示(prompt)来执行每一步操作。

在训练和测试过程中,我们将数据按步骤组织成上述格式。

7.2 MiniWob

MiniWob是一个经典的简化网页智能体环境,基于Chrome构建,支持底层操作,如点击和输入。它包含约100个任务,其中每个任务可以通过模版化方法生成随机变体和相应指令,这些变体通过随机种子控制,可生成最多数十亿个不同的任务实例。

我们使用(Zheng等,2023)中提供的每个任务的50个成功轨迹进行训练,并按照标准实践,使用50个随机种子测试每个任务。我们报告了MiniWob环境自动统计的所有随机种子和任务的平均成功率。当任务执行正确时,视为成功完成;而执行错误或超过最大操作步数(此处设为30步)均视为失败。

对于表2中的基线模型,我们使用其论文中提供的任务得分来计算与SeeClick任务重叠部分的平均得分。

同时,在表8中我们提供了任务级别的对比。

7.3 AITW

AITW是一个最近收集的安卓智能手机自动化数据集,其中每个样本包含一条指令和一条带有截图的操作轨迹。

AITW分为五个子集:General、Install、GoogleApps、Single和WebShopping,总共包含超过30,000条指令和700,000个操作轨迹。

尽管AITW规模较大,但如5.2.2节所述,其当前的训练-测试数据划分存在显著的过拟合风险,导致实验结果无法准确反映智能体在真实世界中的泛化能力。

我们也使用原始划分在SeeClick上进行了实验,如表7所示,SeeClick的性能与CogAgent相当。然而,由于过拟合严重,设计新的智能体框架或扩大模型规模在此数据划分下不太可能带来显著改进。

为了应对上述问题,我们提出了一种基于指令的训练/验证/测试划分方法

具体来说,我们从General、Install、GoogleApps、Single和WebShopping子集中分别选取了545/688/306/700/700条指令,并对每条指令仅保留一个标注的操作轨迹。

为避免联合训练中的数据不平衡,我们随机从Single和WebShopping中各选取700条指令。这些指令在Single和WebShopping子集中具有代表性。接下来,我们划分出80%用于训练,剩下的20%用于测试,并从原始数据中额外选择5*100条操作轨迹作为验证集。

用于训练、验证和测试的数据将开源,以用于有效评估。其他设置与以往工作保持一致.

计算基于屏幕的匹配评分,该评分同时考虑动作类型及其值的正确性(例如点击点或输入文本)。屏幕匹配评分与人类判断的任务完成评分有较高的相关性。


7.4 Mind2Web

Mind2Web是一个最近提出的数据集,用于开发通用型网页智能体,适用于真实世界中的网站。该数据集最初设计用于基于文本的智能体,因此每一步的原始观测数据仅包含当前网页的HTML代码。

为了训练和评估基于视觉的智能体,我们从Mind2Web的原始数据中提取了网页截图和目标操作元素的边界框。Mind2Web的原始HTML观测数据有一个问题,即它捕获了整个页面(包括滚动部分),生成的截图为长截图(例如1920*12000的分辨率)。从如此高分辨率的长截图中预测操作位置,对于现有的LVLM模型来说是不现实的,也不符合人类的操作方式。

为了解决这个问题,对于不在顶部的目标元素,我们在其位置周围随机裁剪,确保所有观察界面的截图分辨率一致为1920*1080。

Mind2Web首先计算元素准确率(Element Accuracy, Ele.Acc)来比较预测的元素与真实值;

然后计算操作F1分数(Operation F1, Op.F1),衡量预测操作的令牌级别F1分数。操作F1相当于点击操作的准确率,同时考虑输入值的正确性(如type和select操作的输入值)。对于我们的基于视觉的方法,元素准确率被计算为预测点击点是否落在真实元素的边界框内。一个步骤被认为成功(Step SR),需要预测的元素和操作同时正确。


7.5 案例分析

MiniWob

图11(a)展示了静态布局任务和动态布局任务之间的区别。

静态布局任务在训练和测试阶段的元素位置是固定的,而动态布局任务的界面和元素位置会随指令变化,这对智能体准确定位目标的能力提出了更高的挑战。

图11(b)提供了SeeClick与MiniWob交互的示例。SeeClick仅依靠界面截图就能够完成算术、推理等任务。

AITW

图12展示了SeeClick在AITW环境中的操作。

标记为红色的预测表示在AITW中被判定为错误的结果。一些错误的产生是因为当前步骤的答案并不是唯一的。例如,在第5步中,模型预测的输入“DuckDuckGo Privacy Browser”也是一个可能的正确操作。

Mind2Web

图13展示了SeeClick在真实网站基准数据集Mind2Web上的一些示例。SeeClick能够理解指令,并能在复杂的界面中点击正确的目标元素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93520.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93520.shtml

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

相关文章

校园综合数据分析可视化大屏 -Vue纯前端静态页面项目

最近一直在学习用vue来制作 一些 大屏报表的网站&#xff0c;今天就来分享一个我最近做的一个 关于校园综合数据分析可视化大屏的网站。 使用的技术是vue2 element-uiVue2&#xff1a;Element-UI&#xff1a;ECharts&#xff1a;Node版本 16.20 安装依赖&#xff1a;n…

【adb端口5555】烽火hg680-gy_烽火hg680-gc安卓9线刷烧录包 解决用一段时间就提示升级的问题

烽火hg680-gy_烽火hg680-gc安卓9线刷烧录包 解决提示升级的问题本固件可用于那些adb打不开或无法用U盘成功刷机的盒子&#xff1b;本固件需要准备一个TTL线哦&#xff1b;CH340型号的 可以网上自购&#xff1b;TTL链接点 参考下图&#xff1a;其他也没有特别需要说明了的&#…

大模型应用发展与Agent前沿技术趋势(中)

大模型与Agent结合的深度技术架构 分层式Agent架构设计 随着大模型规模的不断增长&#xff0c;传统的Agent实现方式已难以满足高性能、高可扩展性的需求。现代大模型Agent系统通常采用分层式架构设计&#xff0c;将复杂的决策过程分解为多个功能模块&#xff0c;每个模块负责特…

Python可视化工具-Bokeh:动态显示数据

目录 概述 1 认识Bokeh 1.1 Bokeh介绍 1.2 安装Bokeh 1.3 范例介绍 2 Bokeh的应用 2.1 Bokeh应用的框架结构 2.2 实时性数据核心原理 3 具体案例 3.1 代码实现 3.2 部署和运行 概述 Bokeh是一个用于创建交互式可视化的Python库&#xff0c;特别适合在Web浏览器中展示…

Elasticsearch「kNN Retriever」把向量检索装进一条 \_search 管线

1. kNN retriever 是什么&#xff1f; kNN retriever 是 Retriever 框架中的首阶段召回器&#xff0c;负责对一个向量字段做近邻搜索&#xff0c;返回 Top-K 文档。相比早期的 knn 顶级语法&#xff0c;Retriever 让我们能在一个请求里组合多种策略&#xff08;如 RRF/Rescorer…

第四天~在CANFD或CAN2.0的ARXML文件中实现Multiplexor多路复用信号实战

【ARXML专题】-解锁CAN信号超能力:Multiplexor多路复用技术深度解析 "当你的CAN帧需要传输100种信号却只有64字节时,就像试图用行李箱装下一整个衣橱——Multiplexor就是你的真空压缩袋" 信号拥堵时代的救世主 现代豪华汽车中,单个ECU可能需处理500+信号,而传统…

JavaScript 基础入门:从零开始学 JS

一、JavaScript 简介JavaScript&#xff08;简称 JS&#xff09;是一种高级的、解释型的编程语言&#xff0c;由 Netscape 公司的 Brendan Eich 在 1995 年开发&#xff0c;最初命名为 LiveScript&#xff0c;后因与 Java 的合作关系而改名为 JavaScript。作为 Web 开发的三大核…

pytest中使用loguru的问题及解决

引语 上一篇文章,我们向大家推荐了python语言的一个第三方日志库loguru,使用非常简单且功能完备。 但对于我们做自动化测试,经常使用 pytest 框架的小伙伴来说,却有点小问题。就是 Pytest 内建的日志捕获机制是在标准库 logging 的基础上进行优化过的。 这样我们在使用 p…

Qt异步编程:QFuture与QPromise深度解析

在现代GUI应用中&#xff0c;异步操作是保证界面流畅性的关键。本文将深入探讨Qt框架中强大的异步工具——QFuture和QPromise&#xff0c;揭示它们如何简化多线程编程并提升应用性能。 为什么需要QFuture/QPromise&#xff1f; 在Qt开发中&#xff0c;我们经常面临这样的挑战&a…

基于Python的电影评论数据分析系统 Python+Django+Vue.js

本文项目编号 25008 &#xff0c;文末自助获取源码 \color{red}{25008&#xff0c;文末自助获取源码} 25008&#xff0c;文末自助获取源码 目录 一、系统介绍1.1 用户功能1.2 管理员功能 二、系统录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状 六、…

数据结构:在二叉搜索树中插入元素(Insert in a BST)

目录 插入的本质是什么&#xff1f; 如何寻找“合法”的位置&#xff1f;—— 模拟查找过程 递归插入&#xff08;Recursive Insert&#xff09;—— 优雅的实现 代码逐步完善 总结 上一节我们从第一性原理搞清楚了二叉搜索树&#xff08;BST&#xff09;是什么&#xff0…

【论文阅读】美 MBSE 方法发展分析及启示(2024)

文章目录 论文摘要 论文框架 1. MBSE 方法概述 2. 美国防部的 MBSE 方法政策要求 在这里插入图片描述 3. 美军兵种的 MBSE 方法政策要求 4. 启示 5.总结 参考文献 论文摘要 本文梳理了美国防部基于模型的系统工程(MBSE)方法的发展历程,并剖析 其技术原理;跟踪《数字工程战略…

人工智能训练师复习题目实操题1.1.1 - 1.1.5

列出所有的python 库和 apiimport pandas as pd import numpy as np就这两个库pandas 库 - apinumpy 库 - apimatplotlib.pyplot - apipd.read_csv()np.where(condition,x,y)fillna(methodffill,inplaceTrue)methodbfill,pd.read_excel()np返回结果 series 对象 data[A列].valu…

旅游管理实训室:旅游教育实践育人的关键支撑

在中等职业教育旅游服务与管理专业教学中&#xff0c;旅游管理实训室并非简单的教学场所&#xff0c;而是落实专业教学标准、实现 “理实一体化” 育人的核心阵地。它通过模拟真实职业场景、配置专业实训设备、设计实践教学活动&#xff0c;将抽象的专业知识转化为具体的操作技…

http工作流程

HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;是互联网中客户端与服务器之间传输超文本&#xff08;如HTML、图片、JSON等&#xff09;的核心协议&#xff0c;基于请求-响应模型和TCP/IP协议族工作。其完整工作流程可拆解为以下9个核心步…

正则表达式实用面试题与代码解析专栏

正则表达式是前端表单验证、字符串匹配的核心工具,简洁高效的正则能大幅提升代码性能。本专栏整理了7道高频面试题,包含核心正则表达式、代码实现及关键知识点解析,帮你快速掌握正则实用技巧。 一、正则基础:核心概念与语法 在学习面试题前,先明确几个高频基础语法,这是…

【数据可视化-89】基孔肯雅热病例数据分析与可视化:Python + pyecharts洞察疫情动态

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

云智智慧停充一体云-allnew全新体验-路内停车源码+路外停车源码+充电桩源码解决方案

采用Java主流的微服务技术栈&#xff0c;基于 Spring Cloud Alibaba 的微服务解决方案进行封装的快速开发平台&#xff0c;包含多种常用开箱即用功能的模块&#xff0c;通用技术组件与服务、微服务治理&#xff0c;具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动生成前后端代…

利用pypy加速pyxlsbwriter生成xlsb文件

上文介绍了python通过DuckDB和pyxlsbwriter模块生成xlsb文件&#xff0c;因为python是解释执行&#xff0c;它的速度有点慢&#xff0c;pypy是另一种python解释器&#xff0c;它使用即时编译&#xff08;JIT&#xff09;技术来提高执行速度。 因为DuckDB与pypy不兼容&#xff0…

【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略

Spring Boot 集成 MyBatis-Plus 全攻略 1. 为什么选择 MyBatis-Plus 零侵入&#xff1a;在 MyBatis 基础上增强&#xff0c;不影响现有功能。内置 CRUD&#xff1a;无需写 XML/SQL&#xff0c;直接调用 BaseMapper 方法。强大插件&#xff1a;分页插件、性能分析、乐观锁、多租…