Google | 创造Youtube单次上线最高收益!解决推荐中的信息茧房困境

星标/置顶小屋,带你解锁

最萌最前沿的NLP、搜索与推荐技术

文 | 江城

编 |  夕小瑶


今天分享一下Google在WSDM 2019的一篇将强化学习应用于Youtube推荐的论文,作者宣称是获得了Youtube近两年来单次上线的最高收益。文章仔细介绍了RL在Youtube上的实践方案细节以及相应的收益,同时介绍了很多实践中的Best Practice,是一篇工业界实践色彩浓重的论文,非常值得一读。


众所周知,工业界大规模推荐系统一般都是有百万、千万级甚至更大规模的item候选集,因此从RL的角度来说,action空间异常的庞大。同时用户规模都是数以十亿计,带来了复杂的user state空间。当前主流做法都是从大规模用户隐式行为日志中训练学习,但是这样会有一个明显造成 信息茧房困境 的System Bias——日志中的用户隐式反馈只包含了前一版本系统推荐选中曝光出去items,对于未被曝光/选中的item候选项则完全无法学习。

本文以Youtube推荐为场景,提出了一种基于策略梯度(例如REINFORCE)的算法来解决上述的System Bias。本文主要贡献点:

  1. REINFORCE Recommender:扩展REINFORCE算法应用于拥有百万级别量级超大action空间的工业界线上系统;

  2. Off-Policy Candidate Generation:在召回阶段使用off-policy矫正来解决基于多种行为策略下积累用户历史数据进行学习带来的数据偏差;

  3. Top-K Off-Policy Correction:提出一种新颖的Top-K off-policy矫正方案来优化同时推荐多个候选item时的矫正问题;

  4. Benefits in Live Experiments:证明了在线上实验的效果,展示了在提升用户长期满意度的价值。

论文链接 

https://arxiv.org/abs/1812.02353 

公众号「夕小瑶的卖萌屋」后台回复关键词【0706】下载论文PDF

介绍

传统监督学习的方案在推荐系统中是有明显的局限性的。一方面,新模型迭代时使用的训练样本是当前模型选中并推荐给用户的,但是没有被选中的候选集的用户反馈则无从得知;另一方面,传统监督学习的方案的优化目标是最大化推荐的即时收益,导致了系统更倾向于推荐大众化或者熟悉的候选item。

与此同时,强化学习在推荐系统中的应用也存在着明显的困难:

  • 超大的action空间;

  • 实行exploration的成本较大:系统复杂而且容易带来糟糕用户体验;

  • 如何从当前模型策略收集的行为日志中学习;

  • 部分观测性;

  • 带有噪声的reward;

建模策略π

本文在Youtube中应用强化学习的建模示意图如下所示。RL中几个关键元素

  • Agent:candidate generator也就是召回;

  • State:用户表示,包含context,user profile特征等;

  • Reward:用户满意度反馈;

  • Action:从百万量级的候选video中选择Top-K;

前面提到的一个关键问题:如何从当前模型策略收集的行为日志中学习新的模型策略呢? 如下图所示,将收集到的用户行为日志一分为二。前半部分Sequential Past用来表征User state;后半部分Sequential Future用来计算Reward。

User State Representation

本文使用RNN来针对User state的变换进行建模,实验了LSTM/GRU等单元,最后实际使用的是Chaos Free RNN,其比较稳定且高效。

Reward

Reward建模方面,则是典型的针对未来收益进行指数衰减加和。

Action

基于User state,策略π的求解就是在action空间上的softmax。为了加速计算,在训练阶段使用了 sampled softmax;在serving阶段则是使用邻近搜索算法来获取top K的候选集。

Policy-based RL

在推荐的场景下,给定用户的行为序列,系统需要推荐给用户下一个感兴趣的候选item(也就是action)。Policy-based RL的目标就是希望能够学习到一个随机策略π,来最大化期望的累积收益。

