可定制算法和环境,这个开源强化学习框架火了

2021 年 11 月 20 日 机器之心
机器之心报道
机器之心编辑部
强化学习框架怎么选?不如自己定制一个。

强化学习(reinforcement learning,RL)是近年来最受关注的人工智能研究方向之一,在机器人、游戏等领域应用甚广。现有的强化学习框架往往无法支持高效、定制化的训练场景的问题。

近日,GitHub 上一个名为 JORLDY 的开源、可定制强化学习(RL)框架引发关注。


项目地址:https://github.com/kakaoenterprise/JORLDY

JORLDY 的主要优点是 提供多种分布式强化学习算法,并且易于定制 。由于 JORLDY 目前还是 beta 版本,与现有框架相比存在一些不足。

开发团队表示未来将继续提高 JORLDY 的可用性。此外,他们还计划添加新的强化学习环境和算法,例如基于模型的强化学习、多智能体强化学习和元强化学习。

该开源 RL 框架具有以下特性:

  • 提供 20 + 种强化学习算法和多种强化学习环境;

  • 算法和环境可定制;

  • 可以添加新的算法和环境;

  • 使用 ray 提供分布式 RL 算法;

  • 算法的基准测试是在许多 RL 环境中进行的。


分布式架构

为了实现分布式强化学习,该项目使用 ray(允许参与者并行交互)和多进程,支持单个参与者(actor)训练、同步分布式训练和异步分布式训练。

单个参与者训练

单个参与者训练脚本中包含主进程和管理进程。在主进程中,单个智能体与环境交互以收集转移(transition)数据,并借助这些数据训练网络。在管理进程中,使用最新的网络进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示:


同步分布式训练

同步分布式训练脚本和单个参与者训练脚本类似,也是包含主进程和管理进程。在主进程中,多个参与者同时并行交互以收集转移数据,并借助这些数据训练模型。在管理进程中,用最新的模型进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示:


异步分布式训练

异步分布式训练脚本中包含交互进程、主进程和管理进程。在交互进程中,多个参与者并行交互以收集转移数据。与同步分布式训练脚本不同,每个参与者都是异步交互的。更具体地说,在异步分布式训练脚本中,参与者交互时,仅为在特定时间内已完成的参与者传输数据。在主进程中借助转移数据训练模型。在管理进程中使用最新的模型进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示。


安装与使用


安装代码如下:

git clone https://github.com/kakaoenterprise/JORLDY.git  cd JORLDYpip install -r requirements.txt
# linuxapt-get update apt-get -y install libgl1-mesa-glx # for opencvapt-get -y install libglib2.0-0 # for opencvapt-get -y install gifsicle # for gif optimize

使用以下代码开始使用 JORLDY:

cd jorldy
# Examples: python [script name] --config [config path]python single_train.py --config config.dqn.cartpolepython single_train.py --config config.rainbow.atari --env.name assault
# Examples: python [script name] --config [config path] --[optional parameter key] [parameter value]python single_train.py --config config.dqn.cartpole --agent.batch_size 64python sync_distributed_train.py --config config.ppo.cartpole --train.num_workers 8

感兴趣的小伙伴快去试试吧!

参考链接:
https://www.reddit.com/r/MachineLearning/comments/qp9bra/project_jorldy_opensource_reinforcement_learning/

详解NVIDIA TAO系列分享第2期:

基于Python的口罩检测模块代码解析——快速搭建基于TensorRT和NVIDIA TAO Toolkit的深度学习训练环境


第2期线上分享将介绍如何利用NVIDIA TAO Toolkit,在Python的环境下快速训练并部署一个人脸口罩监测模型,同时会详细介绍如何利用该工具对模型进行剪枝、评估并优化。

TAO Toolkit 内包含了150个预训练模型,用户不用从头开始训练,极大地减轻了准备样本的工作量,让开发者专注于模型的精度提升。本次分享摘要如下:
  • NVIDIA TAO Toolkit的独到特性
  • TensorRT 8.0的最新特性
  • 利用TAO Toolkit快速训练人脸口罩检测模型
  • 利用TensorRT 快速部署人脸口罩检测模型

点击 阅读原文 ,报名直播吧。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
1

相关内容

强化学习(RL)是机器学习的一个领域,与软件代理应如何在环境中采取行动以最大化累积奖励的概念有关。除了监督学习和非监督学习外,强化学习是三种基本的机器学习范式之一。 强化学习与监督学习的不同之处在于,不需要呈现带标签的输入/输出对,也不需要显式纠正次优动作。相反,重点是在探索(未知领域)和利用(当前知识)之间找到平衡。 该环境通常以马尔可夫决策过程(MDP)的形式陈述,因为针对这种情况的许多强化学习算法都使用动态编程技术。经典动态规划方法和强化学习算法之间的主要区别在于,后者不假设MDP的确切数学模型,并且针对无法采用精确方法的大型MDP。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
面向大数据处理框架的JVM优化技术综述
专知会员服务
16+阅读 · 2021年11月27日
专知会员服务
32+阅读 · 2021年9月7日
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
27+阅读 · 2020年5月25日
多智能体深度强化学习的若干关键科学问题
专知会员服务
186+阅读 · 2020年5月24日
【Texas 大学】强化学习领域的课程学习:一个框架和综述
专知会员服务
71+阅读 · 2020年3月22日
C代码写的比Codex还溜的AI神器开源
CSDN
2+阅读 · 2022年3月11日
17种深度强化学习算法用Pytorch实现
新智元
30+阅读 · 2019年9月16日
手把手教你入门深度强化学习(附链接&代码)
THU数据派
76+阅读 · 2019年7月16日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
35+阅读 · 2019年6月10日
TensorFlow 2.0深度强化学习指南
云栖社区
18+阅读 · 2019年2月1日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
7+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
13+阅读 · 2018年1月20日
VIP会员
相关VIP内容
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
7+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Top
微信扫码咨询专知VIP会员