文档章节

『干货』阿里研究员徐盈辉:在线AI技术在搜索与推荐场景的应用

_夜枫
 _夜枫
发布于 2017/06/22 14:19
字数 3453
阅读 5
收藏 0
点赞 0
评论 0

原文链接

 

近日,美国权威杂志《麻省理工科技评论》(MIT Technology Review)发布了2017全球十大突破性技术榜单,强化学习(Reinforcement Learning)技术位列该榜单第一位,正是阿里近两年布局和重点投入的技术之一。

该技术曾在2016年双十一期间大规模应用于阿里电商搜索和推荐应用场景。通过持续机器学习和模型优化建立决策引擎,对海量用户行为以及百亿级商品特征进行实时分析,帮助每一个用户迅速发现宝贝、为商家带来投缘的买家,提高人和商品的配对效率,实现了用户点击率提升10%-20%。阿里因此成为国际上将该技术率先大规模应用在商业领域的企业之一。

下面是阿里研究员仁基在双11阿里巴巴技术论坛上的分享:

image


以下内容根据在线分享和演讲幻灯片整理而成。

image


对于阿里巴巴电子商务平台而言,它涉及到了买家、卖家和平台三方的利益,因此必须最大化提升消费者体验;最大化提升卖家和平台的收益。在消费者权益中,涉及到了一些人工智能可以发力的课题,如购物券和红包的发放,根据用户的购物意图合理地控制发放速率和中奖概率,更好地刺激消费和提升购物体验;对于搜索,人工智能主要用于流量的精细化匹配以及在给定需求下实现最佳的人货匹配,以实现购物路径效率最大化。经过几年的努力,阿里研发了一套基于个性化技术的动态市场划分/匹配技术。

image

 

电商搜索和推荐的智能化演进路程可以划分为四个阶段:人工运营和非智能时代、机器学习时代、准人工智能时代、人工智能时代。人工运营和非智能时代,主要靠领域知识人工专业运营,平台的流量投放策略是基于简单的相关性+商品轮播;在机器学习时代,利用积累的大数据分析用户购物意图,最大化消费者在整个链路中可能感兴趣的商品;准人工智能时代,将大数据处理能力从批量处理升级到实时在线处理,有效地消除流量投放时的误区,有效地提高平台流量的探索能力;人工智能时代,平台不仅具有极强的学习能力,也需要具备一定的决策能力,真正地实现流量智能投放。

image


智能化时代,对于搜索和推荐而言,可以提炼为两点:学习能力和决策能力。学习能力意味着搜索体系会学习、推荐平台具有很强的建模能力以及能够索引原始数据到索引知识提升,学习能力更多是捕捉样本特征空间与目标的相关性,最大化历史数据的效率。决策能力经历了从LTR到MAB再到CMAB再到DRL的演变过程,使得平台具备了学习能力和决策能力,形成了智能化体系。

借他山之石以攻玉

image


借他山之石以攻玉。在线服务体系中,我们基于参数服务器构建了基于流式引擎的Training体系,该体系消费实时数据,进行Online Training;On Training的起点是基于离线的Batch Training进行Pre-train和Fine Tuning;然后基于实时的流式数据进行Retraining;最终,实现模型捕捉实时数据的效果。

image


上图是基于Wide & Deep Learning for Recommender Systems的工作建立的Large Scale Sparse&Dense DNN训练体系的架构,该架构中利用Batch Learning进行Pre-Train,再加上Online数据的Retrain&fine Tuning。模型在双11当天完成一天五百万次的模型更新,这些模型会实时输送到在线服务引擎,完成Online的Prediction。

image


Streaming FTRL stacking@offline GBDT的基本理念是通过离线的训练,在批量数据上建立GBDT的模型;在线的数据通过GBDT的预测,找到相应的叶子节点作为特征的输入,每一个特征的重要性由online training FTRL进行实时调整。

image


双11当天的成交额是是普通成交日的十到十二倍,点击量将近三十倍。在用户行为密集发生的情况下,有理由相信数据分布在一天内发生了显著的变化,基于这样的考虑,GBDT的Training由原来的日级别升级到小时级别(每小时进行GBDT Training),这些Training的模型部署到Streaming的计算体系中,对于实时引入的训练样本做实时的预测来生成对应的中间节点,这些中间节点和人工的特征一起送入FTRL决出相应特征的重要性。

image


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策略来保证模型的稳定性。

智能化体系中的决策环节

电商平台下的大数据是源自于平台的投放策略和商家的行业活动,这些数据的背后存在很强Bias信息。所有

