贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI

江山代有才人出,开源一波更比一波强。

就在最近,一个简洁、轻巧、快速的深度强化学习平台,完全基于Pytorch,在Github上开源。

如果你也是强化学习方面的同仁,走过路过不要错过。

而且作者,还是一枚清华大学的本科生——翁家翌,他开发了”天授(Tianshou)“平台。

没错,名字就叫“天授”。

Why 天授?

主要有四大优点:

1、速度快,整个平台只用1500行左右代码实现,在已有的toy scenarios上面完胜所有其他平台,比如3秒训练一个倒立摆(CartPole)。

2、模块化,把所有policy都拆成4个模块:

init:策略初始化。
process_fn:处理函数,从回放缓存中处理数据。
call:根据观测值计算操作
learn:从给定数据包中学习

只要完善了这些给定的接口就能在100行之内完整实现一个强化学习算法。

3、天授平台目前支持的算法有:

Policy Gradient (PG)
Deep Q-Network (DQN)
Double DQN (DDQN) with n-step returns
Advantage Actor-Critic (A2C)
Deep Deterministic Policy Gradient (DDPG)
Proximal Policy Optimization (PPO)
Twin Delayed DDPG (TD3)
Soft Actor-Critic (SAC)

随着项目的开发,会有更多的强化学习算法加入天授。

4、接口灵活:用户可以定制各种各样的训练方法,只用少量代码就能实现。

如何使用天授

以DQN(Deep-Q-Network)算法为例,我们在天授平台上使用CartPole小游戏,对它的agent进行训练。

配置环境

习惯上使用OpenAI Gym,如果使用Python代码,只需要简单的调用Tianshou即可。

CartPole-v0是一个可应用DQN算法的简单环境,它拥有离散操作空间。配置环境时,你需要注意它的操作空间是连续还是离散的,以此选择适用的算法。

设置多环境层

你可以使用现成的gym.Env:

也可以选择天授提供的三种向量环境层:VectorEnv、SubprocVectorEnv和RayVectorEnv,如下所示:

示例中分别设置了8层和100层环境。

建立网络

天授支持任意用户自主定义的网络或优化器,但有接口限制。

以下是一个正确的示例:

设置策略

我们使用已定义的net和optim(有额外的策略超参数)来定义一个策略。下方我们用一个目标网络来定义DQN算法策略。

设置收集器

收集器是天授的关键概念,它使得策略能够高效的与不同环境交互。每一步,收集器都会将该策略的操作数据记录在一个回放缓存中。

训练

天授提供了训练函数onpolicy_trainer和offpolicy_trainer。当策略达到终止条件时,他们会自动停止训练。由于DQN是无策略算法,我们使用offpolicy_trainer。

训练器支持TensorBoard记录,方法如下:

将参数writer输入训练器中,训练结果会被记录在TensorBoard中。

记录显示,我们在几乎4秒的时间内完成了对DQN的训练。

保存/加载策略

因为我们的策略沿袭自torch.nn.Module,所以保存/加载策略方法与torch模块相同。

观察模型表现

收集器支持呈现功能,以35帧率观察模型方法如下:

用你自己的代码训练策略

如果你不想用天授提供的训练器也没问题,以下是使用自定义训练器的方法。

上手体验

天授需要Python3环境。以CartPole训练DQN模型为例,输入test_dqn.py代码进行训练,其结果统计如下:

可以看出整个训练过程用时7.36秒,与开发者给出的训练时间符合。

模型训练结果如下:

作者介绍

天授的开发者:翁家翌,清华大学的在读大四本科生。

高中毕业于福州一中,前NOI选手。

大二时作就作为团队主要贡献者获得了强化学习国际比赛vizdoom的冠军。他希望能将天授平台深入开发,成为强化学习平台的标杆。开源也是希望有更多的小伙伴加入这个项目。

传送门:

PyPI提供天授平台下载,你也可以在Github上找到天授的最新版本和其他资料。

PYPI:

https://pypi.org/project/tianshou/

Github天授主页:

https://github.com/thu-ml/tianshou

作者系网易新闻·网易号“各有态度”签约作者

如何关注、学习、用好人工智能?

每个工作日,量子位AI内参精选全球科技和研究最新动态,汇总新技术、新产品和新应用,梳理当日最热行业趋势和政策,搜索有价值的论文、教程、研究等。

同时,AI内参群为大家提供了交流和分享的平台,更好地满足大家获取AI资讯、学习AI技术的需求。扫码即可订阅:

了解AI发展现状,抓住行业发展机遇

AI社群 | 与优秀的人交流

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