Policy-based RL的求解思路是根据策略梯度可以迭代求解出最优的随机策略π。使用log-trick可以将上述对累积reward梯度的计算转化为对策略π的梯度计算。

Off-Policy矫正

如果解决系统的“部分观测性”问题?本文使用importance weighting的方式来处理推荐系统当前模型行为策略和新策略不一致的问题。

经过推导发现,为了处理系统偏差问题,Off-policy的更新迭代与On-policy的更新迭代唯一的区别只需要在梯度的基础上乘以一个矫正系数即可,如下图总结所示。这个矫正系数主要包含两部分:一部分是当前学习的新策略π;另一部分是用户行为日志保存时推荐系统的行为策略β

预估行为策略β

上述Off-Policy Learning中的矫正系数,当前学习的新策略π可以前向传导计算得到,那用户行为日志保存时推荐系统的行为策略如何得到呢?理想情况下我们可以记录当时系统选择action对应的概率。但是在推荐场景下:

  1. 推荐系统的召回部分有很多的agents,RL只是其中的一路召回,其他的agents我们无法控制也就无法记录对应选择action的概率;

  2. 一些agents有确定性的策略,也就是β为0或者1时无法高效地利用用户行为日志进行训练;

答案是直接使用一个单独的网络来进行预估即可。本文采用了上下文独立的neural estimator,对于每一个收集到的state-action pair,用另外一个softmax来估计β。如下图所示,在主流程学习当前新策略π的基础上,预估β的网络重复利用了从RNN结构生成出来的用户状态s,用另外一个单独的softmax层对日志中的系统行为策略进行建模。为了避免β对生成用户状态的主策略π产生干扰影响,本文中block掉β对用户状态s的梯度回传,β策略的梯度回传只用来更新其单独的item embedding。本文中提到也尝试过将两个策略单独分开建模,发现带来额外计算开销的同时并没有任何离线和线上指标的提升。

尽管两个策略π和β共享用户state参数,但是他们之间有着显著的区别

  1. 主策略π使用考虑长期reward的softmax进行训练,而行为策略β则仅仅使用state-action pairs进行训练;

  2. 主策略π使用用户行为历史上非零reward的样本进行训练,而行为策略β则使用用户行为历史上全部的样本进行训练。

也正是因为针对系统行为策略β进行预估,一方面行为策略可以是0或者1的确定性策略;另外一方面,即便是有多路召回也就是多个agents选择不同actions的时候,那么行为策略预估的便是在状态s下动作a发生的频率。

Top-K Off-Policy矫正

上面提到的Off-Policy Correction只是针对Top 1推荐的矫正,实际场景中系统往往会一次性地同时返回K个item,用户可能全部看到也可能只看到一部分,并可能与不止一个item发生交互。也就是说我们的建模需要扩展一下,希望找到一个随机策略π,每个动作action选择K个items,去最大化预期累积收益。这里只需要改造一下原来的目标函数

但是这样的话有一个问题是动作空间会呈指数级增长,当候选集是百万甚至千万级别的时候更是大的可怕。为了解决这个问题,我们假定一组不重复items的预期奖励等于每个item预期奖励的总和。这样的话就可以简单修改下原有的梯度方程式得到新的梯度更新逻辑:

经过推导发现,Top-K的Off-Policy矫正方案的更新梯度只是在原有Top-1的更新梯度上增加了一个额外的乘数。可以定性地理解一下这个额外的乘数:

  • 随着π -> 0,lambda -> K,相比于标准的off-policy correction,Top-K的Off-Policy correction的梯度更新会增大K倍;

  • 随着π -> 1,lambda -> 0,额外的乘数则会是策略梯度更新趋向于0;

