开发 | Intel发布开源增强学习框架Coach,多线程实现领先的增强学习算法

AI科技评论消息,日前,英特尔发布了一个新的开源增强学习框架Coach。该框架利用多核CPU处理能力,用于训练和评估增强学习Agent。Coach包含一些领先的增强学习算法的多线程实现,适用于各种游戏和机器人环境。它能够在台式计算机上高效地训练强化学习Agent,而无需任何额外的硬件。

自从2016年推出用于深层加强学习的异步方法以来,许多算法通过在许多CPU内核中并行运行多个实例,能够更快地实现更好的策略。到目前为止,这些算法包括A3C 、DDPG、PPO、DFP和NAF,而Coach不仅包括上述等最新算法的实现,更可以帮助用户现场搭建使用。

要使用Coach首先需要定义想要解决的问题,或选择一个现有问题,然后选择一套强化学习算法来解决问题。Coazh可以使用现有算法进行简单的实验,并用作沙盒(雷锋网注:沙盒是在受限的安全环境中运行应用程序的一种做法,这种做法是要限制授予应用程序的代码访问权限,便于在开发测试中的调试)以简化新算法的开发。框架定义了一组用于强化学习的API和关键组件,使用户能够轻松地重用组件,并在现有的组件之上构建新的算法。

Coach可与如OpenAI Gym、Roboschool和ViZDoom等顶级环境进行集成,同时它还提供了可视化培训过程和了解代理的基本机制的各种技术,所有的算法都是使用英特尔优化的TensorFlow来实现的,也可以通过Intel的neon™框架来实现。

Agent

Coach包含许多Agent类型的实现,包括从单线程实现到多线程实现的无缝转换。Agent以模块化方式实现,以允许重用不同的构建块来构建新的和更复杂的代理。此外,Coach可以在单个任务的基础上编写新的Agent,并切换到同步或异步的多任务实现,并进行最少的更改。

在Coach中集成了过去几年引入的各种Agent类型的实现方式,这让用户解决具有不同需求和与代理交互的方式的环境,例如连续和离散的动作空间,视觉观察空间或仅包括原始测量的观察空间。

环境

Coach使用OpenAI Gym作为与不同环境进行交互的主要工具。它还支持Gym的外部扩展,包括Roboschool, gym-extensions和PyBullet, 其环境封装器可以添加更多的自定义环境,以解决更广泛的学习问题。

可视化

Intel还发布了Coach Dashboard作为可视化和调试的补充工具。Dashboard是Coach的一个图形用户界面,通过展示训练过程中的不同信号,可以让用户以简单易懂的方式比较不同方式运行的训练质量。在训练期间,Coach可跟踪任何有意义的内部信息并存储,以便在执行期间和完成后可视化进度。

Coach还支持其他调试和可视化方法,例如存储最佳场景的GIF动画,在游戏过程中显示动作值,等等。

使用

为方便用户使用Coach,Intel已经开放了GitHub信息库,然后按照的机器上安装Coach的说明进行操作即可。Intel还提供了友好的帮助文件,在GitHub存储库README文档中有几个简单的例子,同时在官网还有一个更全面的使用和实现文档。

Coach已经准备了超过60个预定义的预设、不同的代理和可用的环境。这些预设已经用于训练数百名Agent,并经过验证以获得良好的业绩。但是,使用这些预设并不是强制性的,并且创建新的预设与选择现有代理和现有环境一样容易。

下一步,Intel计划在未来的版本中增加更多算法和环境,如果你有任何建议和评论,可以在Github上进行互动。

AI科技评论发现,目前不少巨头均推出了自己的深度学习框架,如Google 的TensorFlow、Amazon 的MxNet、Facebook的Caffe 2等。这些深度学习框架的流行降低了深度学习的门槛,让越来越多人开始参与到深度学习当中,但在降低门槛后如何提高训练的效率也成为了差异化的关键因素,这也是是多线程并行计算、多机器上的水平扩展甚至定制硬件最近开始得势的原因。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【专知评测】机器学习平台 MLflow 上手视频

【导读】MLflow是Databricks在今年6月6号开源的机器学习平台(Databricks是开发Apache Spark的大佬公司),专知小组为该平台做了...

1242
来自专栏AI研习社

2017 十大最受欢的迎机器学习 Python 库

2017 年即将结束,又到了做年终总结的时候,本文盘点了今年最受欢迎的十个 Python 机器学习库,同时在文末选出了一些值得关注的 Python 库。如果本文...

3076
来自专栏机器之心

资源 | 机器学习新框架Propel:使用JavaScript做可微分编程

2827
来自专栏吉浦迅科技

假如用多个CPU核同时控制一个GPU,并且进行运算与数据的传递,请问这能够实现么?...

问:假如用多个CPU核同时控制一个GPU,并且进行运算与数据的传递,请问这能够实现么?我的工作站是48个CPU核,两块GPU卡,打算把CPU和GPU都用起来,我...

3727
来自专栏李蔚蓬的专栏

2018.01.21.一周机器学习周记

3.根据提示,在官网下载对应的CUDA版本,下载完成后进行安装(安装之前先卸载本地的旧版本)

1111
来自专栏AI研习社

Github 项目推荐 | 用于构建端对端对话系统和训练聊天机器人的开源库 —— DeepPavlov

DeepPavlov 是一个开源的会话 AI 库,建立在 TensorFlow 和 Keras 之上,用于以下设计: NLP和对话系统研究; 实施和评估复杂的会...

5449
来自专栏python爬虫日记

有关python下二维码识别用法及识别率对比分析

 最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar 、zbarlight、zxing。

3284
来自专栏WebHub

我是如何爱上ag-grid框架的

与每个管理系统一样,我们需要选择一个网格来显示我们的数据,而我的前任已经在应用程序中使用了两个网格 -  ag-Grid(v2.7)和Ng-Table(v0.8...

5024
来自专栏CreateAMind

神经网络艺术图片效果及课程ppt

1002
来自专栏大数据挖掘DT机器学习

京东JData算法大赛-高潜用户购买意向预测(github源码)

github地址: 在公众号 datadw 里 回复 京东 即可获取。 这是一位热心的参赛者提供的一份入门程序,涵盖了数据清洗、数据(统计)分析、特征抽取、...

6275

扫码关注云+社区