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

ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习

这个任务是基于androidenv的。这个环境之前学过,是一个用来进行强化学习的线上环境。而这篇文章的工作就是要给一些任务加上中间的奖励信号。这种训练环境的优点就是动态,与静态的数据集(比如说我自己的工作)不同,因此可以在更大更真实的任务上训练。

“我们改编了一个流行的桌面web代理来在Android上工作,我们发现它在移动设备上的效率较低,这表明未来的研究需要实现通用的,跨平台的代理。最后,我们还进行了鲁棒性分析,表明任务变化会显著影响代理性能,表明如果没有这样的测试,代理性能指标可能无法完全反映实际挑战。”

可以看到这篇工作的核心就是“评估”,如何去评估代理在实际工作中的表现。如果没有这个评估的话,强化学习就难以进行下去。现有的评估方法基本上就是拿人类范例比较,而且经常就只给一个标准答案。androidworld闪亮登场,为的就是解决这些问题。

之前有一些用人类品测或者LLM评测来作为中间奖励,但这样扩展性不太行。

“与现有的测试环境不同(miniwob++[48]是一个明显的例外),ANDROIDWORLD中的每个任务都是使用随机生成的参数动态实例化的,具有数百万个独特任务目标和条件的代理。MiniWob++由简单的合成网站组成,而ANDROIDWORLD利用了实际的Android应用程序。ANDROIDWORLD必须解决的一个主要挑战是,如何确保在使用现实世界的应用程序和动态变化的任务参数时,奖励信号是持久的。ANDROIDWORLD的关键见解是利用Android操作系统的广泛和一致的状态管理功能,使用与应用程序本身使用相同的机制来存储和更新数据。”

androidworld只需要2GB内存和8GB硬盘。除了116个Android任务外,我们还通过集成miniwob++[48,34]基准将ANDROIDWORLD扩展为web任务。

miniwob是啥?

MiniWoB(Miniature World of Bits)是一个微型的基准测试环境集合,用于在网页环境下研究和测试强化学习(Reinforcement Learning,RL)算法。MiniWoB 提供了一系列简单的网页任务,主要用于研究智能体(agent)在网页操作、任务完成和用户界面交互中的表现。这些任务通常基于一些典型的网页活动,如点击按钮、输入文本、选择下拉菜单等。”

简单来说就是一个在网页环境下的类似于androidenv的东西。

“为了证明ANDROIDWORLD作为基准的实用性,我们构建并发布了一个多模态代理M3A (Android的多模态自治代理),并在ANDROIDWORLD上建立了最先进的结果。我们使用多模态和纯文本输入分析了M3A(Multimodal Autonomous Agent for Android)的性能,我们观察到,虽然多模态感知在某些情况下可以提高性能,但它通常不会优于纯文本方法。”

纯文本目前还是效果更好的办法,多模态战未来。

“总的来说,我们做出了以下贡献:(i)创建了一个新的,高度多样化和逼真的移动UI控制代理环境;(ii)用最先进的多模态智能体建立基准性能,(iii)仔细分析表明,由于模型和环境中固有的随机性,需要在不同的任务参数和条件下评估智能体。”

首先介绍一下androidworld怎么和android设备交互。

“ANDROIDWORLD为代理提供了一个接口来接收观察并在Android上执行操作。它使用AndroidEnv[58]和Android Device Bridge来促进Android和代理之间的交互。观察空间由全分辨率屏幕截图和为可访问性目的开发的UI树表示组成。操作空间类似于人类使用的空间,由手势(如轻敲、长按和滑动)、输入和导航按钮(如回家和返回)组成。除了这些自然的动作之外,ANDROIDWORLD还公开了一组有限的调用api的函数,比如发送文本消息,以帮助代理完成目标。”

下面是一些例子:

可以看到,这样子就可以通过不断地修改一些细节的方法排列组合出海量的任务了。

“除了管理应用程序和操作系统的状态,ANDROIDWORLD精确地定义和控制任务执行期间的状态。每个任务都有自己独特的设置、奖励决定逻辑和拆除程序(详见附录C.2和C.3),以确保完全可复制的任务套件。”

