1、Android地址

https://github.com/google-research/android_world/tree/main?tab=readme-ov-file#installation

这里有排行榜,提交方式为手工提交到共享表格

https://docs.google.com/spreadsheets/d/1cchzP9dlTZ3WXQTfYNhh3avxoLipqHN75v1Tb86uhHo/edit?gid=0#gid=0

1.1 评测方式

需要在windows安装android studio,通过在模拟器和模型访问地址进行交互。部署还是比较麻烦。后来​Droidrun​进行精简,也可以参考这个项目,有点类似。

https://github.com/droidrun/droidrun-android-world?tab=readme-ov-file

具体评估方案可以见:https://arxiv.org/pdf/2405.14573

与现有的测试环境(MiniWoB++ (Shi et al., 2017) 是一个值得注意的例外)不同,ANDROIDWORLD 中的每个任务都是使用随机生成的参数动态实例化的,从而以数百万个独特的任务目标和条件来挑战代理。虽然 MiniWob++ 由简单的合成网站组成,但 ANDROIDWORLD 利用了实际的 Android 应用程序。ANDROIDWORLD 必须解决的一个主要挑战是如何在使用真实世界的应用程序和动态变化的任务参数时,确保奖励信号的持久性

除了116个Android任务之外,我们通过将MiniWoB++ (Shi et al., 2017; Liu et al., 2018a) 基准集成到ANDROIDWORLD中,从而扩展了其Web任务。

AndroidEnv (Toyama et al., 2021) 提供了一种管理与 Android 模拟器通信的机制,类似于 Playwright 和 Selenium 在 Web 环境中的应用

ANDROIDWORLD 实施了一种非侵入式的奖励机制,使其能够为源代码不可用的应用程序创建一个基准测试套件,并在不同的应用程序中重复使用验证组件。这种方法使 ANDROIDWORLD 能够涵盖更广泛的真实移动任务。

ANDROIDWORLD包含一套116个任务,分布在20个不同的应用程序中(更多细节请参见附录D)。这些任务模拟了实际的日常活动,包括记笔记、安排约会、通过消息传递进行交流以及与系统实用程序进行交互。该套件由开源应用程序和内置的Android系统应用程序组成,例如“设置”和“联系人”。正如人类所评估的那样,这些任务在难度、持续时间和类别上各不相同(图2)。

为了在真实场景中实现高度的可重复性,ANDROIDWORLD 通过多种方式精确控制操作系统和应用程序的状态。Android 操作系统是固定的,由运行 Android 13 的 Pixel 6 模拟器组成。在每个任务开始时,ANDROIDWORLD 将设备时间戳重置为 2023 年 10 月 15 日 15:34 UTC,确保所有执行过程中时间相关的行为保持一致。ANDROIDWORLD 中的所有应用程序都是功能齐全的,包括开源应用程序和 Android 操作系统自带的操作系统级别应用程序。对于开源应用程序,ANDROIDWORLD 通过安装从 F-Droid 获取的每个应用程序的固定版本来维持一个恒定的环境。5 操作系统级别应用程序的版本由 Android 操作系统决定,而 Android 操作系统也是固定的。为了维持一个可重复的环境,ANDROIDWORLD 使用不需要登录/身份验证并且可以在设备上存储其应用程序数据的应用程序。

除了管理应用程序和操作系统的状态之外,ANDROIDWORLD 精确地定义和控制任务执行期间的状态。每个任务都有其自己独特的设置、奖励确定逻辑和清理程序(更多细节请参见附录 D.2 和 D.3),从而确保了一套完全可重现的任务。

自动任务参数化是ANDROIDWORLD独有的关键机制,用于在比当前基准测试所支持的更大、更真实的suite任务上评估代理。实现这一点需要比随机生成新任务参数付出更多的努力,因为它涉及到开发在不同任务实例化中保持有效的评估逻辑。正是通过其仔细的状态管理,除了可重复性之外,AndroidWorld还确保奖励机制正常运行。任务参数在每个任务开始时基于受控的随机种子随机初始化,决定初始状态并影响奖励结果。与MiniWoB++ (Shi et al., 2017; Liu et al., 2018a) 类似,ANDROIDWORLD由几乎无限的、不同的初始条件和成功标准组成。