也就是说,当候选项目在主策略π中具有较小概率时,Top-K的Off-Policy矫正比标准矫正更快地更新修正。一旦候选项目在主策略中已经占了一定概率后,则Top-K的Off-Policy矫正会将梯度趋向于零。这反过来允许其他有可能感兴趣的候选item得到一定的选中机会。正如本文在模拟和线上实验中展示的那样,当标准的Off-Policy矫正收敛于固定选择某个项目的最优策略时,Top-K的Off-Policy矫正会产生更好的Top-K推荐。

Variance Reduction技巧

前文在推导策略梯度时使用了一阶近似来减少梯度估计的方差。但是当importance weight较大时,策略梯度仍然会有较大的方差。importance weight较大意味着新策略与旧的行为策略偏差较大,尤其发生在旧行为策略探索比较少的候选集。

我们实验了多种在conterfactual learning和RL文献中提出的集中技术来控制梯度估计的方差,这些技术大部分情况下都可以降低方差,但是代价就是会在梯度估计中引入一些偏差。譬如Wieght Capping、NIS、TRPO等。

Exploration

众所周知,训练数据的分布会非常严重地影响是否能够学习到一个好的策略。探索旧的行为策略很少采取的action的探索策略已经被广泛应用。在实际系统中,暴力探索譬如 ϵ-greedy,在Youtube推荐中是不合适的,因为在大概率情况下会带来非常糟糕的用户体验。

我们使用了Boltzmann探索在不影响用户体验的前提下,得到探索数据的收益。我们考虑采用随机策略,也就是并非推荐概率最高的K个items而是从主策略π中采样而来。考虑到主策略计算完整的softmax开销太大,因此我们使用最近邻方案来寻找top M个(M >> K)候选集再在此基础上进行采样。这样既限制了推荐影响体验的候选集的风险,同时又保证了计算效率,而且还可以获得EE带来的收益。

模拟实验

本文首先设计模拟实验,以便在可控的环境下阐明off-policy correction的收益。为了简化,我们假设问题是无状态的,换句话说,奖励R独立于用户状态,并且动作也不会改变用户状态。因此,可以独立地选择轨迹上的每个动作。

Off-Policy Correction

第一个模拟实验中,我们假设有10个items,选中每一个item的收益就是他的index。当我们选择Top one item时,最优策略就是一直选第十个,因为其奖励最大。这里有一个明显缺点,当行为策略越多地选择次优item,那么学习到的新策略也就越偏向于选择次优的item。
下图比较了当行为策略β倾向于选择奖励最少的item时,是否有Off-Policy修正下的主策略π的分布情况。也就是最坏情况下,行为策略一直选择奖励最少的,发现我们也会学到一个类似行为策略一样不好的策略(如下图左所示)。而在应用Off-Policy修正让我们学到了一个最优策略π,不论收集到的行为策略的数据如何(如下图右所示)。

Top-K Off-Policy Correction

为了理解标准Off-Policy correction和Top-K Off-Policy Correction的区别,本文设计了推荐多个items的实验。同样假设有10个items,r(a1) = 10,r(a2) = 9,剩下的奖励都是1。我们专注于推荐Top 2的实验。同时设定行为策略β为均匀分布,每个item都有同等的机会。

从行为策略β中采样得到action-reward的pairs,标准的Off-Policy矫正有着如下的更新梯度:

而Top-K的Off-Policy矫正则有着另外一种梯度更新形式:

对比二者的梯度更新形式就可以发现,在Top-K的Off-Policy的梯度下,当π(a_i)很小时,lambda接近于K,那么迭代更新则会激进地增加选中a_i的可能性;当π(a_i)到一个足够大的值时,lambda接近于0。这时候即便π(a_i)仍然小于1,但是迭代更新时也不会进一步增加选中a_i的可能性。这样反而可以使获得第二高reward的item在主策略中得到一定的概率。下图左、右分别展示了标准方式和Top-K矫正方式学到的策略π。可以看到标准的Off-Policy矫正几乎全部集中于Top 1 item,也就是说策略基本没有学到次优项

线上实验

作者宣称这是Youtube近两年以来单词上线取得的最大收益

