引言:人工智能技术愈来愈普遍的应用于各行各业,而这一切都离不开底层深度学习框架的支持。近日,百度深度学习PaddlePaddle正式发布了强化学习框架PARL,同时开源了基于该框架,在NeurIPS 2018强化学习赛事中夺冠的模型完整训练代码,再次向业界展现了百度在深度学习领域的技术能力。html
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. 新闻和信息推荐ide
近年来,信息流在研究上出现两个难点和热点,一个是列表页内的组合优化,另外一个是列表页间的兴趣转移。传统推荐每每都是基于用户和单点内容之间的喜爱程度来预估。现代信息推荐系统注重列表内的组合,以及列表页间的转移变化。而这两个点,都是强化学习适合的重要场景。工具
列表页内的优化主要是内容之间的组合,现代信息流推荐系统并非一次只推荐一个内容,而是一次推荐多个内容。因为列表多个内容之间的相互关联会影响到用户体验,但对于性能
具体如何关联,却没有办法肯定。虽然你们都知道多样性比较重要,但为何重要,以及多样性到底怎么量化,目前依旧缺少统一的认识。而列表页间的优化,针对的是用户行为的序列。用户浏览完一个列表,从新刷新,再看第二个列表,这个过程当中兴趣有没有发生转移?有没有新的兴趣被激发?这两个点都涉及到长期收益问题。也就是说,不能再仅仅用当前内容的用户反馈来学习,而是得用比较长时间的收益来学习。学习
在列表页内组合上,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将对工业界,以及学术界的深度强化学习应用和研究起到长远的促进做用,来知足业界日趋发展旺盛的深度强化学习应用的需求,作到真正源于产业实践的深度学习框架。