原文链接
近日,美国权威杂志《麻省理工科技评论》(MIT Technology Review)发布了2017全球十大突破性技术榜单,强化学习(Reinforcement Learning)技术位列该榜单第一位,正是阿里近两年布局和重点投入的技术之一。
该技术曾在2016年双十一期间大规模应用于阿里电商搜索和推荐应用场景。通过持续和模型优化建立决策引擎,对海量用户行为以及百亿级商品特征进行实时分析,帮助每一个用户迅速发现宝贝、为商家带来投缘的买家,提高人和商品的配对效率,实现了用户点击率提升10%-20%。阿里因此成为国际上将该技术率先大规模应用在商业领域的企业之一。
智能化时代,对于搜索和推荐而言,可以提炼为两点:学习能力和决策能力。学习能力意味着搜索体系会学习、推荐平台具有很强的建模能力以及能够索引原始数据到索引知识提升,学习能力更多是捕捉样本特征空间与目标的相关性,最大化历史数据的效率。决策能力经历了从LTR到MAB再到CMAB再到DRL的演变过程,使得平台具备了学习能力和决策能力,形成了智能化体系。
online Learning和Batch Learning有很大的区别,在online Learning的研发过程中,总结了一些技巧:
- 实时streaming样本分布不均匀时,由于线上环境比较复杂,不同来源的日志qps和延迟都不同,造成不同时间段样本分布不一样,甚至在短时间段内样本分布异常。比如整体一天下来正负例1:9,如果某类日志延迟了,短时间可能全是负例,或者全是正例,很容易导致特征超出正常值范围。对应的解决方案是提出了一些 Pairwise sampling:曝光日志到了后不立即产出负样本,而是等点击到了后找到关联的曝光,然后把正负样本一起产出,这样的话就能保证正负样本总是1:9;成交样本缓存起来,正样本发放混到曝光点击中,慢慢将Training信号发放到样本空间中。
- 异步sgd更新造成模型不稳定时,由于训练过程采用的是异步SGD计算逻辑,其更新会导致模型不稳定,例如某些权重在更新时会超出预定范围。对应的解决方案是采用mini batch,一批样本梯度累加到一起,更新一次;同时将学习率设置小一点,不同类型特征有不同的学习率,稠密特征学习率小,稀疏特征学习率大一些;此外,对每个特征每次更新量上下限进行限制保护。
- 预测时,在参数服务器中进行Model Pulling,通过采用合理的Model smooth和Model moving average策略来保证模型的稳定性。
智能化体系中的决策环节
在整个体系中,Systematic Bias很难做到理想化的控制,而且离线模型预期效果与线上的实际生效效果存在差异,这背后的根本原因是Correlation并不等于Causation,也就是特征与目标相关并不意味着特征出现一定导致目标发生。
那么怎么解决Offline Reward Signal不等于online Dashboard Metrics的问题呢?我们引入了强化学习,通过引入online User Feedback更好地定义Reward,对线上排序策略进行调整,使其具有更强的自适应性。
和投放页面天然存在互动:搜索引擎观测消费者的交互状态;搜索引擎根据交互状态执行投放策略;投放策略之后,呈现商品结果页,消费者在商品结果页中的操作行为反馈给搜索引擎。引擎决策实际上能改变投放环境,进而影响消费者的交互,改变消费者的状态。如果不需要建立从状态到动作的策略映射,可以采用Multi-armed Bandits方法进行流量探索;如果需要建立该映射时,需要采用Contextual MAB方法;在新状态下,考虑消费者的滞后Feedback对于引擎在之前状态下的Action正确与否产生影响,需要引入强化学习的思想。
搜索和推荐过程可以抽象成一个序列决策问题,从消费者与引擎的交互过程中寻找每一个不同状态下的最优排序策略(各种排序因子的合理组合)。
我们的目标是希望搜索引擎决策体系进化为具有强化学习能力的智能化平台。过去的搜索,我们只能做到遇到同样的用户购物诉求下,尽可能保证做得不必以前最好的方法差,也就是所谓的Historical Signal==Best Strategy;一切模型都是建立在优化直接收益的基础上。未来的搜索,我们希望能够保证长期收益最大化来决定引擎的排序策略,也就是Immediate Reward+Future Expectation=Best Strategy;未来的排序融合入模式都是建立在优化马尔科夫决策过的基础上,最大化The Discounted Reward。
基于强化学习的实时搜索排序调控
下面简要介绍下为应对今年双11提出的基于强化学习的实时搜索排序调控。
对于强化学习,它的目标是最大化时刻T所选择的策略的长期收益最大。对于离散state和离散Action的情况,可以采用Tabular RL方法求解;对于连续State和连续Action,采用RL with Function Approximation。其中State表示用户近期发生行为商品的可量化特征,Action表示权重量化(维度是排序特征分),Reward是Systematic Valid User Feedback。
在双11采用的基于强化学习的实时搜索排序调控的实现体系如上图所示。当用户输入query时,会向系统询问哪一种排序策略最适合自己;该查询策略请求会上传至在线策略决策引擎,在线策略决策引擎通过实时学习的Q(s,a)模型合理选择有效策略,然后再返回给搜索引擎;搜索引擎依据当前状态下最有效策略执行搜索排序;在搜索排序页面展示的同时,系统会及时搜集相应的状态 action以及用户feedback的信号,并进入到online Training Process;而online Training Process会通过Off-policy model-free RL方法学习State To Action的映射关系,再从映射关系中得到线上排序所需要的策略参数;该策略参数由在线策略决策引擎通过Policy Invalid Process输出给在线搜索引擎。
在AI应用到商业的过程中,未来努力方向是:
- From batch to streaming,希望从historical batch learning转化为life long learning;
- 整个学习体系由tailor for tasks 向利用transfer learning实现不同渠道、应用下学习模型的复用转变;
- Training process 从Blackbox转变为实现合理的knowledge representation,实现线上投放逻辑的controlled&comprehensible;
- 学习体系随着强化学习和在线决策能力的增强,从local optimization向global evolving转变。
原文链接