我们在Youtube推荐的RNN召回模型上做了一些列AB实验。这个模型是众多候选生成模型中的一个,在曝光给用户前会有一个独立的rank model去进行打分排序。模型根据上述RL算法来训练,实时奖励反应着用户的行为,推荐的视频没被点击的奖励为0。每个实验中实验组和对照组使用相同的reward函数。实验运行了很多天,模型在线上持续训练,新事件会在24小时内训练。实验期间,我们关注了各种线上指标,不过这里我们主要关注用户观看视频时长ViewTime。

本文在线上的实验描述了多个连续的改进,最新的推荐系统为下一个实验提供训练数据,这导致一旦生产系统采用新方法,后续实验就不能与早期系统进行比较。因此,以下每个实验会作为组件单独分析。

探索

本文想衡量是否要像之前描述的采样softmax模型下使用随机策略,要比一直根据softmax推荐概率最高的K个item的模型要好。

我们首先将平台用户分为了3个buckets,90%,5%,5%。前两个buckets基于确定性模型使用确定性策略,最后一个bucket用基于带探索性数据训练模型的stochastic policy。确定性模型用前两个buckets训练,随机模型用第一个和第三个bucket训练。这样两个模型训练使用的数据量是相等的,但随机模型会因为探索数据更容易观察到一些罕见的state,action pair。

按此实验流程,我们观察到测试群体中的ViewTime统计学显著性地增加了0.07%。虽然改进不大,但它来自相对少量的勘探数据(只有5%的用户在用随机政策)。随着随机政策的全面启动,我们预计会有更高的收益。

Off-Policy Correction

如下图所示绘制了由系统中的召回根据对照人群中的视频等级在对照和实验中选择的视频的CDF。当忽略数据收集与处理的bias会产生 强者恒强的现象。因此视频被推荐,可能仅仅是因为他在behavior policy里曾大量被推荐,而Off-Policy Correction可以帮忙解决这个问题。

有趣的是,在线上实验中,我们并没有观察到control与test群体之间的 ViewTime 发生统计显著性变化。然而,我们看到视频数量增加了0.53%,这在统计学上是显著的,这表明用户确实得到了更多的享受。

Top-K Off-Policy Correction

在本次实验中,我们让前面方程式中的超参K = 16 和上限c=e^3。鉴于我们可以推荐多个项目,Top-K Off-Policy让我们向用户提供比标准Off-Policy Correction更好的整体体验。特别是,我们发现测试流量中ViewTime增加了0.85%,观看的视频数量略微减少了0.16%

实验超参比较

最后,我们直接比较不同的超参数的选择如何影响Top-K Off-Policy Correction对平台上的用户体验。
首先测了下Top-K中的K。本文用K ∈ {1, 2, 16, 32}训练了结构相同的模型。当K = 1时, Top-K就是标准的off-policy correction。与基线K = 16相比 K = 1 导致ViewTime掉了0.66%。K = 2 也不好,不过差距变小了,ViewTime下降了0.35%,K = 32的效果类似基线。我们后续的实验显示K = 8 在ViewTime上有一定的正向(+0.15% statistically significant)。

其次,本文继续探讨了Variance Reduction Technique对学到的推荐系统的最终效果的影响。我们没有观察到NIS,或者TRPO对指标的提升。我们搞了个回归测试研究weight capping的影响,比较了c = e^3和c = e^5。当我们取消对importance weight的限制时,学到的策略πθπθ可能会过度适应一些意外获得高回报的logged actions。在线上实验中,当the cap on importance weight被增大时,我们观察到ViewTime显着下降了0.52%


喜欢本文的小伙伴,强烈建议加入卖萌屋的推荐系统讨论群,不仅可以认识众多志同道合的优秀小伙伴,而且还有若干卖萌屋美丽小姐姐(划掉)、顶会审稿人、大厂研究员、知乎大V等你来撩哦。

