当前位置: 首页 > news >正文

百度PaddlePaddle再获新技能 智能推荐、对话系统、控制领域都能搞定!

引言:人工智能技术越来越广泛的应用于各行各业,而这一切都离不开底层深度学习框架的支持。近日,百度深度学习PaddlePaddle正式发布了强化学习框架PARL,同时开源了基于该框架,在NeurIPS 2018强化学习赛事中夺冠的模型完整训练代码,再次向业界展示了百度在深度学习领域的技术能力。

PARL的效果如何?

PARL是基于百度 PaddlePaddle 打造的深度强化学习框架,覆盖了DQN、DDQN、Dueling DQN、DDPG、PPO等主流强化学习算法。在PARL 1.0的发布中,基于PARL实现的DDPG, DQN, PPO等算法均有覆盖,在一些经典测试问题中,如Atari Game, Mujoco等,均取得了state-of-the-art的成绩。性能相比其他平台也毫不示弱。

此外,PARL 框架支持百亿级别数据或特征的训练,基于PARL可同时通过8块GPU拉动近20000个CPU节点运算。在NeurIPS 2018赛事中将需要近5个小时迭代一轮的PPO算法加速到不到1分钟,相对单机运算加速比高达几百倍。与现有开源强化学习工具和平台相比,PARL框架具有更高的可扩展性、可复现性和可复用性,支持大规模并行和稀疏特征,能够快速完成对工业级应用案例的验证。

在NeurIPS 2018强化学习赛事中PRAL的使用脱颖而出,击败了400多支来自全球各个研究机构的参赛队伍,获得冠军的最关键因素是,PARL框架在算法上采用了独特的网络结构,特征处理、奖励值工程、探索策略以及学习方法。其中比较重要一点是用了课程学习(Curriculum Learning)来学习一个比较好的初始步态。而在架构方面,受到GA3C启发,所设计的DDPG并行结构直接达到了单机性能的几百倍,使得深度强化学习框架PARL的调研效率大大提升。

PARL在哪些前沿应用发挥作用?

a. 新闻和信息推荐

近年来,信息流在研究上出现两个难点和热点,一个是列表页内的组合优化,另一个是列表页间的兴趣转移。传统推荐往往都是基于用户和单点内容之间的喜好程度来预估。现代信息推荐系统注重列表内的组合,以及列表页间的转移变化。而这两个点,都是强化学习适合的重要场景。

列表页内的优化主要是内容之间的组合,现代信息流推荐系统并不是一次只推荐一个内容,而是一次推荐多个内容。由于列表多个内容之间的相互关联会影响到用户体验,但对于

具体如何关联,却没有办法确定。虽然大家都知道多样性比较重要,但为什么重要,以及多样性到底怎么量化,目前依旧缺乏统一的认识。而列表页间的优化,针对的是用户行为的序列。用户浏览完一个列表,重新刷新,再看第二个列表,这个过程中兴趣有没有发生转移?有没有新的兴趣被激发?这两个点都涉及到长期收益问题。也就是说,不能再仅仅用当前内容的用户反馈来学习,而是得用比较长时间的收益来学习。

在列表页内组合上,PARL所提出的序列框架统一了学术界对列表页框架认识的一些模糊。根据百度发布的文章,多样性一个概念远不足以反映列表页内的关联关系。内容之间既有相互重叠,又有相互关联和促进。以往的多样性建模往往比较片面。而基于序列优化的建模方式,能够处理内容之间所有可能关联。强化学习在这中间,起到了关键的序列全局优化的作用。而百度内部在2017年底就Launch了序列优化框架,据了解,这个框架至今已经取得了不少收益。而PARL在其中充分发挥了其在大规模训练中性能的优势。

(序列生成网络 – 指针网络)

而在列表页之间的转移方面,百度内部也早已已经开展了探索。对于信息流推荐这类产品的列表间优化,强化学习面临一个难题是Variance过大,可能导致准确率下降。 学术界有不少针对这个问题的工作,但提出的方法都相对偏理想化,鲜有方法能够真正用到线上并产生收益。开发者正在基于PARL创新“Credit Assignment”这类新的算法,以更好地更接地气地解决这些问题,据悉目前已有一些进展,不远将来可能发布这些成果。