这种方法能够对智能体的适应性进行更细粒度的分析,这对于现实世界的部署至关重要。除了鲁棒性测试之外,动态任务构建还支持在线学习,特别是强化学习(Shi et al., 2017;Liu et al., 2018a;Humphreys et al., 2022;Gur et al., 2022a),同时也简化了监督学习的训练/测试数据集生成(Humphreys et al., 2022;Shaw et al., 2023;Furuta et al., 2023)。

ANDROIDWORLD通过检查屏幕上的UI元素来验证任务完成情况

1.2、训练数据集

没有训练数据集,不过MOBILERL: ADVANCING MOBILE USE AGENTS WITH ADAPTIVE ONLINE REINFORCEMENT LEARNING 这篇论文中,参考测试数据构造了测试集。

对于强化学习,我们通过改变初始状态、任务需求和任务组成,从两个基准测试中构建扩展的训练集,同时确保排除与评估集的任何重叠。由此产生的训练语料库包括AndroidWorld的完整训练集和大约1k个从AndroidLab中提取的任务,并以4:1的固定比例应用混合抽样(AndroidWorld: AndroidLab)。对于AndroidWorld,我们直接采用其基于规则的轨迹奖励,而对于不提供训练奖励的AndroidLab,我们采用表2:专有模型和开源模型在AndroidWorld和AndroidLab移动GUI交互任务基准测试上的成功率(SR,%)。AUTOGLM-Mobile-9B在这两个基准测试上都取得了最高的性能。文章核心点如下:

2、MobileRL

构建的环境的作用是什么? 为什么不用已有的数据集的答案做奖励

您提出了两个非常好的问题,一个关于构建的环境的作用,另一个关于为什么不用已有数据集的答案做奖励。这两个问题都触及了论文核心方法论的设计动机。

1. 构建的环境的作用:解决在线强化学习的挑战

论文中构建了一个分布式采样框架 (distributed sampling framework),用于在线强化学习(Online Reinforcement Learning)。这个环境的主要作用是为了解决在训练移动 GUI 代理时面临的几个实际挑战,尤其是在大规模、高并发的在线交互中实现高效、可复现的采样。

核心作用与解决的问题:

  1. 大规模高并发采样 (Large-scale, High-concurrency Sampling):

    • 挑战: 训练移动 GUI 代理需要大量的交互数据,而部署和管理数百个并发移动实例是资源密集型的,难以在不同设置中复现,并且通常采样吞吐量较低 (P2, "Large-scale mobile environment sampling bottlenecks")。
    • 构建环境的作用: 论文采用了一个 gRPC 控制器来协调数百个 Dockerized 的 Android 虚拟设备 (AVDs) 跨多台机器进行采样。这种设置能够并发地与超过 1000 个环境进行交互 (P2, "This setup enables concurrent interaction with over 1000 environments")。
    • 优势: 这种大规模并发能力显著提高了数据收集效率,是进行在线强化学习的基石。
  2. 降低早期探索成本 (Lowering Early Exploration Cost):

    • 挑战: 未经调整的基础模型在复杂 GUI 指令下难以稳定生成动作命令,且移动模拟的成本和延迟很高,导致成功的 Rollout 很少,早期探索数据效率低下 (P2, "Complex instruction following under sparse positive signals")。
    • 构建环境的作用: 通过大规模并发采样,可以更快地收集到更多的交互数据,即使早期成功率不高,也能加速数据积累,从而间接降低了探索成本。
  3. 提高指令遵循度 (Improving Instruction Adherence):

    • 挑战: 复杂的移动 GUI 任务需要代理遵循详细的指令,而基础模型可能难以做到。
    • 构建环境的作用: 在线强化学习允许代理通过与环境的持续交互来学习如何更好地遵循指令,而这个大规模环境提供了充足的交互机会来优化这一能力。
  4. 可复现性 (Reproducibility):

    • 挑战: 不同的环境设置可能导致行为不可复现。
    • 构建环境的作用: 论文指出,由于现有的大多数开源基准和模拟器都基于 Android 操作系统,他们设计的环境确保了无缝兼容性对环境行为的忠实复现 (P2, "this design ensures seamless compatibility and faithful reproduction of environment behaviors")。

