英特尔Nervana发布强化学习库Coach:支持多种价值与策略优化算法
2017-10-24 20:20
489 查看
近日,英特尔 Nervana 发布了一个强化学习库 Coach,能够支持许多顶级的强化学习算法。
项目地址:http://coach.nervanasys.com
每一个智能体至少有一个神经网络作为函数近似器用于选择 action。该网络是模块化设计的以便在不同的智能体中复用。它由三个主要部分组成:
输入 Embedder(Input Embedder)- 这是网络的第一个阶段,用于将输入转换为一个特征向量表示。有可能用于组合任意支持的 embedder 的多个实例,以允许输入的多种组合。
有两种主要的输入 embedder:
图像 embedder-卷积神经网络
向量 embedder-多层感知机
中间件(Middleware)- 中间件获取输入 embedder 的输出,并在其被发送到输出头之前,转化为一个不同的表示域。中间件的目标是使处理多个输入 embedder 的组合输出成为可能,并对它们进行额外的处理。它可能是一个 LSTM 或者仅仅是一个朴素的全连接层。
输出头(Output Heads)- 输出头用于预测网络的值,可能包括行动分值(action-values)、状态值(state-values)或一个策略(policy)。输入 embedder 的功能允许在同一个网络中使用多个输出头。例如,Actor Critic 智能体组合了两个输出头,一个策略头和一个状态值头。此外,输出头能根据头类型定义损失函数。
原文文档地址:http://coach.nervanasys.com
项目地址:http://coach.nervanasys.com
什么是 Coach
动机
开发 Coach 的动机是,通过掌控多核 CPU 处理的能力来训练、评估强化学习智能体,从而获得顶尖的结果。也是为了通过模块化设计和对 API 的简洁设定,提供简化新算法开发的沙盒。解决方案
Coach 是一个 Python 环境,以一种模块化的方式对智能体与环境之间的交互建模。有了 Coach,我们就有可能通过结合不同的模块对智能体建模了,也能在不同的环境中训练智能体。可使用的环境,让我们能在不同的实务领域测试智能体,比如机器人、自动驾驶汽车、游戏等。Coach 能够收集训练过程的统计数据,并支持高级可视化技术,从而 debug 训练的智能体。Coach 的设计
网络的设计
每一个智能体至少有一个神经网络作为函数近似器用于选择 action。该网络是模块化设计的以便在不同的智能体中复用。它由三个主要部分组成:
输入 Embedder(Input Embedder)- 这是网络的第一个阶段,用于将输入转换为一个特征向量表示。有可能用于组合任意支持的 embedder 的多个实例,以允许输入的多种组合。
有两种主要的输入 embedder:
图像 embedder-卷积神经网络
向量 embedder-多层感知机
中间件(Middleware)- 中间件获取输入 embedder 的输出,并在其被发送到输出头之前,转化为一个不同的表示域。中间件的目标是使处理多个输入 embedder 的组合输出成为可能,并对它们进行额外的处理。它可能是一个 LSTM 或者仅仅是一个朴素的全连接层。
输出头(Output Heads)- 输出头用于预测网络的值,可能包括行动分值(action-values)、状态值(state-values)或一个策略(policy)。输入 embedder 的功能允许在同一个网络中使用多个输出头。例如,Actor Critic 智能体组合了两个输出头,一个策略头和一个状态值头。此外,输出头能根据头类型定义损失函数。
保持网络拷贝同步
大多数强化学习智能体包含网络的多个拷贝。这些拷贝将作为主网络的副本并以不同的速率更新,通常在本地或者在并行的工作系统中同步。为了使拷贝的同步更容易,将这些拷贝封装为简化的 API,从而可使智能体忽略背后复杂的细节。支持的算法
Coach 支持许多顶级的强化学习算法,主要可分为两类:价值优化与策略优化,如下图所示。原文文档地址:http://coach.nervanasys.com
相关文章推荐
- 详解Nervana最新开源深度强化学习库Coach,支持DQN、DDQN等十多种算法|附开源代码
- 强化学习策略梯度方法之: REINFORCE 算法
- 业界 | OpenAI提出强化学习近端策略优化,可替代策略梯度法
- SVM-支持向量机学习(7):求解SVM算法-SMO-序列最小最优化
- CUDA 学习(二十)、优化策略5: 算法
- 强化学习进阶 第八讲 确定性策略方法
- 深度学习最常用的学习算法:Adam优化算法
- 理解深度学习中的学习率及多种选择策略
- [代码发布]可逆加密,支持中文,支持密钥,支持ASP,加密后的密文每次都不同,且可随意改变算法
- DeepMind提出强化学习新算法,教智能体从零学控制
- 算法学习之路:分治策略-最大子数组-java实现
- 支持Rss,优化速度:傲游1.2.0发布
- 深度学习与神经网络-吴恩达-第二周优化算法
- cs231n 编程作业(2)学习心得——多种优化方法
- 深度学习之---各种学习率优化算法
- OpenAI详解进化策略方法:可替代强化学习
- 《深度学习Ng》课程学习笔记02week2——优化算法
- 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)
- OPENCV学习笔记3-1_算法设计中使用策略模式
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现