这是一个用于强化学习的开源环境,可以用模拟器可以用真实设备。

原本的强化学习大多都是专注于一个任务,太局限。作者提出了一个用于强化学习的,基于安卓系统的开源环境,里面啥任务都有。

但是安卓系统里面又没有奖励,怎么搞强化学习?AndroidEnv提供了一种简单的机制来定义任务。任务捕获了剧集终止条件、奖励或代理可以与之交互的应用程序等信息。这些共同定义了代理的特定RL问题。

如何定义这个任务呢?:

如何初始化环境:例如,在设备上安装特定的应用程序。

•何时应该重置轨迹:例如,在从设备或应用程序收到特定消息时,或者在达到特定时间限制时。

•事件重置时触发的事件:例如,启动给定的应用程序、清除缓存或将屏幕固定到单个应用程序(从而将代理的交互限制在该应用程序上)。

•如何确定奖励:例如,这可能取决于来自Android的不同信号,例如在应用程序中实现的Android可访问性服务或日志消息。

通过这些协议缓冲区消息,用户可以在Android上定义各种各样的任务。例如,一项任务可能是在Android标准时钟应用程序中设置闹钟,在启动时打开此应用程序,并在设置闹钟后奖励代理并结束轨迹。我们详细介绍了代码库中协议缓冲区消息结构的完整规范

作者还做了一些现成的任务:

随着AndroidEnv平台的实现,我们提供了一组初始的即用型任务。在发布时,这包括大约30个不同应用程序中的100多个任务,从目标明确的基本任务到需要长期推理的更复杂的任务。所选内容包括时间敏感任务(如接球)、基于物理的环境(如向量球)、谜题(如经典2048)、纸牌游戏(如简单石)、空间推理(如完美)、UI导航(如时钟定时器)、策略游戏(如机器人鱼)等

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部