Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!

日期:2019-07-24 11:31:25   来源:互联网   编辑:小狐   阅读人数:632
近日,Github 上开源的一个专注模块化和快速原型设计的深度强化学习框架 Huskarl 有了新的进展。该框架除了轻松地跨多个 CPU 内核并行计算环境动态外,还已经成功实现与 OpenAI Gym

近日,Github 上开源的一个专注模块化和快速原型设计的深度强化学习框架 Huskarl 有了新的进展。该框架除了轻松地跨多个 CPU 内核并行计算环境动态外,还已经成功实现与 OpenAI Gym 环境的无缝结合。TensorFlow 发布了相应的文章来报道此研究成果。

Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!(图1)

背景概述

深度学习在计算机视觉和自然语言处理等领域取得了许多最新的进展和突破。尤其是在深度强化学习这个特别的领域,我们已经看到了非凡的进展。2013 年 DeepMind 出版了用深度强化学习来玩 Atari,这个模型只通过观看屏幕上的像素,就可以学习如何玩 Atari 游戏。三年后,AlphaGo 击败了围棋世界冠军,这一举动吸引了全球观众的注意。在这之后,AlphaZero 又打破了从人类比赛中学习的规定,将自我学习推广到任何完美的信息游戏,并有效地成为围棋、国际象棋和将棋的世界冠军。Huskarl 在这样的深度学习热潮之下,有了更深入的研究进展。

模型框架

Huskarl 是一个新的开源框架,用于深度强化学习训练,专注于模块化和快速原型设计。它基于 TensorFlow 2.0 构建,并使用了 tf.keras API 以实现其简洁性和可读性。

Huskarl 与 TensorFlow 抽象出计算图的以及 Keras 创建高级模型的想法类似,它抽象出了智能体与环境的交互。这便使用户能够专注于和理解算法,同时还可以防止数据泄漏。Huskarl 可以做到与 OpenAI Gym 环境的无缝结合,其中也包括了 Atari 环境。下面是创建并可视化深度强化学习网络(DQN)智能体所需的完整代码,该智能体将学习 cartpole 平衡问题。

Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!(图2)

创建并可视化深度强化学习网络(DQN)智能体的完整代码

Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!(图3)

目前 Huskarl 支持的一些算法可以在三类可调智能体上运行。

第三类是 DDPG 智能体,它采用了变步长跟踪的深度确定性策略梯度(Deep Deterministic Policy Gradient)算法,同时在默认情况下也使用优先经验回放。DDPG 智能体专用于处理连续动作空间的问题。

Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!(图4)

Huskarl DDPG 智能体学习提升钟摆

Huskarl 可以轻松地跨多个 CPU 内核并行计算环境动态,这非常很有助于如 A2C 和 PPO 这类策略性(从多个并发经验源中学习数据)算法的加速。首先,如果要同时使用多个环境实例,我们只需为基于策略的智能体和模拟器所需数量的环境实例;将环境实例分布在多个进程上,这些进程将在可用的 CPU 内核上自动并行化;之后我们只需在调用 sim.train函数时为 max_subprocesses 参数所需的值即可,详情如下面的代码段所示。

Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!(图5)

另外需要注意的是,为每个环境实例使用不同的策略非常简单,无需单个策略对象,只需策略列表即可。

Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!(图6)

但如果在某些简单环境中,如 cartpole 环境,强行使用多个进程并行会因进程间通信成本增大而减慢训练速度。因此,只有在计算成本较高的环境下,这种多进程并行才能发挥有利的作用。

所有可运行的智能体都会依赖于每个问题规范,因此,其使用的神经网络由用户。这些神经网络是多样化的(简单、浅显、复杂、富有深度均可)智能体通常会在内部向所的神经网络添加一个或多个层,以便正确地执行它们的预期功能。此外,所有算法都充分利用了自定义 Keras 损失,使其运行能够尽可能快速与简洁。目前我们有三个示例(每个智能体一个)这些示例使用了微小的、完全连接的网络来展示智能体的功能,甚至是使用简单模型,结果也不会改变。

目前,Huskarl 支持 DQN(Deep Q-Learning Network)Multi-step DQN、Double DQN、A2C(Advantage Actor-Critic)DDPG(Deep Deterministic Policy Gradient)等算法,PPO(Proximal Policy Optimization)Curiosity-Driven Exploration 等算法仍在计划中。

Huskarl 最近进展:已支持与 OpenAI Gym 环境无缝结合!(图7)

Huskarl 支持算法列表

未来计划

我们计划加入颖的深度强化学习算法,例如近端策略优化算法(PPO,Proximal Policy Optimization)柔性致动/评价算法(SAC,Soft Actor-Critic)和双延迟深度确定性策略梯度(TD3,Twin Delayed Deep Deterministic Policy Gradient)

此外,我们还计划引入内在的奖励方法,如好奇心方法(curiosity)和赋权方法(empowerment)其目的是希望用户能够更轻松地交换和组合深度强化学习算法中的不同组件,例如经验回放、辅助奖励以及像堆叠乐高积木一样的智能体任务。同时,我们还计划在未来开源多智能体环境和 Unity3D 环境。

本文相关词条概念解析:

智能体

智能体,顾名思义:就是具有智能的实体,英文名是Agent。

环境

环境既包括以大气、水、土壤、植物、动物、微生物等为内容的物质因素,也包括以观念、制度、行为准则等为内容的非物质因素;既包括自然因素,也包括社会因素;既包括非生命体形式,也包括生命体形式。环境是相对于某个主体而言的,主体不同,环境的大小、内容等也就不同。狭义的环境,如环境问题中的“环境”一词,往往指相对于人类这个主体而言的一切自然环境要素的总和。

  • 网友评论
返回顶部