阿里巴巴开源DL算法库有何过人之处?
![]()
出品大数据文摘
2002年,当被誉为“无敌少年”的19岁李世石夺得人生第一个世界时,冠军想了无数种退休的办法,但或许他才是最只有一个人没有想到这一点。方法包括使用两张 NVIDIA GeForce GTX 1080 Ti 显卡在家中与 AI 程序对战十天,然后结束游戏。
然后在淘汰赛那天,我和另一个AI程序对战。第一局我得两子,对手误判胜负。第二场比赛,我没有放弃,还是输了。第三局我得了两子,输了。我已经宣布退休了。 。
这一切的发生,只是因为2010年一家名为DeepMind的公司成立,将一项名为“强化学习”的技术引入到围棋中,围棋在西方人看来充满了古老智慧的东方游戏。
除了围棋之外,强化学习还被运用在DOTA、星际争霸等各种游戏中,打败人类,甚至让AI学会开车、叠衣服、解魔方。
然而,与其他领域相比,补习教育并没有非常统一的教育框架和适合初学者的教材。
在受疫情影响复工开学延迟的情况下,我们与阿里巴巴PAI团队合作,根据其团队的情况,推出了第三阶段开源学习算法库 EasyRL 力量训练入门课程, 任何人都可以在线学习。
阿里巴巴EasyRL开源学习算法库
近年来,研究人员利用深度神经网络与传统强化学习算法的结合来解决各种高维复杂环境中的问题,包括围棋、电子游戏、和 NP 困难组合优化问题。他取得了前所未有的成功。
同时,阿里巴巴PAI团队支持集团各业务部门在
在、、-场景、-应用强化学习算法取得了和的丰硕成果,沉淀了EasyRL,一个易于使用、可扩展、完整的强化学习算法算法库。 在电商搜索推荐场景中,传统的监督学习算法往往会优化点击率(CTR)、转化率(CVR)等。页面浏览量(PV)。阿里巴巴团队在多个场景中应用了强化学习,以提高整个搜索会话的细节指标。 例如下图所示的智能交互场景,阿里巴巴团队将用户视为一个环境,对于每个PV决策,代理应该向用户推荐哪些“提示”。行动空间是候选人的“挑战”的集合。每个“挑战”对应当前产品类别的不同属性。旨在引导用户快速明确购物需求,防止用户搜索“找不到我喜欢的商品”并进行直播。 ![]()
阿里巴巴团队专门使用DQN算法来学习选择“备用”策略。在该场景下,相比监督学习规则和算法,实现了20%和5%的CTR提升,给用户带来了更好的购物体验,从而进一步提高了转化率。 (具体建模方法请参见阿里巴巴团队的SIGIR demo:《AliISA: Creating Interactive Search Experience for E-commerce Platform》)
在实践中,强化学习往往对工程师提出比监督学习更高的要求,包括但不限于:
- 监督学习往往只需要描述计算图中的目标特征和优化器选择,而强化学习需要策略、价值函数和目标估计等多个模块的描述。
- 在分布式训练中,监督学习只需要在进程之间交换同质梯度和参数,而强化学习还需要传递更复杂格式的样本(即(状态,动作,奖励,下一个状态)元组序列)。
- 不同流派的强化学习算法在不同场景下往往各有优缺点。工程师通常需要一个相对完整的算法库来尝试和验证不同的算法。
EasyRL 旨在解决上述困难和挑战。 在易用性方面,用户可以一键运行各种算法(包括单机和分布式设置),提供清晰的界面和扁平化的界面。类的层次关系使开发人员可以轻松地重用现有模块来适应新算法。
EasyRL 提供的算法 非常全面,涵盖独立和分布式实现。下表显示了与其他开源库的比较。
o:表示支持该功能;仅提供了DQN(Rainbow)算法,而PARL和TensorForce不提供Rainbow实现。 RLGraph是一种元图实现,开发复杂,缺乏DDPG、模拟等。
其他项目缺乏良好的分布式实现。例如,OpenAI 的 Baselines 没有参与者-学习者架构;包括训练器在内,PARL 不支持 Ape-X。
有些项目只是相反层面的优化工作,比如 Uber-research/ape-x 和 Trfl。
Ray RLlib 是一个功能全面、分布式性能优异的项目,但不支持任意扩展精简进程数量。在样本输出非常快的场景下,学生就成为瓶颈。
三堂课完成强化学习,EasyRL从入门到实践
疫情期间大数据文摘携手阿里云开发者社区,邀请Dr. EasyRL开源项目的主要开发者王震,我们来想象一下课程内容。我们首先介绍EasyRL的一些特点,包括它的基本设计理念以及与其他算法库的比较。然后,介绍了基于强化学习的马尔可夫决策过程,包括它的定义、例子、价值函数和贝尔曼方程,让大家了解强化学习的基本思想。然后,在此基础上,我们接触真正的强化学习算法,包括基于值的方法、策略梯度方法等。
最后,基于EasyRL示例程序,我们将了解EasyRL设计的结构以及如何使用它进行二次开发,包括如何使用不同的强化学习算法。为了让您更进一步,我们还将教您有关 EasyRL 的 Actor-learner 架构以及如何进行分布式强化训练。
希望大家能够在疫情期间利用本次公开课充实自己或者以此为契机接触强化学习的应用和研究。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网