Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

从信息流推荐到控制领域,基于PaddlePaddle的强化学习框架PARL有多强?

人工智能技术越来越广泛的应用于各行各业,而这一切都离不开底层深度学习框架的支持。近日,百度深度学习 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 在哪些前沿应用发挥作用?

新闻和信息推荐

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

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

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

序列生成网络 – 指针网络

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

序列生成 – 评估框架

自动导航和控制

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 将对工业界,以及学术界的深度强化学习应用和研究起到长远的促进作用,来满足业界日趋发展旺盛的深度强化学习应用的需求,做到真正源于产业实践的深度学习框架。

飞桨PaddlePaddle
飞桨PaddlePaddle

飞桨(PaddlePaddle)是中国首个自主研发、功能完备、开源开放的产业级深度学习平台。

https://www.paddlepaddle.org
专栏二维码
工程百度PaddlePaddle深度学习框架PARL
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

无人机技术

无人机(Uncrewed vehicle、Unmanned vehicle、Drone)或称无人载具是一种无搭载人员的载具。通常使用遥控、导引或自动驾驶来控制。可在科学研究、军事、休闲娱乐用途上使用。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

百度智能云机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://www.baidu.com
推荐文章
暂无评论
暂无评论~