(序列生成 – 评估框架)

b. 自动导航和控制

PARL框架也将强化学习用在无人机和无人车的自动导航和避障领域。控制问题是一个经典的Delayed Reward问题,强化学习最开始也是在控制领域应用最广的。因为如果发生碰撞或者控制不好,一定不是当前一个时间步的问题,而是多个时间步的连续问题。传统的强化学习研究,都不关注成本和风险,认为灾害事件(如碰撞)可以无成本获得。但真实场景,比如无人车、无人机,则不允许有那么多的碰撞。

开发者利用很多无人车、无人机测试过程中的“安全员”这一角色,不仅为了在测试中可以保障安全,还将这些夹杂了安全员干预的、不符合传统强化学习路径的数据收集起来,作为信号来学习。该算法叫干预辅助强化学习(Intervention Aided Reinforcement Learning)(http://proceedings.mlr.press/v87/wang18a.html),它可以通过学习带干预的路径,来强化策略,使得干预可以直接被降低。基于这套算法,百度成功使得一个端到端(end-to-end)的复杂神经网络模型,能够被用于直接控制飞行器的避障,在障碍物比较密集的环境中平稳飞行。这不仅证明了强化学习被用在自动导航问题上的可能性,也为无人车的强化学习训练探索了一种方法。该方法也会在短期内开源到PARL里面,方便用户使用

总结:

在强化学习方面,百度内早在 2012 年就将在 multi-armed bandit 问题上的研究成果部署到了推荐系统中,应用于搜索、对话、推荐等产品,通过点击反馈结合在线训练的方式,动态调整探索和收益的平衡点,在降低探索风险的同时最大化推荐收益。随着PaddlePaddle在工业界的影响不断深入,未来基于PaddlePaddle深度学习框架PARL将对工业界,以及学术界的深度强化学习应用和研究起到长远的促进作用,来满足业界日趋发展旺盛的深度强化学习应用的需求,做到真正源于产业实践的深度学习框架。

转载于:https://blog.51cto.com/13970240/2349902

相关文章:

  • SSL工作原理
  • Prometheus+Grafana+kafka_exporter搭建监控系统监控kafka
  • 07.Android之多媒体问题
  • 一款链接自动说明脚本
  • JS生成指定范围内的随机数
  • Windows UDP socket recvfrom返回10054错误的解决办法
  • 关于安排
  • C#委托
  • 力扣(LeetCode)965
  • 快速上手git
  • Android开发最佳学习路线图
  • 相对友好的 AVL Tree 教程
  • oracle中sql优化读书笔记1-优化器
  • SpringBoot之devtools热部署
  • Web自动化测试框架Watir(基于Ruby) - 第2章 使用Watir写自动化测试脚本
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CSS相对定位
  • httpie使用详解
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • 当SetTimeout遇到了字符串
  • 精彩代码 vue.js
  • 如何优雅地使用 Sublime Text
  • 少走弯路,给Java 1~5 年程序员的建议
  •  一套莫尔斯电报听写、翻译系统
  • 译有关态射的一切
  • 7行Python代码的人脸识别
  • Hibernate主键生成策略及选择
  • ionic异常记录
  • postgresql行列转换函数
  • Python 之网络式编程
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​Linux·i2c驱动架构​
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (简单) HDU 2612 Find a way,BFS。
  • (九十四)函数和二维数组
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (已解决)什么是vue导航守卫
  • (转)fock函数详解
  • (转)关于pipe()的详细解析
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .Net Web项目创建比较不错的参考文章
  • .NET命名规范和开发约定
  • .Net语言中的StringBuilder:入门到精通
  • []error LNK2001: unresolved external symbol _m
  • [AIGC] 如何建立和优化你的工作流?
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [C++]Leetcode17电话号码的字母组合
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [Fri 26 Jun 2015 ~ Thu 2 Jul 2015] Deep Learning in arxiv
  • [hibernate]基本值类型映射之日期类型