2024-11-14
深度学习
00

目录

摘要
1. 引言
SeeAct
2.1 问题表述
2.2 Action Generation
2.3 Action Grounding
其他
SeeAct 和 ReAct 的比较:
具体的区别:
例子对比:
总结:

https://arxiv.org/abs/2401.01614

摘要

最近在大型多模态模型(LMMs)上的发展,尤其是GPT-4V(ision)和Gemini,迅速扩展了多模态模型的能力边界,超越了传统任务如图像字幕生成和视觉问答。在这项研究中,我们探讨了像GPT-4V这样的LMMs作为通用网络代理的潜力,该代理可以遵循自然语言指令在任何给定网站上完成任务。我们提出了SEE ACT,这是一种通用的网络代理,利用LMMs的力量在网络上进行集成的视觉理解和操作。我们在最近的MIND2WEB基准上进行了评估。除了在缓存网站上的标准离线评估外,我们还开发了一种工具,使得能够在在线网站上运行网络代理的新在线评估设置成为可能。我们展示了GPT-4V在网络代理方面的巨大潜力——如果我们手动将其文本计划落实为网站上的动作,它可以成功完成51.1%的在线网站任务。这大大优于文本仅限于LLMs如GPT-4或专门为网络代理微调的小型模型(FLAN-T5和BLIP-2)。然而,落实仍然是一个主要的挑战。现有的LMM落实策略,如标记集合提示,事实证明对网络代理无效,而我们在本文中开发的最佳落实策略利用了HTML结构和视觉。然而,与理想的落实相比,仍然存在显著差距,为进一步改进留下了充足的空间。所有代码、数据和评估工具均可在 https://github.com/OSU-NLP-Group/SeeAct 获取。

1. 引言

大型多模态模型(Large Multimodal Models, LMMs;Li et al., 2023;Alayrac et al., 2022;Liu et al., 2023b),尤其是最近如GPT-4V(ision)(OpenAI, 2023)和Gemini(Anil et al., 2023)等模型,在标准的视觉与语言理解和推理基准测试上表现出了卓越的能力(Kazemzadeh et al., 2014;Goyal et al., 2016;Hendrycks et al., 2020;Saikh et al., 2022;Lu et al., 2022;Zhong et al., 2023;Yue et al., 2023)。虽然网络内容一直是训练数据的主要来源,但被广泛忽视的一部分是网站本身——每个网站都是为了便于人类用户轻松浏览而设计的。这为LMMs带来了新的挑战和机遇。一方面,渲染网站的截图可能包含数千个具有丰富关系的元素,其复杂性高于大多数现有基准中通常以物体或场景为中心的图像。另一方面,如果LMMs能够准确理解网站,将为网络上的众多应用打开大门。

在这项工作中,我们旨在探讨LMMs作为通用网络代理的潜力(Deng et al., 2023)。根据MIND2WEB(Deng et al., 2023)的定义,通用网络代理需要遵循自然语言指令并完成任何给定真实世界网站上的任务(例如,图1)。这些任务可能非常多样且复杂,一个任务可能需要在多个动态渲染的网页上执行超过10个操作。现有研究(Deng et al., 2023;Liu et al., 2023d)主要使用大型语言模型(LLMs),如GPT-4(OpenAI, 2023),处理原始HTML输入。然而,HTML代码比渲染的视觉效果更杂乱,信息密度更低。例如,图1中的截图包含423个HTML元素,使用GPT-2 Tokenizer需要186,490个文本标记,而使用GPT-4V的视觉标记器仅需1,445个视觉标记。此外,仅依靠HTML提供的信息是不完整的,缺少了嵌入图像等关键语义信息。

