百度正式发布PaddlePaddle深度强化学习框架PARL

去年,斯坦福大学神经生物实验室与 EPFL 联合举办了一场强化学习赛事——人工智能假肢挑战赛(AI for Prosthetics Challenge),希望将强化学习应用到人体腿部骨骼仿真模拟模型的训练。

经过激烈的角逐,最终来自百度大脑的 NLP 技术团队一举击败众多强劲对手,以9980分的成绩夺得冠军!

近日,百度正式发布在赛事夺冠中起到关键作用的深度强化学习框架  PaddlePaddle PARL,同时开源了基于该框架的 NeurIPS 2018强化学习赛事的完整训练代码。点击“阅读原文”可查看冠军解决方案。

PaddlePaddle PARL 的名字来源于 PAddlepaddle Reinfocement Learning,是一款基于百度 PaddlePaddle 打造的深度强化学习框架。PaddlePaddle PARL 凝聚了百度多年来在强化学习领域的技术深耕和产品应用经验。与现有强化学习工具和平台相比,PaddlePaddle PARL 具有更高的可扩展性、可复现性和可复用性,强大的大规模并行化和稀疏特征的支持能力,以及工业级应用案例的验证。

 

自2012年以来,百度就将在 multi-arm bandits 问题上的研究成果成功落地到推荐系统中,广泛应用于搜索、对话、推荐等产品,通过点击反馈结合在线训练的方式,动态调整探索(exploration)和收益(exploitation)的平衡点,降低探索风险的同时最大化推荐收益。近年来,百度在工业应用以及学术研究上进一步引入强化学习,落地在不仅限于凤巢、新闻 Feed 推荐等应用上,还应用在前沿的学术研究领域,例如机器人控制,通用人工智能 AGI 等。2018年,在机器人控制会议 CoRL 上,百度发表了干预强化学习机制的工作;进而在 NeurIPS 2018的强化学习赛事上击败了400多个全球研究机构的参赛队伍,首次参赛就拿下了 NeurIPS 2018强化学习赛事冠军。参赛队伍中不乏 RNN 之父创立的公司、卫冕冠军 NNAISENSE、Yandex、Intel 等强劲对手。

设计深度强化学习框架是相当具备挑战性的工作。虽然各大公司先后推出了一些强化学习框架,但截止到目前,开源社区中仍没有一个主导的 RL 框架。这其中主要的一个原因是强化学习近年来发展迅猛,新的研究方向不断涌现。当前社区中存在的开源框架虽然可以支持其中的一部分算法,但是由于技术迭代太快,之前设计的框架难以跟上最新的研究热点。

第二个原因是深度强化学习算法和应用,具有方法各异、超参难调、随机性大等特点,即便是针对同一个问题,使用同一种算法,不同的实现方式会带来极大的差异,学术界也一再强调强化学习可复现性问题。综合这些因素,要实现一个统一的模型和计算平台,是相当困难的事情。

 

PaddlePaddle PARL 在设计之初就考虑了上述提到的扩展性和可复现性的问题。从上图可以看出,PaddlePaddle PARL 通过抽象出 Model、Algorithm、Agent 等基础类帮助用户快速搭建可以和环境交互的机器人。Model 类负责强化学习算法中的网络前向计算(forward)部分,通常嵌套在 algorithm中。Algorithm 类则定义了网络的更新方式(backward)部分,通常属于一个 agent。Agent 类负责和环境进行交互,并且收集数据训练底下的 algorithm。通过这样的设计方案,PARL 保证了算法扩展性:针对同一个场景,用户想调研不同的网络结构对算法效果影响的时候,比如调研 RNN 建模或者 CNN 建模,只需要重写 model 部分即可;针对不同场景想用同一个算法调研的时候,也是只需重写 model 即可。可复现性主要体现在框架提供的 algorithm 集合上,在下一段和复用性一起结合理解。

PaddlePaddle PARL 的这种设计结构的另一个好处是高复用性。仓库内的提供了大量经典算法的例子(algorithms目录内), 包括主流的 DQN 、DDQN、Dueling DQN、DDPG、PPO 等,这些算法由于和网络结构进行了解耦(网络结构定义在 Model 类中),因此不针对特定任务,而是一个相当通用的算法抽象。用户通过 PaddlePaddle PARL 搭建强化学习算法来解决自己目前遇到的问题时,可以直接 import 这些经典算法,然后定义自己的网络前向部分即可短时间内构建出经典的 RL 算法。这种高复用性不仅极大地降低了用户的开发成本,而且由于 PARL 提供的算法内部包含完整的超参数列表,确保仓库内模型具备复现论文级别指标的能力。

