SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents
- 前言
- Abstract
- Motivation
- Method
- GUI grounding for LVLMs
- Data Construction
- Training Details
- ScreenSpot
- Experiments
- GUI Grounding on ScreenSpot
- Visual GUI Agent Tasks
- MiniWob
- AITW
- Mind2Web
- Other experiments
- Conclusion
前言
一篇开创性的关于GUI智能体的工作,作者指出了当前GUI智能体面临的关键问题——GUI grounding能力不足,并基于此做了一系列工作,为提升GUI智能体性能指明了新的方向。
Paper | https://arxiv.org/pdf/2404.07972 |
---|---|
github | https://github.com/njucckevin/SeeClick |
Abstract
当前,GUI智能体与数字终端交互的方式通过提取的结构化信息,这些信息可能冗长或者无法访问。为此,本文提出SeeClick,只依赖于截图执行自动化任务。在之前的调研中,作者发现当前模型GUI grounding能力不足,为此,作者提出通过GUI预训练方式增强SeeClick该能力,并设计一种自动化管理GUI数据的方法。此外,作者还提出了ScreenSpot数据集,涵盖移动端、桌面和Web环境的真实benchmark。经过预训练后,SeeClick在ScreenSpot上展现了显著提升。此外,在在其他三个全面的benchmark上支持了作者的发现,即GUI grounding能力可以提升下游GUI智能体的性能。
Motivation
自动化桌面工具一直是个热门的话题,基于LLMs驱动的GUI智能体取得了一定的成功。但是仍面临一些问题:
- 结构化文本并不能总获取到。
- 结构化文本信息冗余,且忽视了关键的布局、图标等特征。
- 结构化文本种类繁杂,难以统一管理。
SeeClick如何解决这些问题?
避开结构化文本,从视觉角度构建GUI智能体,模仿人类的交互方式。但是这带来了新的问题:
当前的LVLMs grounding能力不足,无法根据指令定位到屏幕元素位置。
为此,SeeClick对LVLM进行了GUI grounding上的预训练,获得了在各种GUI环境中定位文本、图标等元素的能力。此外,为了填补GUI grounding评测领域的空白,作者提出ScreenSpot GUI grouding benchmark,涵盖IOS、Android、macOS、网页的600多个截图和1200条指令。最后,作者对SeeClick在mobile和web的benchmark上测试,取得了impressive的性能,这些实验一致支持了GUI grounding能力与GUI智能体性能的直接关联。
Method
GUI grounding for LVLMs
给定截图和一组元素集合 { ( x i , y i ) ∣ i } \{(x_i, y_i)|_i\} {(xi,yi)∣i},其中:
- x i x_i xi代表第i个元素的自然语言描述。
- y i y_i yi代表元素的位置。
LVLM的任务是根据元素 x i x_i xi预测 y i y_i yi的位置。预测数字坐标的任务是一个挑战,之前工作采用新加词表的方式,本文直接将数字作为自然语言的一部分。一个例子:
- instruction:View the new album of Jony J
- Prompt:In the UI, where should I click if I want to ?
- output:click (0.49, 0.40)
Data Construction
使用三种类型数据训练SeeClick:
- **Web UI data (Internet):**来自Common Crawl的300k web pages,每个网页收集两种类型元素,包括可见文本内容元素,以及悬停显示内容的元素(如下图所示)。
- **Mobile UI data (Public datasets):**Widget描述,手机UI grounding以及mobile UI summarization。20K截图,40Kwidgets,以及100K的描述。
- **General vision-language instruction-following data:**收集来自LLaVA的对话、详细描述和复杂推理的指令遵循数据,以维持LVLM对自然图像的理解能力。
Training Details
对Qwen-VL进行持续预训练。采用LoRA作用于visual encoder和LLM。
ScreenSpot
为了测试LVLM的GUI grounding的能力,作者构建了ScreenSpot,这是涵盖各种GUI平台最新、真实的grounding评估benchmark,它有两个显著特点:
- 各种GUI平台。
- 涉及Icons/widgets的评估。
Experiments
GUI Grounding on ScreenSpot
在ScreenSpot上测试当前LVLMs GUI grounding的能力,测试指标为点击的准确率。
- 通用的LVLMs由于GUIs和自然图像的差异,在GUI grounding上表现不佳。基于GUI的LVLMs有明显提升。
- SeeClick表现最好,表明GUI grounding预训练有效。
- SeeClick在desktop和web上文本定位表现不如CognitiveAgent,可能因为分辨率低以及训练数据小。
- 所有模型定位都不够好,说明ScreenSpot有一定挑战。
Visual GUI Agent Tasks
本小节测试SeeClick在mobile和计算机智能体任务上的能力,选取的数据集为MiniWob,AITW和Mind2Web,作者先将SeeClick在训练集上训练,再在测试集上测试。
MiniWob
- WebGUM由于使用了更大的数据集以及HTML+Image的方式,所以结果更高。
- SeeClick用少得多的训练数据超越了强大的baseline,包括同数据量下的WebGUM。
- 和同样的基于Image的模型相比,SeeClick仅用了0.3%的数据就超过了Pix2Act。
- SeeClick远远超过了Qwen-VL,强调了GUI grounding对提升LVLM性能的重要性。同时下图也展示了通用LVLMs在精准点击任务上存在困难。
AITW
本小节测试SeeClick在Android手机端benchmark AITW上的性能,同时对数据集按照任务类型重新划分以防止测试集数据泄露。评估指标为screen-wise action matching score以及点击准确率。
结果表明,SeeClick取得了最佳的平均性能。
Mind2Web
本小节测试SeeClick在Web浏览上的性能。采用Mini2Web数据集,该数据集本身是为文本智能体服务的,只选择了HTML中可操作的元素。为此作者从原始数据中解析了截图和目标元素,满足SeeClick输入的同时又和真实场景一致。评估指标采用元素精度、操作F1和步骤成功率。
SeeClick性能落后于基于HTML的方法,说明预测点击坐标的任务比从HTML候选中选择要难得多,凸显了GUI智能体还有很大的改进空间。
Other experiments
上图是grounding和智能体表现之间的联系。图中表明增强GUI能力可以提升智能体任务的表现。
上图表明统一GUI智能体任务会带来性能的下降,这是因为同的GUI界面有明显的不同。
Conclusion
本文提出视觉GUI智能体SeeClick,提出了当前GUI智能体面临的最大挑战:GUI grounding能力,基于此,作者对开源LVLM进行持续预训练,让其获得了一定的GUI grounding的能力,并在多个GUI任务上取得成功,此外,作者构建了第一个涵盖多个平台的真实GUI grounding评估数据集ScreenSpot,基于该数据集的实验表明SeeClick相对于LVLM基线有明显的改进。
对于这篇开创性的工作,有很多值得讨论的地方:
- GUI grounding能力是当前GUI智能体表现不足的主要原因,但是本文只是探索了点击能力,还没有对拖拽、滚动、typing等一系列GUI grounding的任务进行探索,统一这一系列任务,需要收集更丰富的数据集,定义新的动作空间,尤其是这些任务的组合涉及多步数据的收集或合成,这一系列的难题值得进一步的思考。
- 纯GUI grounding并不是最优的选择(可能是性价比最高的选择),文中实验也表明screenshot + HTML等文本信息会得到更优的结果,如果有机将这两个部分进行结合,可能会让GUI智能体获得超出人类的表现。