为此,我们提出了SEEACT,这是一种利用LMMs的力量进行集成视觉理解和在网络上行动的通用网络代理。我们将专注于目前最先进的公开LMM——GPT-4V,并将其与较小的LMMs如BLIP-2(Li et al., 2023)和LLaVA-1.5(Liu et al., 2023a;c)进行比较。我们发现GPT-4V在视觉理解渲染网页和在广泛的网站和任务中生成正确文本计划方面表现出强大能力。然而,落地(grounding)(Chandu et al., 2021;Gu et al., 2023),即将文本计划转换为网站上的精确操作,仍然是一个主要挑战。它涉及选择正确的HTML元素进行交互以及正确的操作(例如,点击、输入或选择)。我们提出了多种落地方法,包括将包围框和索引标签叠加到图像上,类似于在以物体或场景为中心的图像上已被证明有效的set-of-mark prompting(Yang et al., 2023a)。然而,我们发现对于像网页截图这样具有丰富语义和空间关系的复杂图像,GPT-4V观察到严重的幻觉。最有效的落地策略利用了HTML元素及其视觉渲染之间已知的对应关系,这是网站相对于自然图像的一个独特属性。

我们在MIND2WEB数据集(Deng et al., 2023)上评估了SEEACT,并与仅文本的大型语言模型(LLMs)如GPT-4(OpenAI, 2023)以及较小的模型(FLAN-T5(Chung et al., 2022),BLIP-2(Li et al., 2023),LLaVA-1.5(Liu et al., 2023a;c)和CogAgent(Hong et al., 2023))进行了比较。除了在缓存网站上的标准离线评估设置之外,我们还通过开发一个能够在实时网站上运行网络代理的工具建立了一种新的在线评估设置。我们探索中的主要发现总结如下:

  • 如果提供了预言机落地,使用GPT-4V的SEEACT是一个强大的通用网络代理。在在线评估中,它可以成功完成不同网站上51.1%的任务,远远超过现有方法如GPT-4(13.3%)或FLAN-T5(8.9%)。这强烈表明了像GPT-4V这样的LMMs在网络代理中的潜力。
  • 然而,落地仍然是一个主要挑战。最佳的落地策略与预言机落地仍有20-30%的差距。在各种落地策略中,最好的策略有机地利用了HTML文本和视觉效果,大大超过了图像注释策略(Yang et al., 2023a),最高可达10%。
  • 使用大型模型(LMMs和LLMs)进行上下文学习显示出对未见网站的更好泛化能力,而监督微调在训练期间见过的网站上仍有优势。
  • 在线和离线评估之间存在不可忽视的差异,因为通常可以有多个可行计划来完成同一任务。在线评估更能指示模型的真实性能。

SeeAct

在本节中,我们首先解释web agents的问题表述,然后介绍基于LMMs的通用web agent——SEEACT。具体来说,给定一个基于web的任务(例如,在租车网站上“以最低价格租一辆卡车”),我们考察LMMs作为通用web agent的两个基本能力:(i)Action Generation,用于在每一步生成一个行动描述(例如,“将光标移到‘Find Your Truck’按钮上并点击”)来完成任务,以及(ii)Element Grounding,用于在网页的当前步骤中识别HTML元素(例如,“[button] Find Your Truck”)。

2.1 问题表述

给定一个网站S(例如,一个租车网站)和一个任务T(例如,“以最低价格租一辆卡车”),web agent应生成一系列可执行的动作A = [a_1, a_2, ..., a_n]来完成任务。具体来说,在时间步t,agent应基于当前环境观察s_t、先前的动作{a_1, a_2, ..., a_t-1}和任务T生成动作a_t:

at=π(st,T,a1,a2,...,at1)a_t = \pi(s_t, T, {a_1, a_2, ..., a_{t-1}})

环境观察s_t包括一个HTML文档h_t和一个截图图像i_t。LLMs只能基于HTML文档,而LMMs可以基于HTML文档和截图图像。每个动作后,网站状态会相应更新:

st+1=S(at)={ht+1,it+1}s_{t+1} = S(a_t) = \{h_{t+1}, i_{t+1}\}

为简化起见,在后续的逐步表述中,省略时间步记号t。