总结来说,构建的环境是为了提供一个高效、稳定、可扩展且可复现的平台,以支持 MOBILERL 框架中大规模在线强化学习的需求,克服了移动 GUI 代理训练中数据稀疏、探索成本高和环境采样效率低下的问题。


2. 为什么不用已有数据集的答案做奖励:稀疏奖励与效率问题

论文中并没有完全“不用”已有数据集的答案做奖励,而是对奖励机制进行了重新设计和调整,以适应移动 GUI 任务的特点,尤其是稀疏奖励 (sparse reward) 和多步交互 (multi-turn interaction) 的挑战。

挑战与现有数据集奖励的局限性:

  1. 稀疏奖励问题 (Sparse Reward Problem):

    • 在移动 GUI 任务中: 奖励通常是二元的终端奖励 (binary terminal reward),即只有在任务完全成功时才获得 +1 奖励,否则为 0 (P4, "R(st, at) is a sparse reward that yields 1 iff the task is completed at step T and 0 otherwise")。
    • 局限性: 这种稀疏奖励信号在多步任务中难以提供足够的信息,导致模型难以学习有效的中间步骤。如果只用最终答案作为奖励,模型在早期探索时几乎总是获得 0 奖励,导致学习效率低下。
  2. 多步交互与中间推理缺失 (Multi-turn Interaction & Missing Intermediate Reasoning):

    • 在现有专家演示数据中: 移动使用专家演示数据通常只包含最终的动作序列,而省略了中间的推理步骤 (P2, "mobile-use expert demonstrations typically contain only the final action sequences, while omitting intermediate reasoning steps")。
    • 局限性: 如果直接将这些“黑盒”轨迹作为奖励信号,模型学会的策略会变得不透明,并且许多未标记的任务无法被利用。代理需要学会长期的规划和多步推理能力,而单一的最终答案奖励无法有效地指导这一过程。
  3. 低效的探索 (Inefficient Exploration):

    • 挑战: 简单地将终端奖励广播到每个时间步 (P6, "Previous approaches typically broadcast this reward to every timestep") 会导致训练偏向于更长的轨迹,因为它们贡献了更多的梯度项。这与用户偏好(通常是更短、更高效的解决方案)相悖。

MOBILERL 如何改进奖励机制:

为了克服上述局限性,MOBILERL 引入了 Difficulty-Adaptive GRPO (DGRPO),其中包含了三个关键的奖励调整机制:

  1. 最短路径奖励调整 (Shortest-Path Reward Adjustment, SPA):

    • 作用: 重新调整每个成功轨迹的奖励,使其偏好更短、更高效的解决方案
    • 机制: 对于成功完成的任务,SPA 不仅给 +1 奖励,还会根据轨迹长度相对于最短成功轨迹长度的比例进行惩罚。轨迹越短,奖励越高。
    • 解决问题: Counteracts the bias toward verbose solutions and aligns rewards with user preferences for efficiency (P6)。
  2. 难度自适应正向回放 (Difficulty-Adaptive Positive Replay, DAPR):

    • 作用: 维护一个高质量、有挑战性的成功轨迹的精选缓冲区,并与新的在线采样样本进行平衡。
    • 机制: 在稀疏奖励环境中,困难的成功案例虽然罕见但信息量很大。DAPR 通过回放这些轨迹来放大它们的学习信号并稳定策略更新 (P2, P7)。
    • 解决问题: 提升了稀疏奖励下学习的效率,特别是对于难以解决的任务。
  3. 失败课程过滤 (Failure Curriculum Filtering, FCF):

    • 作用: 筛选掉那些持续无法解决的任务,将计算预算重新分配给有挑战性但可行的任务。
    • 机制: 对于连续多个 epoch 都产生零奖励的任务,FCF 会降低其采样概率,甚至永久从采样池中移除 (P7)。
    • 解决问题: 避免了在“死胡同”任务上浪费计算资源和探索预算,提高了样本效率。

总结来说,论文并非完全放弃利用已有数据集的“答案”作为奖励,而是:

  • 将其作为基础的二元成功信号 (binary success signal)。
  • 在此基础上,通过 SPA、DAPR 和 FCF 等机制对奖励信号进行“整形”和“优化”,使其更具信息量,更适应多步交互和稀疏奖励的挑战,并引导代理学习更高效、更鲁棒的策略。