下图是 PaddlePaddle PARL 的一个构建示例,展示了如何快速构建可以解决 Atari 游戏的 DQN 模型。用户只需要定一个前向网络(Model 类),然后调用框架算法集合里面的 DQN algorithm 即可构建一个经典 DQN 算法了。DQN 算法里面的繁琐的构建 target 网络,同步 target 网络参数等细节,已经包含在构建的 algorithm 里面,用户无需再特别关注。

 

PaddlePaddle PARL 基于百度内部的成熟应用开源,因此更能方便地定制大规模并行算法。通过调用简单的函数接口,用户可以将算法从单机版扩展成 GA3C、A3C、IMPALA 等并行训练架构。 PaddlePaddle PARL 对于通讯机制,数据 I/O 等也有独特的加速处理。此外,基于 PaddlePaddle 对大规模工业级排序/推荐等稀疏模型的支持能力,PARL 也能轻松扩展到百亿级别数据或特征的训练。

 

PaddlePaddle PARL 的并行能力在开源社区中处于绝对领先地位。根据百度在 NeurIPS 上做的技术分享,基于 PaddlePaddle PARL 最多可以同时通过8块 GPU 来拉动近20000个 CPU 节点运算,完全发挥整个 CPU 集群的计算潜力,在赛事中成功将需要近5个小时迭代一轮的 PPO 算法加速到了不到1分钟,实现了相对单机运算高达几百倍的加速比。这种目前开源社区中框架难以支持的并行提速,是百度拿下本次冠军的关键因素之一。

 

百度本次正式发布 PaddlePaddle PARL, 不仅在学术界引发关注,工业界也将因此受益。百度拥有在国内具有相当影响力的深度学习基础库,并积极推进 AI 生态战略。随着百度 PaddlePaddle 在工业界的影响不断深入,一个高性能、高规格的深度强化学习框架,也是满足工业界日趋发展旺盛的强化学习应用需求的必要条件。

AI 时代,用科技让复杂的世界更简单!

转载于:https://www.cnblogs.com/paddlepaddle/p/10299913.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于lvalue and rvalue

2019独角兽企业重金招聘Python工程师标准>>> lvalue :An object is a region of storage that can be examined and stored into.An lvalue does not necessarily permit modification of the object it designates: eg An array type An inc…

gitlab 使用教程

视频教程:叮~,你收到一份最全的gitlab使用说明 地址:https://www.bilibili.com/video/BV11E411x7Uv?spm_id_from333.337.search-card.all.click 目录简介1、注册、登录2、创建项目3、添加项目成员4、分支权限设置5、下载安装git6…

mssql 分页

为什么80%的码农都做不了架构师?>>> http://www.cnblogs.com/ddlink/archive/2013/03/30/2991007.html 分页问题修正 http://blog.csdn.net/wangkadm/article/details/12708005 转载于:https://my.oschina.net/macleo/blog/223782

今天体育课受伤

中午轮滑体育课,由于技术不到家(基本上还不会),一不小心就扭下去了,虽然从开始下倒到坐在地上不到1秒的时间,不过那一瞬间的记忆却特别的漫长: 先是向左倒,膝关节处感觉到了咔嚓的两…

OSAL操作系统分析(添加自定义任务)

目录事件驱动型OSAL操作系统原理分析OSAL消息收发过程向OSAL系统添加自定义任务事件驱动型OSAL操作系统原理分析 任务就是一个函数,每一个任务都要有一个函数,形成函数列表(函数指针数组) 以上就是任务处理函数,都是任…

正点原子FreeRTOS(上)

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

Vue通过build打包后 打开index.html页面是空白的

最近在build打包vue项目遇到了几个问题,如下: 1、npm run build打包项目之后,我们通常是把dist文件里面被压缩后的static文件跟index.html提交到服务器,但最近发现直接打开index.html页面是空白的,还会报几个错&#x…

centos 5.8 升级php5.1至5.3

为什么80%的码农都做不了架构师?>>> 1.先查看当前php版本 #php -v 2.升级php版本 #rpm --import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy #wget -P /etc/yum.repos.d/ http://repo.webtatic.com/yum/webtatic.repo #yum --enablere…

