网站开发使用云数据库技术教程,网站如何获取用户信任,区块链开发书籍推荐,亚马逊网站开发者平台星标/置顶小屋#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 江城编 | 夕小瑶今天分享一下Google在WSDM 2019的一篇将强化学习应用于Youtube推荐的论文#xff0c;作者宣称是获得了Youtube近两年来单次上线的最高收益。文章仔细介绍了RL在Youtube上的实践方案细节… 星标/置顶小屋带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 江城编 | 夕小瑶今天分享一下Google在WSDM 2019的一篇将强化学习应用于Youtube推荐的论文作者宣称是获得了Youtube近两年来单次上线的最高收益。文章仔细介绍了RL在Youtube上的实践方案细节以及相应的收益同时介绍了很多实践中的Best Practice是一篇工业界实践色彩浓重的论文非常值得一读。众所周知工业界大规模推荐系统一般都是有百万、千万级甚至更大规模的item候选集因此从RL的角度来说action空间异常的庞大。同时用户规模都是数以十亿计带来了更复杂的user state空间。当前主流做法都是从大规模用户隐式行为日志中训练学习但是这样会有一个明显造成 信息茧房困境 的System Bias——日志中的用户隐式反馈只包含了前一版本系统推荐选中曝光出去items对于未被曝光/选中的item候选项则完全无法学习。本文以Youtube推荐为场景提出了一种基于策略梯度例如REINFORCE的算法来解决上述的System Bias。本文主要贡献点REINFORCE Recommender扩展REINFORCE算法应用于拥有百万级别量级超大action空间的工业界线上系统Off-Policy Candidate Generation在召回阶段使用off-policy矫正来解决基于多种行为策略下积累用户历史数据进行学习带来的数据偏差Top-K Off-Policy Correction提出一种新颖的Top-K off-policy矫正方案来优化同时推荐多个候选item时的矫正问题Benefits in Live Experiments证明了在线上实验的效果展示了在提升用户长期满意度的价值。论文链接 https://arxiv.org/abs/1812.02353 公众号「夕小瑶的卖萌屋」后台回复关键词【0706】下载论文PDF介绍传统监督学习的方案在推荐系统中是有明显的局限性的。一方面新模型迭代时使用的训练样本是当前模型选中并推荐给用户的但是没有被选中的候选集的用户反馈则无从得知另一方面传统监督学习的方案的优化目标是最大化推荐的即时收益导致了系统更倾向于推荐大众化或者熟悉的候选item。与此同时强化学习在推荐系统中的应用也存在着明显的困难超大的action空间实行exploration的成本较大系统复杂而且容易带来糟糕用户体验如何从当前模型策略收集的行为日志中学习部分观测性带有噪声的reward建模策略π本文在Youtube中应用强化学习的建模示意图如下所示。RL中几个关键元素Agentcandidate generator也就是召回State用户表示包含contextuser profile特征等Reward用户满意度反馈Action从百万量级的候选video中选择Top-K前面提到的一个关键问题如何从当前模型策略收集的行为日志中学习新的模型策略呢 如下图所示将收集到的用户行为日志一分为二。前半部分Sequential Past用来表征User state后半部分Sequential Future用来计算Reward。User State Representation本文使用RNN来针对User state的变换进行建模实验了LSTM/GRU等单元最后实际使用的是Chaos Free RNN其比较稳定且高效。RewardReward建模方面则是典型的针对未来收益进行指数衰减加和。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对应的概率。但是在推荐场景下推荐系统的召回部分有很多的agentsRL只是其中的一路召回其他的agents我们无法控制也就无法记录对应选择action的概率一些agents有确定性的策略也就是β为0或者1时无法高效地利用用户行为日志进行训练答案是直接使用一个单独的网络来进行预估即可。本文采用了上下文独立的neural estimator对于每一个收集到的state-action pair用另外一个softmax来估计β。如下图所示在主流程学习当前新策略π的基础上预估β的网络重复利用了从RNN结构生成出来的用户状态s用另外一个单独的softmax层对日志中的系统行为策略进行建模。为了避免β对生成用户状态的主策略π产生干扰影响本文中block掉β对用户状态s的梯度回传β策略的梯度回传只用来更新其单独的item embedding。本文中提到也尝试过将两个策略单独分开建模发现带来额外计算开销的同时并没有任何离线和线上指标的提升。尽管两个策略π和β共享用户state参数但是他们之间有着显著的区别主策略π使用考虑长期reward的softmax进行训练而行为策略β则仅仅使用state-action pairs进行训练主策略π使用用户行为历史上非零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的更新梯度上增加了一个额外的乘数。可以定性地理解一下这个额外的乘数随着π - 0lambda - K相比于标准的off-policy correctionTop-K的Off-Policy correction的梯度更新会增大K倍随着π - 1lambda - 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个itemsr(a1) 10r(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个buckets90%5%5%。前两个buckets基于确定性模型使用确定性策略最后一个bucket用基于带探索性数据训练模型的stochastic policy。确定性模型用前两个buckets训练随机模型用第一个和第三个bucket训练。这样两个模型训练使用的数据量是相等的但随机模型会因为探索数据更容易观察到一些罕见的stateaction 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 和上限ce^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?vHEqQ2_1XRTs[3] http://wd1900.github.io/2019/06/23/Top-K-Off-Policy-Correction-for-a-REINFORCE-Recommender-System-on-Youtube/