DeepRL · 2021年02月18日

【DeepMind】首发并开源Alchemy,一种元强化学习(meta-RL)基准环境。

报道:深度强化学习实验室
编辑: DeepRL

image.png

元学习作为一种增加强化学习的灵活性和样本效率的方法,科研学者对此的关注兴趣迅速增长。然而,该研究领域中的一个问题是缺乏足够的基准测试任务。通常,过去基准的基础结构要么太简单以至于无法引起兴趣,要么就太不明确了以至于无法进行有原则的分析。在当前的工作中,DeepMind科学家介绍了用于元RL研究的新基准:Alchemy,该基准是将结构丰富性与结构透明性相结合。它是在Unity中实现的3D视频游戏,涉及潜在的因果结构,该过程都经过程序重新采样,从而提供了结构学习,在线推理,假设测试以及基于抽象领域知识的动作排序。并在Alchemy上评估了一对功能强大的RL方法,并对这些方法进行了深入分析。结果清楚地表明,Alchemy作为元RL的挑战性基准提供了验证。

image.png

一种有前途的方法是元学习或学习学习(learning to learn)。这里的想法是,学习者可以从大量的经验中获得可用于目标的知识,并且随着知识的积累,学习者可以越来越快地适应遇到的每个新任务。在深度RL中开发元学习方法的兴趣迅速增长。尽管在“元强化学习”方面取得了实质性进展,但由于缺乏基准测试任务,这一领域的研究受到了阻碍。在当前的工作中,作者旨在通过引入(和开源)Alchemy(一种有用的meta-RL基准环境)以及一套分析工具来缓解此问题。

为了进行元学习,环境必须向学习者提供的不是单一任务,而是一系列任务或一系列任务,所有这些任务都有一些共同的高级特征。以前关于meta-RL的工作通常依赖于任务分布,这些任务分布要么是有趣的(例如强盗任务),要么是有趣的(例如,Atari游戏),而没有兴趣。Alchemy旨在提供两全其美的体验。

Alchemy是在Unity中实现的单人视频游戏。玩家可以看到桌子上的第一人称视角,桌子上有许多物体,包括一组彩色的石头,一组装有彩色药水的盘子和一个中央大锅。石头具有不同的点值,并且在将石头添加到大锅中时会收集点。通过将石头浸入魔药中,玩家可以改变石头的外观,从而改变它们的价值,从而增加可赢得的分数。

image.png

但是,Alchemy也涉及到一个至关重要的陷阱:每次玩游戏时,控制药水如何影响石头的“化学作用”都会改变。熟练的演奏者必须执行一组有针对性的实验,以发现当前化学反应的原理,并使用这些实验的结果来指导战略行动序列。在多轮Alchemy中学习如何做到这一点,正是meta-RL的挑战。
image.png
Alchemy具有“有趣”的结构,从某种意义上讲,它涉及潜在的因果关系组成的集合,并且需要策略性实验和动作排序。但是Alchemy的结构也是“可访问的”,因为游戏级别是根据明确的生成过程创建的。

image.png
通过创建可访问生成过程的贝叶斯最优求解器,这种可访问性使我们能够确定Alchemy中的最佳元学习性能。这种最佳试剂提供了宝贵的金标准,可与任何深层RL进行比较。

作为Alchemy的首次应用,作者将其介绍给了两种功能强大的深层RL智能体(IMPALA和V-MPO)。正如我们的论文中详细介绍的那样,尽管这些智能体在许多单任务RL环境中都表现良好,但在Alchemy中,它们都显示出非常差的元学习性能。即使经过大量的训练,两位特工的行为也仅反映了对任务的表面“理解”-本质上是将石头随机浸入药水中,直到碰巧产生了很高的石头价值。通过一系列详细的分析,我们能够确定元学习的失败不仅是由于3D环境的视觉运动挑战,也不是为了实现目标而对动作进行排序的难度。相反,智能体的糟糕表现特别反映了结构学习和潜伏状态推理的失败,这是元学习所涉及的核心功能。

image.png
640.png
image.png
开源代码初始化应用:

$ git clone https://github.com/deepmind/dm_alchemy.git$ pip install wheel$ pip install --upgrade setuptools$ pip install ./dm_alchemy# To also install the dependencies for the examples/, install with:$ pip install ./dm_alchemy[examples]

Once dm\_alchemy is installed, to instantiate a dm\_env instance run the following:

import dm_alchemyLEVEL_NAME = ('alchemy/perceptual_mapping_'              'randomized_with_rotation_and_random_bottleneck')settings = dm_alchemy.EnvironmentSettings(seed=123, level_name=LEVEL_NAME)env = dm_alchemy.load_from_docker(settings)

Blog: https://deepmind.com/research...

Github: https://github.com/deepmind/dm\_alchemy

Paper: https://arxiv.org/pdf/2102.02...

推荐阅读

专注深度强化学习前沿技术干货,论文,框架,学习路线等,欢迎关注微信公众号。
深度强化学习实验室.png
更多深度强化学习精选知识请关注深度强化学习实验室专栏,投稿请联系微信 1946738842.
推荐阅读
关注数
2945
内容数
56
专注深度强化学习前沿技术,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息