的学习手段都是通过日志数据发现样本空间的特征和目标之间的相关性;进而生成模型;之后利用模型预测线上的点击率或转化率,由于预测模型用于未来流量投放中,因此两者之间存在一定的时间滞后(systematic bias),也就观测到的数据和实际失效的数据存在着Gap。在工作逻辑中,如果一个特征和目标存在很强的Correlation,则该特征就应该在线上的预测中起到重要作用。

image


在整个体系中,Systematic Bias很难做到理想化的控制,而且离线模型预期效果与线上的实际生效效果存在差异,这背后的根本原因是Correlation并不等于Causation,也就是特征与目标相关并不意味着特征出现一定导致目标发生。

那么怎么解决Offline Reward Signal不等于Online Dashboard Metrics的问题呢?我们引入了强化学习,通过引入Online User Feedback更好地定义Reward,对线上排序策略进行调整,使其具有更强的自适应性。

搜索/推荐引擎决策体系

image


搜索引擎和投放页面天然存在互动:搜索引擎观测消费者的交互状态;搜索引擎根据交互状态执行投放策略;投放策略之后,呈现商品结果页,消费者在商品结果页中的操作行为反馈给搜索引擎。引擎决策实际上能改变投放环境,进而影响消费者的交互,改变消费者的状态。如果不需要建立从状态到动作的策略映射,可以采用Multi-armed Bandits方法进行流量探索;如果需要建立该映射时,需要采用Contextual MAB方法;在新状态下,考虑消费者的滞后Feedback对于引擎在之前状态下的Action正确与否产生影响,需要引入强化学习的思想。

搜索和推荐过程可以抽象成一个序列决策问题,从消费者与引擎的交互过程中寻找每一个不同状态下的最优排序策略(各种排序因子的合理组合)。


image


我们的目标是希望搜索引擎决策体系进化为具有强化学习能力的智能化平台。过去的搜索,我们只能做到遇到同样的用户购物诉求下,尽可能保证做得不必以前最好的方法差,也就是所谓的Historical Signal==Best Strategy;一切模型都是建立在优化直接收益的基础上。未来的搜索,我们希望能够保证长期收益最大化来决定引擎的排序策略,也就是Immediate Reward+Future Expectation=Best Strategy;未来的排序融合入模式都是建立在优化马尔科夫决策过的基础上,最大化The Discounted Reward。

基于强化学习的实时搜索排序调控

下面简要介绍下为应对今年双11提出的基于强化学习的实时搜索排序调控算法


image


对于强化学习,它的目标是最大化时刻T所选择的策略的长期收益最大。对于离散state和离散Action的情况,可以采用Tabular RL方法求解;对于连续State和连续Action,采用RL with Function Approximation。其中State表示用户近期发生行为商品的可量化特征,Action表示权重量化(维度是排序特征分),Reward是Systematic Valid User Feedback。

双11采用Q-learning的方式进行实时策略排序的学习,将状态值函数从状态和策略空间将其参数化,映射到状态值函数的参数空间中,在参数空间中利用Policies Gradient进行求解;将状态值函数Q拆解成状态值函数V(s)和优势函数A(s,a)进行表达。

image


其算法逻辑如上图所示,基本算法是实现线上几十个排序分的有效组合,样本包括日志搜集到的状态空间、Action Space(这里对应的是排序分空间),奖赏是用户有效的Feedback,具体的排序策略表达公式以及策略更新和值函数更新的公式可以参考Maei,HR的《Toward off-policy learning control with function approximation》一文。

image


在双11采用的基于强化学习的实时搜索排序调控的实现体系如上图所示。当用户输入query时,会向系统询问哪一种排序策略最适合自己;该查询策略请求会上传至在线策略决策引擎,在线策略决策引擎通过实时学习的Q(s,a)模型合理选择有效策略,然后再返回给搜索引擎;搜索引擎依据当前状态下最有效策略执行搜索排序;在搜索排序页面展示的同时,系统会及时搜集相应的状态 action以及用户feedback的信号,并进入到Online Training Process;而Online Training Process会通过Off-policy model-free RL方法学习State To Action的映射关系,再从映射关系中得到线上排序所需要的策略参数;该策略参数由在线策略决策引擎通过Policy Invalid Process输出给在线搜索引擎。

总结

image


整体搜索/推荐希望建立一个Close-loop for iCube learning体系,其中iCube要求系统具备immediate、interactive、intelligent的能力。整体从日志搜集到maximize rewards、minimize dynamic regret实现Online Training;其中Training模块能够高效地部署到Online Service;而Online Service必须具有很强的探索和overcome bias能力,进而使得整个体系能够适应新的数据,提升流量投放效率,同时能够探索新奇和未知的空间。

