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是否打开,这表明在任务和屏幕理解方面都存在挑战。”

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

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

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

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

相关文章

【Android】轮播图——Banner

引言 Banner轮播图是一种在网页和移动应用界面设计中常见的元素,主要用于在一个固定的区域内自动或手动切换一系列图片,以展示不同的内容或信息。这个控件在软件当中经常看到,商品促销、热门歌单、头像新闻等等。它不同于ViewPgaer在于无需手…

容器化技术入门:Docker详解

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 容器化技术入门:Docker详解 容器化技术入门:Docker详解 容器化技术入门:Docker详解 引言 Doc…

AssertionError: weight model.layers.0.self_attn.q_proj.weight does not exist

通义千问2.5-7B-Instruct-AWQ量化,但在npu上运行报上面错误,奇怪?: Exception:weight model.layers.0.self_attn.q_proj.weight does not exist AssertionError: weight model.layers.0.self_attn.q_proj.weight does not exist https://…

【SSL-RL】自监督强化学习:随机潜在演员评论家 (SLAC)算法

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…

怎么启动python脚本文件

创建一个简单的python入门代码,以便示范。 存储文件并复制该python文件的存储路径。 使用cd 命令切换工作目录到python文件所在的目录。 输入变量环境中的python路径和python文件的名字。 回车执行后,可完成命令行的python文件运行。

DDei在线设计器V1.2.42版发布

V1.2.42版 新特性: 1.快捷编辑框可以映射到主控件的多个属性上,从而实现快速编辑。 2.跟随图形的支持范围增加,从仅支持线控件到支持所有控件 2.新增控件双击回调函数EVENT_CONTROL_DBL_CLICK,可以用于覆盖默认的快速编辑逻辑…

信息安全工程师(78)网络安全应急响应技术与常见工具

前言 网络安全应急响应是指为应对网络安全事件,相关人员或组织机构对网络安全事件进行监测、预警、分析、响应和恢复等工作。 一、网络安全应急响应技术 网络安全应急响应组织 构成:网络安全应急响应组织主要由应急领导组和应急技术支撑组构成。领导组负…

网络安全之SQL初步注入

一.字符型 平台使用pikachu $name$_GET[name]; ​ $query"select id,email from member where username$name"; 用户输入的数据会被替换到SQL语句中的$name位置 查询1的时候,会展示username1的用户数据,可以测试是否有注入点(闭…

Gradle命令编译Android Studio工程项目并签名

文章目录 gradlew命令gradlew编译debug apkgradlew编译release apkapksigner签名apkgradlew注意事项 gradlew命令 gradlew 是一个脚本文件,它允许你在没有全局安装 Gradle 的情况下运行 Gradle 构建。这个脚本在多平台上可用,对于 Windows 系统来说是 g…

B2B订货系统功能设计与代码开发(PHP + MySQL)

在B2B(Business to Business)电子商务中,企业之间的商品订购、交易和供应链管理是核心功能。一个高效的B2B订货系统可以帮助企业管理库存、订单、采购等业务流程。本文将介绍一个基于PHP与MySQL技术栈的B2B订货系统的功能设计与开发流程。 一…

增删改查基础项目总结

上篇中主要负责后端部分完成了一个简单的学习辅助系统部分界面,主要针对增删改查进行了练习,过程中遇到了一些细节上的问题以及当时做的时候去查阅的一些之前没有太注意到的额外知识,所以还需要进行进一步梳理,像登录校验的方法以…

【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作

目录 一、安装Zookeeper 二、配置Zookeeper集群 三、Zookeeper服务的启动与关闭 四、Zookeeper的shell操作 前情提要:延续上篇【Hadoop和Hbase集群配置】继续配置Zookeeper,开启三台虚拟机Hadoop1、Hadoop2、Hadoop3,进入终端&#xff0c…

智能社区服务小程序+ssm

智能社区服务小程序 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了智能社区服务小程序的开发全过程。通过分析智能社区服务小程序管理的不足,创建了一个计算机管理智能社区服务小程序的方案。文…

【C++】vector模拟实现、迭代器失效问题(超详解)

vector会使用之后我们来模拟实现一下,通过对vector的模拟实现,我们来说一下迭代器失效问题。 1.准备工作 在头文件vector.h里声明和实现函数,然后在test.cpp里测试代码的正确性。 在vector.h中用命名空间分隔一下,因为c库里面也有…

前端学习八股资料CSS(一)

🤔🤔宝子们,好久不见啊!今日继续分享前端八股笔记,好多友友们觉得笔记对于自己学习复习或面试复习或平时加强知识非常有用,收到了大家的好评,谢谢大家的喜欢,我会坚持继续更新的&…

【进阶】Stable Diffusion 插件 Controlnet 安装使用教程(图像精准控制)

Stable Diffusion WebUI 的绘画插件 Controlnet 最近更新了 V1.1 版本,发布了 14 个优化模型,并新增了多个预处理器,让它的功能比之前更加好用了,最近几天又连续更新了 3 个新 Reference 预处理器,可以直接根据图像生产…

小程序源码-模版 100多套小程序(附源码)

一、搭建开发环境 搭建环境可以从这里开始: 微信小程序从零开始开发步骤(一)搭建开发环境 - 简书 二、程序示例 1、AppleMusic https://download.csdn.net/download/m0_54925305/89977187 2、仿B站首页 https://download.csdn.net/downlo…

【Python-AI篇】K近邻算法(KNN)

0. 前置----机器学习流程 获取数据集数据基本处理特征工程机器学习模型评估在线服务 1. KNN算法概念 如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中大多数属于某一个类别,则该样本也属于这一个类别 1.1 KNN算法流程总…

Deepin 系统中安装Rider和Uno Platform

1、在系统的中断命令行中输入如下命令,安装.NET 8环境。 wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.debsudo apt-get updatesudo apt-get insta…

[OpenGL]使用OpenGL实现硬阴影效果

一、简介 本文介绍了如何使用OpenGL实现硬阴影效果,并在最后给出了全部的代码。本文基于[OpenGL]渲染Shadow Map,实现硬阴影的流程如下: 首先,以光源为视角,渲染场景的深度图,将light space中的深度图存储…