一个动作a对应于网站环境提供的浏览器事件。因此,我们将动作表述为浏览器事件所需的三个必要变量的三元组(e, o, v)。其中,e ∈ E标识要操作的目标网页元素,例如图2中的"Find Your Truck"按钮。E代表环境S中的网页元素集合。操作o ∈ O是在目标元素上执行的动作,O包括S中的所有可能操作(例如,Click,Type)。变量v表示某些操作所需的附加值(例如,Type操作的日期12/10/2023)。

然而,基于LLMs或LMMs的agent通常无法直接生成浏览器事件所需的三个变量(e, o, v)。相反,它们生成意图动作的文本描述˜a,其中包含这些变量的信息(˜e, ˜o, ˜v)。这个过程称为Action Generation。为了与环境交互,还需要一个进一步的步骤将˜a转换为a,我们称之为Action Grounding。

2.2 Action Generation

我们明确指示GPT-4V模仿人类浏览网页,分析任务、网页和先前的动作。要求其基于分析和推理生成动作描述˜a。我们将截图图像i作为视觉上下文,而不使用HTML文档h进行动作生成。

2.3 Action Grounding

尽管GPT-4V能够识别和描述自然语言中完成给定任务的下一个动作,但在环境中将动作描述˜a转换为可执行动作a仍然具有挑战性。从动作描述˜a中推导操作类型o和值v可以通过字符串解析较好地解决。关键挑战在于从生成的˜e中识别目标元素e,我们称之为Element Grounding。

为解决这一挑战,我们探索了使用不同类型信息的三种方法:通过元素属性进行定位、通过文本选择进行定位以及通过图像标注进行定位,如图2所示。动作生成和定位的提示细节包含在附录D中。

通过元素属性进行定位。 这种方法涉及提示模型生成目标元素的尽可能详细的属性,从而提供更多信息以精确匹配目标HTML元素。具体来说,我们提示模型不仅描述元素e,还要在˜e中指定目标元素的类型和文本内容。例如,如图2所示,模型将生成元素文本为“Find Your Truck”,并将其类型识别为“BUTTON”。随后,执行启发式搜索遍历DOM元素,使用元素文本和类型定位匹配的元素。如果找到单个匹配项,则自动选择。否则,当出现多个匹配项时,进一步提示模型选择最终的选择。

通过文本选择进行定位。 上述方法要求GPT-4V提供精确和充分的属性描述,并由启发式搜索进行准确匹配,这可能要求很高。例如,许多元素可能没有文本内容,或者文本信息位于相邻元素中而非自身。

或者,我们为模型提供元素的文本表示作为选择以便于定位,这在MindAct(Deng et al., 2023)中已被证明有效。具体来说,MindAct利用一个排名模型选择具有预训练交叉编码器的前k名候选元素(e_1, e_2, ..., e_k)。每个候选元素在多选问题中以其HTML文本表示为一个选项,如图2所示。在生成动作描述˜a后,模型进一步被问及一个多选问题,以从给定的多个选项(包括“无”选项)中选择其预期元素。

通过图像标注进行定位。 仅靠文本表示有时不足以区分相似或相同的元素,如附录G所示。因此,在这种方法中,我们建议为由排序器选择的每个候选元素e叠加一个边界框,并使用标签分配方法在边界框周围标注标签,以避免标记重叠。模型被期望生成对应于目标元素的标签。

Oracle Action Grounding. 理想情况下,动作描述˜a必须包含所有必要的细节,以精确识别动作三元组的每个变量(e, o, v)。为评估动作生成的性能,期望一种oracle定位方法,确保只要在动作描述中提到,就能识别这些变量。这里,我们通过要求人类标注者识别模型的预期动作来近似oracle定位方法。

其他

太多了,就不看了,主要是和ReAct什么区别

SeeAct 是与 ReAct 类似的推理框架,也包括推理和行动的结合,但它们的主要区别在于如何进行推理和决策的过程中,SeeAct 更侧重于视觉信息的利用。