清华本科生开发强化学习平台「天授」:千行代码实现,性能吊打国外成熟平台,刚刚开源...相关推荐

  1. 清华自研深度学习框架「计图」开源!多项任务性能超过PyTorch

    2020-03-20 11:42:07 乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI AI框架,又来重磅中国玩家. 刚刚,清华自研的深度学习框架,正式对外开源."贵系&quo ...

  2. 家居装修平台「好好住」宣布完成 B 轮融资 家居行业闭环初现

    2018 年 3 月 7 日,家居装修平台「好好住」对外宣布近期已经完成 B 轮融资,融资金额达数千万美元,领投方为愉悦资本,包括九合创投.晨兴资本.GGV 纪源资本在内的原有董事股东全部跟投,穆棉资 ...

  3. 在线协作平台「蓝湖」完成5亿元C轮融资,多元化产品布局提升产品研发效率...

    在线协作平台「蓝湖」已于近日完成 5 亿人民币的 C 轮融资,领投方为尚未透露的某产业基金,老股东光速中国,红杉中国,金沙江创投跟投.本轮融资额将主要用于产品研发投入.市场业务团队搭建及后续品牌建设. ...

  4. KESCI 迁移学习提供「借贷风险评估」解决方案的baseline改写,XGBOOST方法+SMOTE

    迁移学习提供「借贷风险评估」解决方案 大赛简介 金融场景是算法落地的重要场景.本次练习赛,我们聚焦于「借贷风险评估」问题.探索机器学习细分领域--迁移学习,在金融场景的更多可能性,以及其实践落地. 本 ...

  5. Google提出新型学习范式「Deep Memory」,或将彻底改变机器学习领域

    图源:pixabay 原文来源:arXiv 作者:Sylvain Gelly.Karol Kurach.Marcin Michalski.Xiaohua Zhai 「雷克世界」编译:嗯~是阿童木呀.K ...

  6. 清华 NLP 实验室:AI 诗人「九歌」喊你来对对子

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | 清华NLP 编辑 | LQ 暮春时节,碰 ...

  7. 传统计算机视觉技术落伍了吗?不,它们是深度学习的「新动能」

    2019-12-24 11:40:47 选自arXiv 作者:Niall O' Mahony等机器之心编译 参与:魔王.张倩 深度学习崛起后,传统计算机视觉方法被淘汰了吗? 论文链接:https:// ...

  8. 强化学习 11 —— REINFORCE 算法推导与 tensorflow2.0 代码实现

    在上篇文章强化学习--Policy Gradient 公式推导介绍了 Policy Gradient 的推导: ∇ θ J ( θ ) ≈ 1 m ∑ i = 1 m R ( τ i ) ∑ t = ...

  9. 阿里系的企业协同办公平台——「语雀」

    「语雀」是一个「知识创作与分享工具」,孵化自 蚂蚁金服 ,是 体验科技 理念下的一款创新产品,已是 5万+ 阿里员工进行文档编写.知识沉淀的标配.一开始,我们只是希望给工程师提供一个写技术文档的 We ...

最新文章

  1. js svg语音波动动画_SVG实现环形进度条的原理
  2. ZooKeeper的安装与部署
  3. ZAB 协议和Paxos 算法
  4. DVWA系列之10 命令执行漏洞的挖掘与防御
  5. samba、nginx服务
  6. 计算机应用基础精品课程申报表,计算机应用基础精品课程申报表(15页)-原创力文档...
  7. STEP 7新建梯形图程序,S7-plcsim使用
  8. jquery日历插件 途牛_为开发者准备的10款最好的jQuery日历插件
  9. DSP6678核间通信
  10. 2018-2019-1 20165320 《信息安全系统设计基础》 缓冲区溢出漏洞实验
  11. 想学习板绘?教你如何在电脑学习绘画!
  12. ios 打包 验证应用失败原因汇总
  13. python爬虫80行代码拿下喜马拉雅有声书
  14. 《2022 大数据技术与架构视频合集》附PPT和文档,限时下载
  15. mysql的一些基本常识(约束 、事务,事务隔离级别)
  16. 第四次网页前端培训(CSS)
  17. 计算机技术与应用实例教程,多媒体技术与应用案例教程(ppt).ppt
  18. 与游戏频繁挂钩的SCP是什么?
  19. oracle 开链,开链和闭链 (转载)
  20. STM32CubeMX与HAL库学习--简单的CAN回环测试

热门文章

  1. 洛谷P3779 [SDOI2017]龙与地下城(概率论+Simpson+FFT)
  2. Fiddler抓包使用教程-断点调试
  3. 【VMCloud云平台】SCO(一)规划
  4. 中国大陆开源镜像站汇总
  5. 网站设计流程图(来源于网络)
  6. linux下忘记mysql root密码
  7. POJ 3225 Help with Intervals(线段树)
  8. 吴敏霞(为奥运冠军名字作诗)
  9. msc货物跟踪查询_图川铅循货物运输安全管理系统
  10. run loop 测试