redis集群部署及常用的操作命令_01

简单说下自己测试搭建简单的redis集群的大体步骤: 1.首先你的有6个redis(官方说最少6个,3master,3slave),可以先在一台机器上搭建,搭建到多台上应该只需要改变启动命令即可(可能需要…

ubuntu网络环境搭建

参考:https://www.bilibili.com/video/BV1n541197rk?spm_id_from333.999.0.0 目录开发板网线直连电脑网口,电脑WIFI上网有的公司保密性强,可能要找网络管理员协助 开发板网线直连电脑网口,电脑WIFI上网 开发板一定要上电并连接到…

高级 IO(非阻塞、多路复用、异步、存储映射、文件锁)

目录非阻塞I/O阻塞I/O 与非阻塞I/O 读文件阻塞I/O 的优点与缺点使用非阻塞I/O实现并发读取I/O 多路复用何为I/O多路复用select()函数poll()函数总结非阻塞I/O 关于“阻塞”一词前面已经给大家多次提到,阻塞其实就是进入了休眠状态,交出了CPU 控制权。前…

程序员---我的读书列表

2019独角兽企业重金招聘Python工程师标准>>> 1、JAVA核心技术 2、knuth《The Art of program》四卷,辅导书《基本数学》 转载于:https://my.oschina.net/muyexia/blog/225376

用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)

(一).功能 用哈希算法: SHA1或MD5 实现用户账号和密码验证. 数据库存储实现原理是: 用户账号直接存储在数据库中,密码经过加密后再存储到数据库中. 当用户登录时,密码要经过加密后再与数据库中的实际存储密码比较,确定是否合法用户…

https网络编程——HTTP协议的简介、HTTP报文结构和代理、HTTP加速解析方法(哈希加速、协议状态机)

参考:HTTP协议的简介及其工作原理等 地址:https://qingmu.blog.csdn.net/article/details/108046553?spm1001.2014.3001.5502 目录HTTP协议的简介及其工作原理1、HTTP简介1.1、什么是超文本(HyperText)?1.2、什么是URL&#xff…

c# 2.0 Factory的实现

用C#的范型建立一个Factory模式的模板: publicstructFactoryConverter<A, B>{ public static implicit operator A(FactoryConverter<A, B> conv) { return Activator.CreateInstance<A>(); } public static implici…

https网络编程——openssl安装(两个软链接库libssl、libcrypto)、openssl命令行方式实现CA和证书、介绍SSH

参考&#xff1a;openssl安装方式&#xff08;Ubuntu下&#xff09; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/115454254?spm1001.2014.3001.5502 目录官方网站1、解压2、编译安装3、生成软连接(两个库)4、测试这是B站openssl视频教程&#xff1a;https…

[spring boot] 01 环境搭建 - 配置java和mvn环境

主要内容&#xff1a; 一、IntelliJ IDEA 安装 二、maven 安装 三、设置IDEA和mvn的关系 一、IntelliJ IDEA 安装 1.1. 下载编辑器&#xff1a;前往下载 (Ultimate和Community都是可以的&#xff0c;我一般下载前一个) 1.2. 注册码记得搜索 二、maven 安装 2.1. 下载mvn&#x…

https网络编程——HTTPS简介以及SSL协议详解

参考;HTTPS简介以及SSL协议详解 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108209248?spm1001.2014.3001.5502 目录1.HTTPS简介2.SSL协议介绍2.1、SSL协议的功能2.2、SSL协议在协议栈的位置2.3、SSL协议组成2.3.1、纪录协议的功能2.3.2、SSL记录协议的示…

D3---01基础的柱状图制作(转)

---文章转自 http://d3.decembercafe.org/index.html &#xff0c;Created by 十二月咖啡馆。 一个完整的柱形图包含三部分&#xff1a;矩形、文字、坐标轴。 首先要布置一个大小合适的 SVG 画布&#xff1a; 添加 SVG 画布 //画布大小 var width 400; var height 400;//在…

https网络编程——对称加密、非对称加密、单项加密的简单介绍

参考&#xff1a;对称加密、非对称加密、单项加密的简单介绍 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108213426?spm1001.2014.3001.5502 目录1、对称加密1.1、什么是对称加密&#xff1f;1.2、对称加密的优缺点是什么&#xff1f;1.3、常见的对称加密…