如果提示已满或过期,或希望加入领域大群(自然语言处理、搜索技术、推荐系统、算法岗求职等)或其他垂类讨论群,请在后台回复关键词【入群】获取入口哦。

记得扫描下方二维码关注并星标置顶,我才能来到你面前哦。

夕小瑶的卖萌屋

_

关注&星标小夕,带你解锁AI秘籍

订阅号主页下方「撩一下」有惊喜哦

参考文献

[1] Top-K Off-Policy Correction for a REINFORCE Recommender System

[2] https://www.youtube.com/watch?v=HEqQ2_1XRTs

[3] http://wd1900.github.io/2019/06/23/Top-K-Off-Policy-Correction-for-a-REINFORCE-Recommender-System-on-Youtube/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

POJ 2785 有多少种4个数相加等于0的方案(二分查找 or hash)

文章目录1.二分查找法1.1 思路:1.2 AC代码2.hash查找法2.1 思路:2.2 Wrong Answer 代码2.3 Time Limit Exceeded 代码2.4 偷懒失败,hash_map在poj中不存在2.5 哈希表二叉查找树(超时)2.6 AC代码(哈希数组法…

2018最新阿里Java技术三面(已拿Offer):JVM+高并发性能+单点登录+微服务

一面 1.自我介绍 2.谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里 3.Spring的bean的作用域?(比如:singleton,prototype等) 4.Spring的IOC实现原理?没有无参构造函数能…

论文浅尝 | 基于局内去噪和迁移学习的关系抽取

动机在远程监督任务中,除了语料的错误标注问题,还存在句内噪声单词过多的问题,即多数句子都存在一些与表达关系无关的词汇,这个问题未有人关注。当前研究的另一个问题是,句子特征抽取器采用随机初始化的方法&#xff0…

关于知识图谱,我们接下来该研究什么?斯坦福教授们给出了答案

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 舒意恒(南京大学硕士生,知识图谱方向)编 | 北大小才女小轶本文整理了斯坦福大学 CS 520 知识图谱研讨会课程的第 10 集的内容,主要是关于知识图谱未来的研…

POJ 2967 (水题,考察putchar()按位输入)

题目链接:http://poj.org/problem?id2967 题目大意: 给定系列长度,求是否有规定的三角形 (不是所有的都可以组成三角形&&有至少一种组合可以组成三角形)-> 打印通过,否则打印拒绝。 题目有时…

四大银行(工建农中)大数据进展如何?

原文地址:https://cloud.tencent.com/developer/article/1052576 中国建设银行中国建设银行信息技术管理部资深经理林磊明▼▼1、银行压力越来越大从十二五走到十三五期间,银行业面临的各方面的压力越来越大,从我们的年报数字可以看出去年四大…

论文浅尝 | 多内容实体和关系联合抽取的对抗训练

链接:https://arxiv.org/pdf/1808.06876.pdf动机Szegedy 在 14 年发现,对于图像分类问题的神经网络,若是在输入中人为的添加很小尺度的扰动,会让已经训练好的神经网络做出错误的判断,并且可能以很高的置信度输出。很多…

BAT面试进阶:最全Memcached面试30题含答案

【memcached面试题目】 Memcached服务在企业集群架构中应用场景? Memcached服务在不同企业业务应用场景中的工作流程? Memcached服务分布式集群如何实现? Memcached服务特点及工作原理是什么? Memcached内存管理机制原理? Memcached的…

一份从入门到精通NLP的完整指南 | NLPer

该小博主介绍本人:笔名zenRRan,方向自然语言处理,方法主要是深度学习。未来的目标:人工智能之自然语言处理博士。写公众号目的:将知识变成开源,让每个渴求知识而难以入门人工智能的小白以及想进阶的小牛找到…

论文浅尝 | 基于知识库的类型实体和关系的联合抽取

链接:http://hanj.cs.illinois.edu/pdf/www17_xren.pdfGitHub项目地址:https://github.com/INK-USC/DS-RelationExtraction动机现有的利用远程监督进行实体关系抽取的方法中存在以下三个问题:1、依赖事先训练的命名实体识别工具,而…

POJ 2255 Tree Recovery(已知前序中序,求后序)

1. 题目链接:http://poj.org/problem?id2255 2. 题目大意: 给定二叉树的前序和中序序列,输出其后序序列 3. 思考过程: 4. AC代码 /*** description: 给出前序和中序二叉树节点序列,求后序二叉树节点输出序列* auth…

美团内推:java高级开发(一面+二面+三面),面试58题实拍!

美团内推(一面二面三面)面试题目 美团一面(电话) 自我介绍 项目介绍 Redis介绍 了解redis源码么 了解redis集群么 Hashmap的原理,增删的情况后端数据结构如何位移 hashmap容量为什么是2的幂次 hashset的源码 …

ACL20 best paper荣誉提名 | DO NOT STOP Pre-training!

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | JayLou娄杰(NLP算法工程师,信息抽取方向)编 | 可盐可甜兔子酱在昨晚23点的best paper典礼上我惊了,这篇论文竟然获得了今年ACL2020 best paper荣誉提名..…

论文浅尝 | 对于知识图谱嵌入表示的几何形状理解

论文链接:http://anthology.aclweb.org/attachments/P/P18/P18-1012.Presentation.pdf发表会议:ACL 2018摘要知识图谱的嵌入表示在近几年已经成为一个非常活跃的研究领域,众多相关方法相继被提出,这些嵌入方法是将知识图谱中的实体…

数据结构--堆 Heap

文章目录1. 概念2. 操作和存储2.1 插入一个元素2.2 删除堆顶元素3. 堆排序(不稳定排序)3.1 建堆3.2 排序3.3 思考:为什么快速排序要比堆排序性能好?两者都是O(nlogn)4. 堆应用4.1 优先级队列4.2 用堆求 Top K(前K大数据…

金融时报:人工智能在银行中的应用—对全球30家大型银行的调查

原文地址:https://cloud.tencent.com/developer/article/1144829 (微信公众号 点滴科技资讯)尽管银行业对新技术感到兴奋,但仍采取比较谨慎的方式。德意志银行首席执行官约翰•克莱恩(John Cryan)曾经提出将…

百度Java三面:现场面试39题目实拍含答案!

百度一面(现场) 自我介绍 Java中的多态 为什么要同时重写hashcode和equals Hashmap的原理 Hashmap如何变线程安全,每种方式的优缺点 垃圾回收机制 Jvm的参数你知道的说一下 设计模式了解的说一下啊 手撕一个单例模式 算法题目 手撕算…

CCKS2020事理图谱应用工作:刘焕勇等.面向开放文本的逻辑推理知识抽取与事件影响推理探索

一、背景介绍 第十四届全国知识图谱与语义计算大会(CCKS 2020) 11 月 12 日至 15 日在江西南昌举行,CCKS(China Conference on Knowledge Graph and Semantic Computing)是由中国中文信息学会语言与知识计算专委会定期举办的全国年度学术会议…

ACL20 Best Paper揭晓!NLP模型评价体系或将迎来重大转折

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 北大小才女小轶昨晚ACL2020的Main Conference落下帷幕,今年的最佳论文颁给了这篇《Beyond Accuracy: Behavioral Testing of NLP Models with CHECKLIST》。在ACL录用的778篇论文中&#xff…

论文浅尝 | 基于多模态关联数据嵌入的知识库补全

链接&#xff1a;https://arxiv.org/pdf/1809.01341.pdf动机&#xff08;摘要&#xff09;当前的知识库补全的方法主要是将实体和关系嵌入到一个低维的向量空间&#xff0c;但是却只利用了知识库中的三元组结构 (<s,r,o>) 数据&#xff0c;而忽略了知识库中大量存在的文本…