这种方法提供了对代理适应性的更细粒度的分析——这是实际部署的一个重要属性。除了测试智能体鲁棒性之外,任务的动态构建支持在线学习方法的使用,特别是强化学习[48,34,23,18]。它还简化了不同训练/测试数据集的生成,便于监督学习实验[23,47,15]。

”可以用来生成数据集,完美。

“ANDROIDWORLD通过使用Android调试桥(adb)管理应用程序状态来提供奖励信号。通过adb工具,ANDROIDWORLD可以完全访问系统资源,包括文件系统、应用程序数据库和系统设置。从系统状态确定奖励信号有几个好处。它是高度精确的,因为应用程序的状态可以使用与应用程序本身相同的机制来快速检查和操作。使用底层系统状态比匹配表面的UI更改要持久得多。”

归根结底还是要用adb,不可能不用的啦。

同时本片工作还结合了miniwob,并将其命名为mobileminiwo++。每个mobileminiwo++任务使用标准ANDROIDWORLD接口实例化,继承自TaskEval基类,并包含initialize state和is successful等方法。由于miniwo++利用JavaScript进行任务配置和成功检测,文章构建了一个WebView应用程序来在Python和应用程序之间进行通信。例如,每个任务的is_success()函数通过Android意图从WebView应用程序中检索奖励值。

下面介绍一下本文使用的模型:

我们为Android开发了一个多模式自主代理M3A。它是zero-shot,集成了ReActstyle[72]和reflection style[49]的提示,以消费用户指令和屏幕内容,推理,采取行动,并根据其行动的结果更新其决策

在第一阶段,M3A生成一个以JSON表示的操作,并对该操作进行解释(当然模型有收到截图,边界标记和UI结构树)。文章还做了一个纯文本版本的。代理每做一个动作或者是观察了当下成功或失败的情况都要做出解释。

(好家伙,都用的付费模型,没用过自己的)

“我们观察到,在应用筛选启发式删除不可交互元素后,大多数屏幕包含的候选元素少于50个。”

agent目前暴露出的问题:

“代理很难理解移动ui,通常无法检测到完成任务所必需的视觉线索(参见图6a)。此外,智能体与特定的UI模式和功能支持作斗争,当它们犯推理错误时(参见图6b),它们通常缺乏像人类一样探索和适应的能力(参见图6c)。此外,智能体有时难以处理仅仅涉及确认系统状态的任务,例如确认WiFi是否打开,这表明在任务和屏幕理解方面都存在挑战。”

而且模型定位能力堪忧,记性也不好。大模型动作还很慢。

后续实验发现修改任务的参数对模型的性能有很大影响。可见模型有不确定性,模型自己的鲁棒性不强。

相关文章:

ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习

这个任务是基于androidenv的。这个环境之前学过,是一个用来进行强化学习的线上环境。而这篇文章的工作就是要给一些任务加上中间的奖励信号。这种训练环境的优点就是动态,与静态的数据集(比如说我自己的工作)不同,因此…...

Docker 常用命令详解(详细版)

Docker 是一个开源的容器化平台,它使得开发人员可以打包应用程序及其所有依赖项,并在任何环境中运行。Docker 提供了简单而强大的命令行工具来管理容器、镜像、网络等。本文将详细介绍 Docker 的常用命令及其使用方法。 1. 安装 Docker 在使用 Docker …...

【网络安全 | 甲方安全建设】分布式系统、Redis分布式锁及Redisson看门狗机制

未经许可,不得转载。 文章目录 分布式系统分布式系统的核心特性分布式系统的典型架构分布式锁概念Redis 分布式锁原理互斥性锁释放锁的唯一性具体实现Redisson分布式锁分布式系统 分布式系统是一种由多台计算机(节点)组成的系统,这些节点通过网络相互连接并协同工作,共同…...

「QT」几何数据类 之 QLineF 浮点型直线类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…...

Treeland 技术揭秘,如何使得 DDE 纵享丝滑?

