Project Icon

android_env

基于Android的强化学习平台

AndroidEnv是一个将Android设备转化为强化学习环境的Python库。该平台支持在Android系统上定义自定义任务,涵盖所有Android应用。智能体通过模拟触摸屏操作与设备交互,库则处理这些操作并返回像素观察和奖励信号。AndroidEnv适用于多种研究场景,如页面滚动、邮件发送或游戏得分等任务,为强化学习研究提供了丰富的实验环境。

AndroidEnv - Android学习环境

AndroidEnv是一个Python库,将Android设备作为强化学习(RL)环境暴露出来。该库为在Android操作系统之上定义自定义任务提供了灵活的平台,包括任何Android应用程序。代理通过通用操作界面 - 触摸屏 - 与设备交互,向系统发送本地化的触摸和抬起事件。该库处理这些事件,并返回由特定任务定义提供的像素观察和奖励。例如,根据研究目的和用户如何配置任务,可能会为成功下滑页面、发送电子邮件或在游戏中获得一些分数等事件给予奖励。

tests PyPI version Downloads

索引

环境特性

AndroidEnv具有许多方面,使其成为一个具有挑战性但适合强化学习研究的环境:

  • 允许代理与全球数十亿用户每天使用的系统进行交互,AndroidEnv为RL代理提供了一个平台,可以在真实世界环境中导航、学习任务并产生直接影响。该环境包装了一个模拟的Android设备,它独立于环境运行,完全未经改变,其工作方式与人类使用的设备完全相同,暴露完全相同的功能和服务。

  • 该平台提供了几乎无限的可能任务范围,所有任务都共享一个通用的操作界面。该库促进了为任何现有或自定义构建的Android应用程序设计强化学习任务。例如,它暴露了广泛的Android游戏世界,包括纸牌游戏、益智游戏、时间反应游戏,所有这些都需要多样化的操作组合和交互类型。

  • 该环境在Android设备的实时模拟之上运行。换句话说,环境动态不会等待代理进行深思熟虑,模拟速度也无法加快。

  • 观察是屏幕上显示像素对应的RGB值集合。确切的屏幕分辨率取决于模拟设备,但通常在RL环境中会被认为相对较大。然而,用户可以选择对每个观察进行下采样。

  • 学习环境具有一个有趣的、复杂的操作空间,这是Android触摸屏界面独有的。

    • 原始的混合操作空间由表示操作位置的连续元组和确定代理是否想要触摸屏幕或抬起虚拟手指的离散信号组成。
    • 原始操作具有高度可组合性:Android UI和大多数应用程序的设计使得它们可以通过常见的触摸屏手势(如点击、滚动、滑动、捏合、拖放等)直观地导航。在AndroidEnv中仍然如此:为了触发环境中的有意义变化,代理通常必须执行精心定时和定位的原始操作序列。例如,为了导航到照片库中的下一张图片,代理必须执行滑动,多次触摸屏幕,逐渐将操作位置向右移动。因此,在大多数情况下,原始操作不会触发环境状态的变化,除非正确链接在一起形成人类手势。
    • 操作界面与观察空间密切相关,因为有意义的触摸和抬起事件通常与观察中显著对象的位置或移动共同定位或强相关。例如,屏幕上按钮的位置与触发按钮按下的操作位置一致。
    • 该库提供了灵活改变操作界面的工具,如果特定研究需要,例如离散化或硬编码手势技能。尽管如此,我们认为真正的挑战仍然在于设计能够通过复杂统一的操作界面处理大量多样化任务的代理。

入门

安装

获取AndroidEnv最简单的方法是使用pip:

$ python3 -m pip install android-env

请注意,此软件包不包含/examples

或者,您可以从git的main分支克隆存储库:

$ git clone https://github.com/deepmind/android_env/
$ cd android_env
$ python3 setup.py install

更新:该环境现在可以在Windows上运行,但请记住,这个选项没有得到很好的维护或广泛支持,因为基于Unix的系统是该项目的主要目标平台。

创建模拟器

在运行环境之前,您需要访问模拟的Android设备。有关创建虚拟Android设备的说明,请参阅模拟器指南

定义任务

然后,您需要定义代理的任务是什么。此时,代理将能够与模拟设备通信,但尚未有目标,也无法访问奖励或RL情节结束等信号。了解如何定义您自己的RL任务,或使用现有的任务定义进行训练。

加载和运行

要了解如何在AndroidEnv上运行和训练代理,请参阅这些详细说明。在这里,您还可以找到演示如何在AndroidEnv上运行随机代理、acme代理或人类代理的示例脚本。

关于

该库由DeepMind开发和维护。
您可以在Arxiv上找到技术报告,以及DeepMind网站上的介绍性博客文章

如果您在研究中使用AndroidEnv,可以使用以下BibTeX引用该论文:

@article{ToyamaEtAl2021AndroidEnv,
  title     = {{AndroidEnv}: A Reinforcement Learning Platform for Android},
  author    = {Daniel Toyama and Philippe Hamel and Anita Gergely and
               Gheorghe Comanici and Amelia Glaese and Zafarali Ahmed and Tyler
               Jackson and Shibl Mourad and Doina Precup},
  year      = {2021},
  eprint    = {2105.13231},
  archivePrefix = {arXiv},
  primaryClass = {cs.LG},
  volume    = {abs/2105.13231},
  url       = {http://arxiv.org/abs/2105.13231},
}

免责声明:这不是谷歌的官方产品。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号