您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架
    时间:2021-08-08 08:11 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架

    研讨强化学习的你还在苦于重复造轮子吗?苦于寻觅运转环境吗?

    DeepMind给你带来了Acme框架!

    Acme是一个基于 python 的强化学习研讨框架,2020年由 Google 的 DeepMind 开源。这个框架简化了新型 RL 智能体(agent)的开发,加快了 RL 研讨的步伐。

    DeepMind 是强化学习和人工智能研讨的先行者,依据他们本人的研讨人员所说,Acme 曾经成为 DeepMind 的日常运用的框架了。

    目前Acme在Git曾经取得了超过2.1k个星星。

    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架

    Acme的学习曲线也是相当陡峭的。但由于Acme有多个不同复杂水平的接口作为切入点,也就是说,这个框架不只适用于初级研讨人员,而且允许初学者完成甚至是复杂的算法,相似于 TensorFlow 和 PyTorch 可以同时被初学者和专家所运用。

    但这个框架独一的缺陷就是,由于框架依然是相当新的,没有真正残缺的文档可用,也没有任何优秀的教程。

    针对这个成绩,伦敦政治经济学院一个博士生写了一篇教学博客,协助了解Acme框架,据作者所说,这篇教程文章并不计划成为或取代一个残缺的文档,而是对 Acme 的一个繁复、适用的引见。最重要的是,它应该让读者了解框架底层的设计选择,以及这对 RL 算法的完成意味着什么。

    Acme的基本架构

    以21点游戏(BlackJack)作为例子来引见框架。

    Acme 的智能体的运转环境没有设计与Gym运转环境交互,而是采用DeepMind 本人创立的 RL 环境 API。它们的区别主要在于时间步是如何表示的。

    幸运的是, Acme 的开发人员曾经为Gym环境提供了包装器函数。

    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架

    21点有32 x 11 x 2个形状,虽然并不是一切这些形状都能在一场比赛中实践发作,并且有两个action可选,hit或是stick。

    三个重要的角色辨别是actor, learner, 智能体agent。

    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架

    learner运用actor搜集的数据来学习或改良策略,通常采用迭代的在线方式。例如,学习能够包括更新神经网络的参数。新的参数被传递给actor,然后actor依据更新的策略停止操作。

    智能体只是复杂地将行为和学习组件结合起来,但是通常不需求完成额外的强化学习逻辑。下面的图片包含了一切三个组件。

    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架

    这种将actor、learner和agent分解的主要缘由之一是为了促进散布式强化学习。假设我们不关心这些,或许算法足够复杂,那么也可以只完成actor,并复杂地将学习步骤集成到actor的更新办法中。

    例如,下面的随机智能体承袭自 acme的Actor类。开发人员必须完成的办法是 select_action、 observe_first、observe 和 update。正如刚才提到的,后者是没有额外的learner组成部分的学习。

    留意,这个agent将以异样的方式任务,而不会子类化 acme.Actor。基类仅确定必须掩盖的办法。这还确保agent按照预期的方式与其他 Acme 组件集成,例如环境循环(environment loop)。

    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架

    这个agent运用一个随机选择hit或stick的策略,但是通常框架允许您在如何完成策略方面有很大的灵敏性。前面还会完成一个贪心的政策。

    在其他状况下,策略能够包含一个神经网络,可以运用 TensorFlow、 PyTorch 或 JAX 来完成它。在这个意义上,Acme 是框架是不可知的,可以将它与任何机器学习库结合起来。

    在更新办法中,actor通常只从learner中提取最新的参数。

    但是,假设不运用独自的学习者,那么 RL 逻辑将进入update办法。

    一个 强化学习算法通常由一个循环组成,每个循环由四个步骤组成,重复这四个步骤,直抵到达一个终止形状。

    1、察看形状

    2、依据行为策略选择下一步举动

    3、察看奖励

    4、更新策略

    Acme框架真香!用过一次后 伦敦博士撰文大赞DeepMind强化学习框架

    在大少数状况下,这个循环总是完全相反的。

    方便的是,在 Acme 中有一个快捷方式: EnvironmentLoop,它执行的步骤简直与下面看到的步骤如出一辙。只需传递环境和代理实例,然后可以运用单行代码运转单个事情或恣意多个事情。还有一些记载器可以跟踪重要的目的,比如每一个迭代采取的步骤数和搜集到的奖励。

    (责任编辑:admin)