近日,deepin(深度)社区亮相COSCon24 第九届中国开源年会开源市集,且社区资深桌面研发工程师张丁元为大家来了《Treeland,DDE进步的阶梯》技术分享。 就着这个机会,今天就让我们一起来聊聊如何在追求华丽动…...

快速了解SpringBoot 统一功能处理

拦截器 什么是拦截器: 拦截器是Spring框架提供的重要功能之一,主要进行拦截用户请求,在指定方法前后,根据业务需求,执行预先设定的代码。 也就是说,允许开发⼈员提前预定义⼀些逻辑,在⽤⼾的请求响应前后执⾏.也可以…...

C++区分数组的引用和引用的数组

void f(int (&arr)[10]) {//正确} void f1(int &arr[10]) {//不允许使用引用的数组} [](数组下标运算符)的优先级高于&(取地址运算符)。所有表达式&arr[i]等价于&(arr[i]) 引用的数组 一个包含引用的数组&…...

【harbor】离线安装2.9.0-arm64架构服务制作和升级部署

harbor官网地址:Harbor 参考文档可以看这里:部署 harbor 2.10.1 arm64 - 简书。 前提环境准备: 安装docker 和 docker-compose 先拉arm64架构的harbor相关镜像 docker pull --platformlinux/arm64 ghcr.io/octohelm/harbor/harbor-regist…...

ESLint 使用教程(五):ESLint 和 Prettier 的结合使用与冲突解决

前言 在现代前端开发中,代码质量与代码风格的统一是两个非常重要的方面。良好的代码质量能减少 bug 的产生,而统一的代码风格则能提高团队协作的效率。为了实现这两个目标,我们通常会使用一些工具。 为了保证代码的可读性和维护性&#xff0…...

uniApp之uni-file-picker使用踩坑

标题党~也不算坑吧 就是初体验 上传是需要存储一下子的,我以为uniApp是自己免费开的服务给大家中转使用,就没管这个事,但是官网是这么说的: 就我是怎么发现的,使用了一段时间后,上传的图片都裂了&#xff…...

【C语言】。末尼

用js写一个冒泡排序 当然可以。在JavaScript中&#xff0c;你可以使用递归的方式来实现冒泡排序算法。这是一个简单的示例&#xff1a; function bubbleSort(arr) { let len arr.length; if(len < 1){ return arr; // 如果数组只有一个元素或为空&#xf…...

【鉴权】深入解析 Token:身份认证的核心技术

目录 引言一、Token 的定义与概念1.1 Token 是什么&#xff1f;1.2 无状态性与自包含性1.3 Token 的工作流程1.3.1 基本工作流程1.3.2 工作流程图示 二、Token 的常见用途2.1 用户身份验证2.2 授权控制2.3 防止跨站请求伪造&#xff08;CSRF&#xff09;2.4 跨域认证 三、Token…...

FastReport将停止 .NET Framework 上的 WebReport 更新

从2024/ 12 /1 日起&#xff0c;Fastreport将停止发布更新和提供对 FastReport.Web (.NET Framework) 的技术支持。该库一直是使用 Online Designer 的许多项目中报告的核心。这些更改意味着 FastReport.Web (Legacy) 库&#xff08;FastReport.Net包的一部分&#xff09;将不再…...

面试:TCP、UDP如何解决丢包问题

文章目录 一、TCP丢包原因、解决办法1.1 TCP为什么会丢包1.2 TCP传输协议如何解决丢包问题1.3 其他丢包情况&#xff08;拓展&#xff09;1.4 补充1.4.1 TCP端口号1.4.2 多个TCP请求的逻辑1.4.3 处理大量TCP连接请求的方法1.4.4 总结 二、UDP丢包2.1 UDP协议2.1.1 UDP简介2.1.2…...

在Ubuntu下安装RabbitMQ、添加一个新的登录用户并设置密码

在Ubuntu下安装RabbitMQ、添加一个新的登录用户并设置密码 在Ubuntu下安装RabbitMQ可以按照以下步骤进行&#xff1a;步骤 1: 更新系统步骤 2: 安装Erlang步骤 3: 添加RabbitMQ仓库步骤 4: 更新APT索引并安装RabbitMQ步骤 5: 启动RabbitMQ服务步骤 6: 检查RabbitMQ状态步骤 7: …...

HTTPS通信和TCP通信有什么不一样

HTTPS通信和TCP通信的主要区别如下&#xff1a; ‌协议层次‌&#xff1a;HTTPS是应用层协议&#xff0c;建立在HTTP协议之上&#xff0c;并增加了SSL/TLS加密层&#xff1b;而TCP是传输层协议&#xff0c;提供可靠的数据传输服务。‌安全性‌&#xff1a;HTTPS通过SSL/TLS加密…...

Kafka 的一些问题,夺命15连问

kafka-中的组成员 kafka四大核心 生产者API 允许应用程序发布记录流至一个或者多个kafka的主题&#xff08;topics&#xff09;。 消费者API 允许应用程序订阅一个或者多个主题&#xff0c;并处理这些主题接收到的记录流 StreamsAPI 允许应用程序充当流处理器&#xff08;s…...

unity3d————延时函数

1.public void InvokeRepeating(string methodName, float time, float repeatRate); 延迟重复执行函数 InvokeRepeating 参数一&#xff1a;函数名字符串 参数二&#xff1a;第一次执行的延迟时间 参数三&#xff1a;之后每次执行的间隔时间 注意&#xff1a; 1-1.延时函数第…...

计算机学生自我提升方法——善用搜索引擎

计算机学生自我提升方法——善用搜索引擎 在信息爆炸的时代&#xff0c;计算机专业的学生如何有效地自我提升&#xff1f;答案可能就藏在一个简单却强大的工具——搜索引擎中。搜索引擎不仅是获取知识的入口&#xff0c;更是解决问题的利器。下面&#xff0c;我将分享一些善用…...

游戏引擎学习第一天

视频参考: https://www.bilibili.com/video/BV1zGDCYHErA/ 创建一个保存项目的路径 VS的安装略过&#xff0c;个人自行百度 1. vs 创建第一个CMAKE的窗口项目 game.cpp 修改如下的代码 到https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-winmain 去…...

uni-app view循环绑定click和 v-if

<view class"layout-wrap-item" v-for"(item, index) in menuItems" :key"index" click"item.clickHandler" :v-if"showMenu(item)"></view> const xxx (id) > { }; // 定义菜单项数组 const menuItems …...

Redis 高并发分布式锁实战

目录 环境准备 一 . Redis 安装 二&#xff1a;Spring boot 项目准备 三&#xff1a;nginx 安装 四&#xff1a;Jmeter 下载和配置 案例实战 优化一&#xff1a;加 synchronized 锁 优化二&#xff1a;使用 redis 的 setnx 实现分布式锁 优化三&#xff1a;使用 Lua 脚本…...

关于elementui el-radio 赋值问题

今天遇到这样的问题&#xff1a; 点击的时候&#xff0c;同时选中 照抄官网&#xff01; 后来发现了问题&#xff1a; 也就是说如果你的版本太低&#xff0c;就不能用value&#xff0c;而得用label&#xff0c;于是修改 <el-radio-group v-model"searchTime"&g…...

2024-11-6----Android 11(全志713m)----- 关于添加 Selinux 权限

需求 节点: /sys/devices/platform/motor0/motor_ctrl上层 APP 使用 JNI 需要对该节点进行 echo 的操作,操作失败。 添加前的验证工作 adb 进去验证下,如下图所示: 发现权限不够。su 以后再操作是OK的,如下图: 添加前的修改 为防止报权限错误,直接给777,因为该…...

shodan5(泷羽sec)

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章。 笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 这节课旨在扩大自己在网络安全方面的知识面&#xff0c;了解网络安全领域的见闻&#xff0c;了…...

【Linux】Ansible集中化运维工具(详解)安装、常用模块、playbook脚本

文章目录 一、Ansible安装及远程控制1、关闭防火墙和SELinux2、安装ansible3、配置SSH无密码登录1、在管理机上生成一对密钥2、将公钥下发到远程主机3、保管密钥 4、主机目录 二、常用模块1、setup模块2、copy模块3、file模块4、shell模块5、script模块6、ping模块7、group模块…...

惠州石湾DELL T130服务器黄灯不开机案例

惠州石湾一个朋友反馈一台DELL PowerEdge T130 塔式服务器故障为 通电后无法开机&#xff0c;前面同时亮3个故障灯。闪电灯&#xff0c;电压灯&#xff0c;高温灯 1&#xff1a;这种情况建议大家更换一个同型号的电源进行故障排除。 2&#xff1a;朋友把该服务器硬件最小化测…...

⭐SmartControl: Enhancing ControlNet for Handling Rough Visual Conditions

目录 0 Abstract 1 Motivation 2 Related Work 2.1 Text-to-Image Diffusion Model 2.2 Controllable Text-to-Image Generation 2.3 ControlNet 2.4 Control Scale Exploration 3 Method 3.1 Framework 3.2 Control Scale Predictor 3.3 Unaligned Data Constructi…...

wordpress站外调用指定ID分类下的推荐内容

在WordPress中&#xff0c;如果你想从站外调用指定ID分类下的推荐内容&#xff0c;你可以使用WordPress REST API来实现。以下是一个基本的步骤指南&#xff1a; 1. 启用REST API 确保你的WordPress站点已经启用了REST API。大多数现代WordPress版本默认启用此功能。 2. 获取…...

Ente: 我们的 Monorepo 经验

原文&#xff1a;manav - 2024.10.29 九个月前&#xff0c;我们切换到了 monorepo。在此&#xff0c;我将介绍我们迄今为止的切换经验。 这并不是一份规范性的建议&#xff0c;而是一个经验的分享&#xff0c;目的是希望能够帮助其他团队做出明智的决策。 与大多数岔路不同&…...

网站开发与建设会计分录/郑州网站营销推广

linux系统的文件架构和linux系统中的二级目录详解 linux系统的文件架构 linux系统是一个倒树型结构&#xff0c;最大的目录是/&#xff0c;叫做根目录通俗的说&#xff1a;linux的结构是一棵树&#xff0c;根目录"/"是根&#xff0c;其他目录和文件都挂在树上&…...

去哪个网站可以接单做ps等等/网站制作价格

wzb网易游戏高级开发工程师&#xff0c;现主要负责 CMDB 的前端开发工作背景 随着业务的发展&#xff0c;项目下的各种资源会越来越多&#xff0c;越来越复杂。如何提供一种让用户快捷查看全局资源与模型关联关系的能力呢&#xff1f;资源拓扑图便是一种很好的方式。本文将尽量…...

做app模板网站有哪些/免费做网站怎么做网站链接

当然可以!这是一个使用辗转相除法来求最大公约数的 Java 程序示例: public class GCD {public static void main(String[] args) {int a = 24;int b = 36;int gcd = findGCD(a, b);System.out.println("最大公约数是:" + gcd);}...

网站怎么做现场直播视频/抖音网络营销案例分析

1.1 Jenkins是什么&#xff1f; Jenkins是一个强大应用程序&#xff0c;该程序能跨平台对项目能持续集成、持续管理。于此同时&#xff0c;它是一个能处理任何构建或持续集成的开源工具。用户可以把大量的testing和deploym技术集成在Jenkins上。在该学习笔记里&#xff0c;我将…...

wordpress js css压缩/网站策划报告

REST 1、简单介绍 REST&#xff1a;即 Representational State Transfer&#xff0c;(资源)表现层状态转化。是目前最流行的一种互联网软件架构&#xff0c;它结构清晰、符合标准、易于理解、扩展方便&#xff0c;正得到越来越多的网站的使用。 它是面向资源的&#xff0c;而资…...

电子行业网站/百度入口网址

一般情况下&#xff0c;源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译&#xff0c;也就是对一部分内容指定编译的条件&#xff0c;这就是“条件编译”。有时&#xff0c;希望当满足某条件时对一组语句进行编译&#xff0c;而当条件不满…...