image


在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转变。

 

原文链接

 

© 著作权归作者所有

共有 人打赏支持
_夜枫
粉丝 9
博文 506
码字总数 0
作品 0
朝阳
后端工程师
直播 | 2017阿里双11在线技术峰会

技术成就辉煌,今年的双11毫无悬念地再次刷新了全球记录——11秒交易额破亿,28秒破10亿,3分01秒破百亿,40分12秒破500亿,9小时破1000亿……最终的交易额稳稳定格在了1682亿,不仅创造了极...

enohtzvqijxo00atz3y8 ⋅ 2017/11/29 ⋅ 0

双11享Go了吗?2017阿里双11在线峰会续写科技盛宴!

技术成就辉煌,今年的双11毫无悬念地再次刷新了全球记录——11秒交易额破亿,28秒破10亿,3分01秒破百亿,40分12秒破500亿,9小时破1000亿……最终的交易额稳稳定格在了1682亿,不仅创造了极...

云栖社区 ⋅ 2017/11/28 ⋅ 0

12月12日-13日,12位阿里大咖解密2017阿里双11技术支撑

技术成就辉煌,今年的双11毫无悬念地再次刷新了全球记录——11秒交易额破亿,28秒破10亿,3分01秒破百亿,40分12秒破500亿,9小时破1000亿……最终的交易额稳稳定格在了1682亿,不仅创造了极...

k6t9q8xks6iikzppifq ⋅ 2017/11/29 ⋅ 0

8 位阿里大 V 解密双 11 背后的技术力量

导读 2016 年双 11 是新零售的一个起点。交易额 1207 亿,开场 30 分钟,创造每秒交易峰值 17.5 万笔,每秒支付峰值 12 万笔的新纪录;菜鸟单日物流订单量超过 6.57 亿,创历史新高…… 这些...

linux小陶 ⋅ 2016/12/17 ⋅ 0

干货 :盘点BAT顶级人才变动,窥探各家AI战略

几年前,人工智能技术还是“冷门”,在国内互联网公司中,早早挑头呐喊的李彦宏还略显孤独。而现在,人工智能已经走上风口,AI成为了创投界的热词,该领域的相关人才也跟着大为紧缺。当中国公...

Tw6cy6uKyDea86Z ⋅ 2017/12/25 ⋅ 0

阿里三场技术研讨会“Show Muscle”,展示人工智能应用创新 | NIPS 2017

  如果要历数 2017 年在各大人工智能顶级学术会议上的国内企业,阿里巴巴必然是最活跃的公司之一。AI 科技评论不仅在多个国际会议中均看到了阿里巴巴的身影和论文发表,在AI 科技评论今年参...

AI科技评论 ⋅ 2017/12/23 ⋅ 0

速度收藏!600页阿里技术全景图曝光,程序员看完都沸腾了

如果你不甘心一直在写增删改查,希望看到更广的技术世界,阿里技术团队重磅发布的《阿里技术参考图册》,总计 600 余页,现已开放下载,将为你呈现阿里技术全景,走进各个技术领域的世界。 ...

c9yv2cf9i06k2a9e ⋅ 04/18 ⋅ 0

【赛事推荐】IJCAI-2018阿里妈妈国际广告算法大赛

2018年2月,阿里妈妈携手国际人工智能联合会议(IJCAI-18)以及阿里云天池平台,共同启动了“IJCAI 2018-阿里妈妈国际广告算法大赛”。大赛备受行业瞩目,自开放报名以来,吸引了来自全球300...

技术小能手 ⋅ 03/21 ⋅ 0

2017杭州云栖大会100位大咖视频+讲义全分享 大数据

摘要: “如果我看得更远一点的话,是因为我站在巨人的肩膀上。”2017杭州云栖大会资料全部整理完毕,首批100位大咖视频+讲义分享给大家。 杭州云栖大会是阿里集团一年一度的全生态科技盛会。...

qq_40954115 ⋅ 2017/11/06 ⋅ 0

人才缺口达百万:全解大数据、AI领域就业现状

随着国务院《新一代人工智能发展规划》的发布,大数据、人工智能逐步上升为国家战略,国内人工智能产业开始蓬勃发展。根据腾讯研究院发布的《2017全球人工智能人才白皮书》(以下简称《白皮书...

tw6cy6ukydea86z ⋅ 05/30 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

笔试题之Java基础部分【简】【一】

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他 1.length、length()和size() length针对...

anlve ⋅ 10分钟前 ⋅ 1

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 35分钟前 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 39分钟前 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 8

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部