这种设计使得代理不仅知道“任务是否完成”,更能理解“如何高效且正确地完成任务”,从而克服了传统稀疏奖励和单一最终答案奖励的局限性。

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

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

相关文章

《练手:ipv4地址计算和Telnet 远程设备管理配置实验文档》

实验一:IPv4 地址网段判断原理及实例 判断两个 IPv4 地址是否处于同一网段,核心依据是:将两个 IP 地址分别与子网掩码进行AND 运算后,得到的网络地址是否相同。若相同,则属于同一网段;反之则不属于。 实验拓…

小程序获取手机号完整流程 弹出框获取电话号码

小程序获取手机号完整流程 弹出框获取电话号码 1️⃣ 前提条件 - 使用微信小程序 - 小程序已注册并通过审核 - 后端可存储 session_key2️⃣ 小程序端按钮 <button type"default" open-type"getPhoneNumber" getphonenumber"decryptPhoneNumber&qu…

Nginx 实战系列(四)—— Nginx反向代理与负载均衡实战指南

文章目录前言一、反向代理1.1 反向代理原理1.2 实验配置示例二、负载均衡2.1 负载均衡基本原理2.2 常见负载均衡策略2.2.1 轮询&#xff08;Round Robin&#xff09;&#xff08;最常用&#xff09;2.2.2 最少连接数&#xff08;Least Connections&#xff09;2.2.3 IP 哈希&am…

深度学习(一):人工智能、机器学习与深度学习

人工智能 (AI)&#xff1a;宏大的目标 人工智能是最广泛、最宏大的概念&#xff0c;它的目标是让机器能够模仿人类的智能行为&#xff0c;例如&#xff1a; 推理&#xff1a;像下棋程序一样&#xff0c;通过逻辑来做决策。规划&#xff1a;为实现一个目标而制定步骤&#xff0c…

[网络入侵AI检测] 纯卷积神经网络(CNN)模型 | CNN处理数据

第5章&#xff1a;纯卷积神经网络&#xff08;CNN&#xff09;模型 欢迎回来 在第1章&#xff1a;分类任务配置&#xff08;二分类 vs. 多分类&#xff09;中&#xff0c;我们学习了如何提出正确的问题&#xff1b; 在第2章&#xff1a;数据加载与预处理中&#xff0c;我们准…

Unity AssetBundle详解

简介 AssetBundle&#xff08;简称&#xff1a;AB包&#xff09; 是 Unity 提供的一种资源压缩包&#xff0c;用于在应用运行时动态地加载和卸载资源。它可以将非代码资源&#xff08;如模型、纹理、预制体、音频、甚至整个场景&#xff09;打包成一个或多个文件&#xff0c;这…

golang-gin包

文章目录一、了解gin二、html渲染三、gin中get/post获取值四、路由分组五、中间件六、文件上传七、gin中的cookie一、了解gin Gin 是一个用 Golang编写的 高性能的web 框架, 由于http路由的优化&#xff0c;速度提高了近 40 倍。 Gin的特 点就是封装优雅、API友好。 特性类别…

基于脚手架微服务的视频点播系统-界面布局部分(二):用户界面及系统管理界面布局

基于脚手架微服务的视频点播系统-界面布局部分:二.首页及播放界面布局一.用户界面布局1.1用户界面布局分析与实现1.2更新用户图像按钮及逻辑1.3修改按钮及逻辑1.4上传视频对话框实现逻辑1.4.1页面跳转逻辑处理1.4.2页面控件响应处理二.系统界面布局2.1系统管理页框架2.2审核管理…

STL库——二叉搜索树

ʕ • ᴥ • ʔ づ♡ど &#x1f389; 欢迎点赞支持&#x1f389; 个人主页&#xff1a;励志不掉头发的内向程序员&#xff1b; 专栏主页&#xff1a;C语言&#xff1b; 文章目录 前言 一、二叉搜索树的概念 二、二叉搜索树的性能分析 三、二叉搜索树的插入 四、二叉搜索树的查…

【Linux】线程概念与控制

一. 线程的概念1.什么是线程线程是进程内部的一个执行流&#xff0c;是进程调度的基本单位。它具有轻量的特点&#xff0c;它的创建和销毁所消耗的资源更少&#xff0c;线程间切换比进程间切换消耗的资源更少&#xff1b;它与进程共享一张虚拟地址空间表&#xff0c;通过进程来…

