热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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

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


推荐阅读
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • 在斯坦福大学的公开课中,详细探讨了多变量线性回归在机器学习中的应用与解析。课程内容涵盖了多维特征的处理方法,以及如何通过多变量梯度下降算法优化模型参数,为理解和实现复杂的回归问题提供了坚实的理论基础和实践指导。 ... [详细]
  • 题目旨在解决树上的路径最优化问题,具体为在给定的树中寻找一条长度介于L到R之间的路径,使该路径上的边权平均值最大化。通过点分治策略,可以有效地处理此类问题。若无长度限制,可采用01分数规划模型,将所有边权减去一个常数m,从而简化计算过程。此外,利用单调队列优化动态规划过程,进一步提高算法效率。 ... [详细]
  • 在2020年8月19日的深度分析中,我们探讨了HTML标签中同时存在`a`标签的`href`和`onclick`属性时的触发顺序问题。此外,还讨论了如何在一个自适应高度的父级`div`中,使两个子`div`中的一个固定高度为300px,另一个自动填充剩余空间的方法。最后,文章详细介绍了JavaScript异步加载的多种实现方式,包括但不限于`async`、`defer`属性以及动态脚本插入技术,为开发者提供了丰富的技术参考。 ... [详细]
  • 首期 Cosmos SDK 中文开发者培训课程顺利落幕 ... [详细]
  • 尽管许多人认为跑步是一项简单的运动,但实际上它涉及诸多专业知识。不正确的跑步方式不仅会降低锻炼效果,还可能引发伤害。例如,穿着不合脚或过于陈旧的跑鞋,会导致足部支撑不足,增加受伤风险。此外,跑步姿势不当、热身不足、过度训练等问题也同样值得关注。本文将详细介绍七大常见跑步误区,并提供专业的改进建议,帮助跑者避免这些问题,提高运动效率和安全性。 ... [详细]
  • 在第六章中,我们将深入探讨MySQL中的多表查询技术,包括联结查询和子查询。联结查询通过将两个或多个表进行连接,基于连接条件生成结果集。常见的联结类型有内联结、外联结和全外联结。交叉联结(CROSS JOIN)虽然使用较少,但其原理是生成所有可能的组合,类似于笛卡尔积的概念。此外,子查询则是在一个查询语句中嵌套另一个查询,用于获取更复杂的数据集。本章将通过实例详细讲解这些查询方法的应用和优化技巧。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 探讨 `org.openide.windows.TopComponent.componentOpened()` 方法的应用及其代码实例分析 ... [详细]
  • 在使用关系型数据库时,通常需要通过用户名和密码进行身份验证才能访问数据。然而,MongoDB默认情况下并不强制要求这种身份验证机制,使得用户无需凭据即可访问并执行各种操作。虽然这一设计简化了初学者的上手过程,但也带来了显著的安全风险。为了提升MongoDB的连接安全性,本文将探讨多种策略与实践,包括启用身份验证、配置网络访问控制、加密通信以及定期审计安全设置,以确保数据库的安全性和数据的完整性。 ... [详细]
  • 本文深入对比了Unity HTML5与Unity 5.0在技术特性、应用场景及开发难度等方面的不同。分析指出,尽管两者均需一定的编程基础,但HTML5作为前端开发语言,对开发者的技术要求相对更高,尤其是在英语文档阅读和理解方面。相比之下,Unity 5.0更加侧重于游戏和交互式内容的视觉表现,更适合具备美术背景的开发者使用。此外,文章还探讨了两者在不同平台上的适应性和未来发展趋势。 ... [详细]
  • MVVM架构~mvc,mvp,mvvm大话开篇
    返回目录百度百科的定义:MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:ControllerPresenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模 ... [详细]
author-avatar
.
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有