日前,阿里启动了一项代号“NASA”的计划,动员全球两万多名科学家和工程师投身“新技术战略”,预计面向未来20年组建强大的独立研发部门,建立新的机制体制,储备核心科技。而就在不久前,阿里的强化学习技术刚刚入选MIT评选的2017全球十大突破技术榜单,科技媒体“机器之心”的记者最近对阿里巴巴研究员徐盈辉进行了专访,请他详细介绍了阿里在该技术领域的思考、布局以及对未来的判断。
以下是报道全文:
2013 年,DeepMind 在 NIPS 大会上发表的一篇深度强化学习的文章,一举惊艳了学术界。2016 年 1 月,AlphaGo 在一场围棋大赛中击败李世乭吸引全世界的目光,其背后的强大武器正是深度强化学习技术。同年年底,2016NIPS 最佳论文奖也颁给了解决深度强化学习泛化能力较弱问题的论文。
随着深度学习的突破性进展,也促使强化学习的研究前景,重新获得了产业各界的关注。2016 年 8 月,在 ACM(国际计算机学会)会刊一篇名为《强化学习的复兴》的文章中提到,「DeepMind 的成功已经吸引了学术界与商业界对 DeepMind 的方法背后的人工智能领域的兴趣。」而相对于 DeepMind 和学术界看重强化学习的前沿研究,阿里巴巴这类公司则开始将焦点放在推动「强化学习」技术输出及商业应用。
在双 11 推荐场景中,阿里巴巴使用了深度强化学习与自适应在线学习,通过持续机器学习和模型优化建立决策引擎,对海量用户行为以及百亿级商品特征进行实时分析,帮助每一个用户迅速发现宝贝,提高人和商品的配对效率。比如,利用强化学习将手机用户点击率提升了 10-20%。阿里巴巴的这一技术是如何成型的,强化学习在其中扮演了什么角色?阿里巴巴的强化学习又有哪些独到之处?带着这些问题,机器之心专访了阿里巴巴研究员徐盈辉。
徐盈辉,阿里巴巴研究员,阿里巴巴搜索事业部搜索排序和基础算法的负责人,日本丰桥技术科学大学计算机科学博士。他规划和设计了搜索新一代的排序框架体系,建立了集 offline-nearline-online 三位一体的电商平台个性化搜索体系,推动和完成了搜索实时在线计算体系的规模化和平台化,在技术的先进性和业务的推动上都取得了突破性成果。
Q:可否介绍一下,阿里在强化学习技术方向的团队、研究重点及技术特点?
徐盈辉:强化学习作为一种有效的基于用户与系统交互过程建模和最大化过程累积收益的学习方法,已经在很多技术驱动的业务团队中获得了深入研究和探索,并且在一些具体的业务场景中得以大规模应用。在阿里巴巴搜索事业部,搜索和推荐算法团队的研究重点是,电商平台下的智能化流量投放系统,消费者权益智能化分发系统。其技术特点是运用多种机器学习技术,通过用户、query、商品以及对商家的理解,来提升搜索/推荐平台的流量投放效率。
阿里巴巴 iDST(Institute of Data Science and Technologies)团队的研究重点是 multi-media 技术平台,针对平台端的多媒体内容、语音、图像、视频等,运用深度学习、强化学习等技术来提供语音识别、智能客服、图片标注分类、实拍搜索、视频分析等服务。
阿里云大数据孵化团队,研究重点是数据中心的智能化运维和调度算法,针对传统行业以及政府基于大数据技术,降低生产成本和提升服务效率。技术特点是依托阿里云的 ET 智能算法平台,快速实现智能化解决方案。
菜鸟网络的算法技术团队则是围绕物流链路的各个节点,供应链、仓配、末端网络等,通过机器学习和运筹优化等技术手段来降低商家物流成本和提升消费者物流服务体验。
Q:强化学习技术主要应用在哪些业务方向?在阿里零售网络包括物流、用户行为分析等方面扮演着怎样的角色?
徐盈辉:这个问题我回答的不一定全面,就我个人理解和判断,强化学习技术在阿里平台上能够施展手脚的业务方向还是有不少的。互联网环境下,尤其是在移动互联网中,人机交互的便捷,碎片化使用的普遍性,页面切换的串行化,用户轨迹的可跟踪性等都要求我们的系统能够对变换莫测的用户行为以及瞬息万变的外部环境进行完整地建模。平台作为信息的载体,需要在与消费者的互动过程中,根据对消费者(环境)的理解,及时调整提供信息(商品、客服机器人的回答、路径选择等)的策略,从而最大化过程累积收益(消费者在平台上的使用体验)。而基于监督学习时代的信息提供手段,缺少有效的探索能力,系统倾向于给消费者推送曾经发生过行为的信息单元(商品、店铺或问题答案)。但是真正的智能化搜索和推荐,比如客服机器人,作为投放引擎的 agent,需要有决策能力。这个决策不是基于单一节点的直接收益来确定,而是当作一个人机交互的过程,把消费者与平台的互动看成是一个马尔可夫决策过程,运用强化学习框架,建立一个消费者与系统互动的回路系统,而系统的决策是建立在最大化过程收益上,来达到一个系统与用户的动态平衡。
Q:能否介绍一下阿里是如何通过持续机器学习和模型优化建立决策引擎,对海量用户行为以及百亿级商品特征进行实时分析,帮助每一个用户迅速发现宝贝、帮助商家带来适合买家?
徐盈辉:搜索技术体系演进至今天,基本形成了 offline-nearline-online 三层体系,分工协作保证电商平台既能适应日常平稳流量中实现稳定有效的个性化搜索以及推荐,也能够去满足电商平台对促销活动的技术支持,实现在短时高并发流量下的平台收益最大化。搜索的智能化元素注入到新一代电商搜索引擎的各个环节,通过批量日志下的 offline 建模,到 nearline 下增量数据的 retraining 和 fine tuning 的无缝融合,解决了 NP 环境下的 data shift machine learning 能力问题,基本实现了搜索体系从单纯依靠机器学习模型的高效预测进行流量投放,到从不确定性交互环境中,探索目标的在线学习,预测和决策能力进化。
2014 年双 11 通过排序特征实时,引入商品实时转化率,实时售罄率模型进入搜索 match 和 rank,让售罄商品额无效曝光大幅减少,并实现了成交转化的大幅提升;2015 年双 11 推出双链路实时计算体系,在特征实时的基础上,引入排序因子的在线学习,预测,以及基于多臂机学习的排序策略决策模型,在预热期和双 11 大幅提升了搜索流量的成交转化效率;2016 年实时学习和决策能力进一步升级,实现了排序因子的在线深度学习,和基于强化学习的排序策略决策模型,从而使得淘宝搜索的智能化进化至新的高度,并在今年的双 11,分桶测试效果表明,成交金额取得了近 20% 的大幅提升。
Q:技术输出方面,双十一也是一个典型案例,能否简单介绍一下背后这套搜索系统的技术路径是怎样的?强化学习和深度学习在搜索中的应用(算法和模型)带来了哪些提升?都有哪些突破性成果?
徐盈辉:运用机器学习技术来提升搜索/推荐平台的流量投放效率是目前各大互联网公司的主流技术路线,并仍在随着计算力和数据的规模增长,持续的优化和深入。针对阿里巴巴搜索体系的实时化演进,是什么驱动我们推动搜索的智能化体系从离线建模、在线预测向在线学习和决策方向演进呢?主要有以下三点:
1.众所周知,淘宝搜索的具有很强的动态性,宝贝的循环搁置,新卖家加入,卖家新商品的推出,价格的调整,标题的更新,旧商品的下架,换季商品的促销,上下架,降价,宝贝图片的更新,销量的变化,卖家等级的提升,商品竞争程度的提升等,都需要淘宝的商品搜索引擎在第一时间捕捉到变化,并及时反映到索引结构中的相应信息单元,而在最终的排序环节,这些变化也需要及时融入匹配和排序,带来排序的动态调整。
2.从 2013 年起,淘宝搜索就进入千人千面的个性化时代,搜索框背后的查询逻辑,已经从基于原始 Query 演变为【Query+user 上下文+location+time】,搜索不仅仅是一个简单根据输入而返回内容的不聪明的「机器」,而是一个能够自动理解,甚至提前猜测用户意图,并能将这种意图准确地体现在返回结果的聪明系统。
这个系统在面对不同的用户输入相同的搜索语句时,能够根据用户的差异,展现用户最希望看到的结果。正如同人的记忆是有时效性的,我们有理由相信:越近的数据能够越准确地预测下一时刻,如用户的兴趣偏离,商品质量动态变化。在我们的环境下,用户的数据和商品的数据会产生一个联动,既对用户的兴趣进行实时刻画,而用户对商品的偏好累计会造成商品表现的变化,这些变化通过对商品的实时计算,又会反馈给更多的用户。变化是时刻发生的,商品在变化,用户个体在变化,群体、环境在变化,个体和群体的隶属关系也在动态变化。在搜索的个性化体系中合理的捕捉变化,正是实时个性化要去解决的课题。
基于监督学习时代的搜索和推荐,缺少有效的探索能力,系统倾向于给消费者推送曾经发生过行为的商品或店铺;这类问题。真正的智能化搜索和推荐,需要作为投放引擎的 agent(笔者注:智能体)有决策能力,这个决策不是基于单一节点的直接收益来确定,而是当作一个人机交互的过程,消费者与平台的互动看成是一个马尔可夫决策过程,运用强化学习框架,建立一个消费者与系统互动的回路系统,而系统的决策是建立在最大化过程收益,来达到一个系统与用户的动态平衡。
3.在 2016 年双 11,搜索技术和算法团队通力合作,首次大规模实现在线深度学习和强化学习等前沿技术,经过不断的尝试与改进,找到适合在搜索场景下可有效大规模应用的方案,对搜索排序在策略选择上做出了重大的升级,并取得了非常显著的成果。在搜索排序的 gmv 分桶总共提升高到 20+%。
Q:能否详细讲解一下,在 Reward 函数中加入先验知识势函数的原因和作用,以及和不加入势函数的比较结果?
徐盈辉:首先需要理解奖赏函数 R 的本质是什么?
奖赏函数的本质是一个状态和动作之间的数值关系。奖赏塑性函数的引入,其本质是在原有的奖赏函数中引入一些先验知识,加速强化学习算法的收敛,势函数相当于定义了学习任务的 subgoal(笔者注:子目标),引导学习算法完成 subgoal,进而完成整个学习任务的 goal。加入先验知识主要是为了加速学习过程。比方说,如果用强化学习求解迷宫问题,可以将每个状态所在位置与出口位置的 Manhattan Distance(笔者注:曼哈顿距离,几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和)作为该状态上的势函数,引导 agent 往更靠近出口的方向走。
Q:训练 DQN 的一个问题是收敛较慢甚至不收敛,在训练强化学习模型时,阿里是如何克服这个难点的?
徐盈辉:如何把深度强化学习在业务场景中调通并达到要求,在某种程度上讲是个手艺活。相比于监督学习,需要分析的变量相对复杂,要考虑状态变量、策略空间、奖赏函数等多个环节。强化学习是一个机器学习领域的重要分支,随着 DeepMind 的 AlphaGo 的一炮打响,业界兴起了强化学习研究热潮,任何问题都希望用强化学习这把个利刃砍一刀,不管问题是不是适用,自己实现的强化学习逻辑是不是正确,强化学习在整个算法逻辑层中的作用是不是显著,学习到的策略是不是到最优,有没有收敛,对于这一系列核心的问题鲜有关注。只关注最终的一个效果,实际上是有违严谨的科学精神的。在 2016 年 NIPS 大会上,John Schulman 给出一系列技巧,首先通过问题简化来验证强化学习实现逻辑的正确性,将训练过程中的关键变量可视化出来加以观察,包括状态的分布、状态转移分布、值函数变化。
另外强化学习训练过程中超参数的设置也是至关重要的,比方说 Actor-Critic 方法,如何设置合理 actor 网络和 critic 网络的学习率,一般原则是 actor 网络学习率相比于 critic 网络的学习率来的小。奖赏函数的初始化对最后的收敛速度也会有不小的影响。状态空间的归约、Reward 函数的 scale 化、策略迭代过程中,也需要有效控制策略漂移问题等等。另外就是,合理的利用基于 Replay Buffer 的 Sampling 策略和迭代训练的方式。Sampling 策略的主要目的是打破由于样本的关联性导致的策略寻优方向陷入 Local Minima(笔者注:局部极小)。另外通过几个改进的 DQN 算法,比方说,DDQN 方法通过引入两个 Q-network,一个用于选择动作,一个用于评估动作,交替执行,解决 upward-bias(笔者注:向上偏误)问题,这样犯错的概率就能大幅下降。
Q:用户的哪些行为与数据会被用于模型的训练?这些行为是如何被抽象成训练集的?
徐盈辉:用户在整个进入淘宝平台后的主动行为,输入、Query、点击、收藏、加购、购买、评论等都会作为基本的 feedback signal(笔者注:反馈信号),通过分析这些不同类型的 feedback 与平台长期优化目标的关系来刻画 Reward 函数(笔者注:奖励函数),而行为对象的 attributes(用户最近点击的商品所携带的特征(品牌、店铺、类目、价格等)和用户长期的偏好特征)作为状态会成为表征强化学习中状态的元特征,通过深度学习实现状态空间的参数化表示,对于智能体策略空间则通过日志埋点系统回流至实时数据分析和训练引擎,训练数据组织则按照马尔科夫决策过程的数据结构来组织,对于 off policy(笔者注:离策略)的强化学习模式,算法模块通过将数据组织成【s,a,r,s】】(当前状态,策略,奖赏信号,下一个状态)四元组形式,即可作为强化学习的训练数据,输入给训练模块;对于 on policy(笔者注:在策略),比方说 SASAR 的学习模式,算法模块将数据组织成【s,a,r,s】,a】】(当前状态,策略,奖赏信号,下一个状态,下一个策略)五元组形式,输入 DQN 训练模块。
Q:阿里用于训练强化学习系统的硬件资源、训练时间等情况是怎么样的?
徐盈辉:实战型强化学习系统必然要求拥有一个能够快速收集的 feedback,在线学习能力的实时计算引擎,从而能有效评估策略改进效果。阿里从 2013 年就开始着力研发基于 streaming 计算引擎的在线学习平台,发展至今天,已经初步形成了规模化的基于 Flink 计算引擎的流式智能化算法引擎,能够在秒级别完成数据采集、分析和训练,在线部署预测。这个端到端的大规模在线深度强化学习任务在 2016 年双 11 上,共处理日志量近 200 亿,处理消息量超三千亿,流式计算平台处理峰值超千万 QPS(笔者注:每秒查询率),实现 24 小时不间断无延迟运转,在线策略改进频次高达几百万次。
Q:能否谈谈目前阿里训练好的强化学习系统应用到新任务的泛化能力?
徐盈辉:搜索事业部的基础算法团队依托于 Flink 社区,自主研发了 Blink 流式计算引擎,并在此之上开发了称之为「Porsche」的大规模分布式在线学习算法框架,并基于此算法框架,自主研发了算法组件库 ai4b。目前主流的深度学习模块,DNN、CNN、RNN(笔者注:分别为深度神经网络、卷积神经网络、循环神经网络)以及强化学习模块的基本功能组件都开发完毕并投入应用,所开发的 DDPG 和 TRPO 算法适用于大规模连续状态空间,连续 action 空间下的强化学习任务,而 A3C 和 DQN 算法适用于大规模连续状态空间和离散策略空间下的强化学习任务。
Q:强化学习需要强大的深度学习网络的支持,目前阿里的深度网络达到了多少层?
徐盈辉:首先我想指出用深度网络去支撑强化学习只是一种技术手段而已,其核心目的是为了加强对于强化学习本体的输入状态和策略空间的更有效表达,而层数与参数空间和样本规模是有关系的。对于大规模连续状态,连续 action(笔者注:行动)空间下的 Q-learning,通常是通过 embedding(笔者注:嵌入)方式进行映射,而低维空间下线性组合方式会导致优化过程陷入 Local Minima,因此会考虑通过高阶非线性映射来实现状态表达和策略表达的交叉映射效果,从而有效解决局部最优解的问题。
Q:最近 GAN(生成对抗网络)与强化学习结合起来做序列形成是一个热点,您怎么看这个算法的发展前景?阿里在 GAN 这个算法方面有相关研究与进展吗?
徐盈辉:GAN 最吸引我的是它的系统性学习思想,未来的机器学习领域应该是需要更多的系统化思考的专业人士,我把它称之为 Systematic Machine Learning(笔者注:系统性机器学习),为什么这么说呢,机器学习的三大研究领域,非监督学习、监督学习、强化学习,就像 Yann LeCun 在 2016 年 NIPS 大会上提出的「蛋糕」比喻,把我们需要的预测信息类比成蛋糕,认为强化学习是上层的樱桃,每个 sample(笔者注:样本)只包含很少的信息,而监督学习则是蛋糕外层的糖衣,每个 sample 要包含更多的信息,无监督学习则是剩下来的蛋糕主体,每个 sample 包含的信息非常多(数百万 bit)。同理,GAN 的精妙之处是能很好把这三个大领域的技术体系完美的结合起来。非监督学习长期受困于无法形成基于有效目标的评估体系和迭代优化方案,而监督学习受困于标注样本的匮乏和 bias(笔者注:偏置),而 GAN 的思想可以将强化学习作为将非监督学习和监督学习之间桥接的技术手段,非监督学习得到的 Representation Model(笔者注:表征模型)运用到监督学习网络中去评估并将结果通过 Policy Gradient(笔者注:策略梯度算法)方式回传非监督学习的迭代优化过程中;不妨用 Actor-Critic 体系来阐述 GAN 的训练思想,Actor-model 在某种意义上,我们看成是一个从 state(笔者注:状态)生成 action(笔者注:行动)的 Generative Model(笔者注:生成模型),而将 Critic-model 看成是基于状态-策略输入下的 Q 值回归网络的判别式过程,整个数据理解和建模过程就通过这样的系统新运作方式来使得生成式模型更好地去发现「未知」世界中的类 True Positive 样本,而判别式模型也能更好地从逐步完成一个个困难样本的判别来提升模型鲁棒性。阿里巴巴搜索事业部基础算法团队也在积极尝试利用 GAN 思想来解决我们的业务问题,并在传统的 Learning to Rank 算法和推荐算法,以及 OCR 识别领域重取得了不错的实验性结果。
Q:基于深度学习和强化学习的搜索和推荐算法,在实际的推荐和客服场景中还有哪些创新型应用?
徐盈辉:「强化学习」技术的应用场景广泛,市场空间巨大,从游戏 AI、围棋博弈、自动驾驶汽车、机器人控制,到电商推荐、工业智能制造、新能源发电、调度管理,都可以找到应用的场景,去实现能够让机器算法像人一样学习、思考、决策。
Q:您最近重点关注的技术点有哪些?阿里在强化学习方向上还有哪些着重解决的问题?应用方向上会有重要突破点吗?
徐盈辉:仍然会持续关注强化学习方向的新进展和突破,基于逆强化学习、迁移学习来更合理地刻画奖赏函数、多智能强化学习,目前我们的研究还是停留在单智能体的强化学习,而对于电商平台,如果把我们商家,消费者都应该看成智能体,这样就形成了一个非完全信息下的 multi-agent learning(笔者注:多智能体学习)问题,如何设计有效算法体系来实现平台智能体,用户智能体之间的 coordination 也是一个值得考虑和研究的方向。目前阿里在强化学习上着重解决的问题是基于新一代硬件体系和网络环境下的大规模分布式在线机器学习框架的研发。应用方向上的会着力尝试结合商业不完全信息环境下的多智能体强化学习,基于 GAN 算法框架下的生成式模型在搜索推荐场景下的应用。