双轴倾角传感器厂家与物联网角度传感器应用全解析

本文主要探讨双轴倾角传感器厂家的核心技术优势&#xff0c;以及物联网角度传感器在智能监测中的创新应用。同时&#xff0c;也详细介绍了水平监测传感器厂家的解决方案特点&#xff0c;并分析了专业进口倾角传感器代理所提供的原厂品质保障与本地化服务支持。以深圳瑞惯科技有…

容器-资源隔离机制

一. 引言&#xff1a; 大家都知道&#xff0c;在一台机器上&#xff0c;可以运行任意(根据系统资源)个容器实例。且各容器间是相互独立&#xff0c;不做任何关联的。那么&#xff0c;docker是通过什么方式来实现容器隔离的呢&#xff1f; 接下来我们了解下。 二. 关于容器隔离…

Agentic RL Survey: 从被动生成到自主决策

Agentic RL Survey: 从被动生成到自主决策 本文将系统解读《The Landscape of Agentic Reinforcement Learning for LLMs: A Survey》这篇综述。该综述首次将智能体强化学习&#xff08;Agentic RL&#xff09;与传统LLM-RL范式正式区分&#xff0c;通过MDP/POMDP理论框架梳理…

彻底禁用 CentOS 7.9 中 vi/vim 的滴滴声

在 VMware 虚拟机中安装的 CentOS 7.9 系统&#xff0c;即使通过修改 /etc/inputrc 禁用了终端铃声&#xff08;set bell-style none&#xff09;&#xff0c;vi 或 vim 编辑时仍可能发出滴滴声。这是因为 vi/vim 有自己独立的铃声控制机制。以下是解决方法&#xff1a;方法 1&…

基于A2A和ADK的内容规划代理

项目概述 Content Planner Agent 是一个基于 Google Agent Development Kit (ADK) 和 Python A2A SDK 构建的智能内容规划代理。该代理能够根据高层次的内容描述&#xff0c;创建详细的内容大纲。 什么是A2A Protocol A2A Protocol&#xff08;Agent2Agent 协议&#xff09;…

Linux-条件变量

文章目录条件变量概述条件变量的优缺点条件变量相关函数pthread_cond_init函数pthread_cond_destroy函数pthread_cond_wait函数pthread_cond_signal函数测试生产者和消费者模型条件变量 概述 与互斥锁不同&#xff0c;条件变量是用来等待而不是用来上锁的&#xff0c;条件变量…

[硬件电路-166]:Multisim - SPICE与Verilog语言的区别

SPICE与Verilog语言在电子设计领域中扮演不同角色&#xff0c;SPICE是电路仿真语言&#xff0c;用于精确模拟电路行为&#xff1b;Verilog是硬件描述语言&#xff0c;用于描述数字电路的结构和行为。以下是两者的详细区别&#xff1a;一、核心定位与用途SPICE&#xff1a;电路仿…

玩转Docker | 使用Docker部署Umbrel操作系统

玩转Docker | 使用Docker部署Umbrel操作系统 前言 一、 Umbrel 介绍 Umbrel简介 Umbrel主要特点 二、系统要求 环境要求 环境检查 Docker版本检查 检查操作系统版本 三、部署Umbrel服务 下载Umbrel镜像 编辑部署文件 创建容器 检查容器状态 检查服务端口 安全设置 四、访问Umbr…

Flink Task线程处理模型:Mailbox

Task的线程 和 MailboxProcessor 的绑定executingThread 是 Task 类&#xff08;StreamTask 的父类&#xff09;在构造时创建的物理线程。MailboxProcessor 是 StreamTask 用来处理异步事件和驱动其主要处理逻辑&#xff08;processInput&#xff09;的核心组件。它们之间的绑定…

OpenCV 银行卡号识别

目录 一、项目原理与核心技术 二、环境准备与工具包导入 1. 环境依赖 2. 工具包导入 三、自定义工具类 myutils.py 实现 四、主程序核心流程&#xff08;银行卡识别.py&#xff09; 1. 命令行参数设置 2. 银行卡类型映射 3. 辅助函数&#xff1a;图像展示 五、步骤 1…