SeeAct 和 ReAct 的比较:

  1. 核心理念

    • ReAct(Reasoning and Acting):强调推理与行动的交替进行,特别适用于需要执行任务的情境。推理和行动是交替的,模型在每一步推理之后会进行相应的行动,推理过程中可能会包括信息查询、搜索、选择等操作。
    • SeeAct(See, Reason, and Act):与 ReAct 类似,也是推理和行动结合的框架,但它在行动之前特别强调“看到”或“感知”过程,即模型通过视觉信息(例如图像、视频)获取环境的相关数据,基于这些视觉信息进行推理和决策。
  2. 信息获取的方式

    • ReAct:模型通过推理得出所需的行动,然后执行这些行动来获取信息。这些行动可能是与外部数据库、搜索引擎、或其他系统的交互,通常基于文本数据。
    • SeeAct:模型首先看到感知环境(如图像、视频流、传感器数据等),然后基于视觉信息进行推理,再执行相应的行动。因此,SeeAct 特别适用于涉及视觉感知的任务,比如物体识别、场景分析等。
  3. 应用场景

    • ReAct:适用于语言推理文本信息交互的任务,尤其是在需要通过信息搜索、决策或与环境交互来解决问题时,比如查找信息、选择最佳方案等。
    • SeeAct:适用于视觉推理的任务,通常涉及计算机视觉或机器人控制等领域。它结合视觉感知和推理,适合需要理解视觉场景并采取行动的任务,例如自动驾驶、机器人导航、物体识别等。
  4. 推理和行动的交替

    • ReAct 中,推理和行动的交替往往发生在模型基于文本信息做出决策之后。
    • SeeAct 中,推理和行动的交替则是在模型基于视觉信息(比如图像或视频)分析后做出的决策。

具体的区别:

  1. 信息源的不同

    • ReAct 主要依赖于文本数据和信息的搜索。推理通常基于文字描述、数据库、或者其他文档。
    • SeeAct 则利用视觉输入(如图像、视频)作为主要的信息来源,推理基于这些视觉信息来进行决策和行动。
  2. 操作和反馈的不同

    • ReAct 中,模型在每一步推理后会执行某些操作(例如查询、选择、决策),这些操作的结果作为下一步推理的输入。
    • SeeAct 中,模型首先会通过视觉感知来理解当前环境(“看到”),然后基于这些视觉信息来做出推理和决策,最后执行相应的行动。
  3. 适用场景的不同

    • ReAct 通常适用于以文本为主的推理和任务执行场景,适用于需要与数据库、搜索引擎等进行交互的任务。
    • SeeAct 适用于需要视觉感知的任务,例如机器人控制、自动驾驶、物体识别、图像标注等,涉及到的推理过程需要理解和解析视觉信息。

例子对比:

假设任务是“判断照片中的物体是否是狗”:

  • ReAct

    1. Thought 1: 需要查询“照片中的物体是否是狗”。
    2. Action 1: 查询数据库或进行图像描述搜索。
    3. Observation 1: 发现“物体是狗”。
    4. Thought 2: 根据观察结果,确认物体是狗。
    5. Action 2: 结束并返回支持的结论。
  • SeeAct

    1. See: 模型获取一张图像(通过摄像头或图像输入设备)。
    2. Reasoning: 模型基于视觉信息(图像中的内容)推理是否为狗,可能通过物体识别模型进行分析。
    3. Action: 根据推理结果执行决策,确认物体是狗。

ReAct 中,模型可能更多依赖于文本信息来推理是否是狗,而在 SeeAct 中,模型通过视觉感知来获取图像信息,然后进行推理和决策。

总结:

  • ReAct 结合推理和行动,主要适用于文本和信息交互任务,通过推理决定行动,并执行操作来解决问题。
  • SeeAct 则是在推理和行动之前,特别强调“看到”或“感知”过程,主要依赖于视觉输入(如图像、视频等)来获取信息,再进行推理和决策,适合视觉感知和基于图像的数据分析任务。

这两个框架的核心差异在于 ReAct 侧重于文本数据的推理与执行,而 SeeAct 侧重于视觉数据的推理与执行。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!