本文来自“深度推荐系统”专栏,这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文主要根据几大顶会2019的最新论文,总结一下深度强化学习给推荐系统以及CTR预估工业界带来的最新进展。
凡是 Google 出品,必属精品。遥想当年(其实也就近在 2016),YoutubeDNN[1]以及 WDL[2]的横空出世引领了推荐系统以及 CTR 预估工业界潮流至今,掀起了召回层与排序层算法大规模优雅而高效地升级深度学习模型的浪潮。发展至今其实已经形成了工业界推荐系统与广告 CTR 预估的庞大家族群,具体可以参见之前文章中的家族图谱。
当然,本文的重点不是回首往事。好汉不提当年勇,而是立足当下看看接下来推荐系统和 CTR 预估工业界的路在何方。起因就在于 Google 先后在 WSDM 2019 和 IJCAI 2019 发表了极具工业界风格应用强化学习的论文,而且声称已经在 Youtube 推荐排序层的线上实验中相对线上已有的深度学习模型获得了显著的收益。因此,本文就总结一下几大顶会 2019 上强化学习应用于推荐系统和 CTR 预估工业界的最新进展,也欢迎各位有经验的同行多多交流共同进步。
众所周知,强化学习虽然在围棋、游戏等领域大放异彩,但是在推荐系统以及 CTR 预估上的应用一直有很多难点尚未解决。一方面是因为强化学习与推荐系统结合的探索刚刚开始,目前的方案尚未像传统机器学习升级深度学习那样效果显著,升级强化学习在效果上相对已有的深度学习模型暂时还无法做到有质的飞跃;另外一方面,就是离线模型训练与线上实验在线学习环境搭建较为复杂。这就造成了目前在工业界应用强化学习模型性价比并不高。而且尴尬的是,很多论文在升级 RL 比较效果的时候使用的 Baseline 都是传统机器学习算法而不是最新的深度学习模型,其实从某种程度上来说是很难让人信服的。
所以,Google 这两篇强化学习应用于 YouTube 推荐论文的出现给大家带来了比较振奋人心的希望。首先,论文中宣称效果对比使用的 Baseline 就是 YouTube 推荐线上最新的深度学习模型;其次,两篇论文从不同的指标维度都带来了比较明显的效果增长。而且其中一篇论文的作者 Minmin Chen 大神在 Industry Day 上也提到线上实验效果显示这个是 YouTube 单个项目近两年来最大的 reward 增长。这虽然不代表着强化学习与推荐系统的结合方案已经很成熟了,至少给大家带来了一些在工业界积极尝试的动力。
Top-K Off-Policy Correction for a REINFORCE Recommender System,WSDM 2019
本文的主要亮点是提出了一种 Top-K 的 Off-Policy 修正方案将 RL 中 Policy-Gradient 类算法得以应用在动作空间数以百万计的 Youtube 在线推荐系统中。
众所周知[1],Youtube 推荐系统架构主要分为两层:召回和排序。本文中的算法应用在召回侧。建模思路与 RNN 召回类似,给定用户的行为历史,预测用户下一次的点击 item。受限于 On-Policy 方法对系统训练架构要求复杂,所以本文中转而采用 Off-Policy 的训练策略。也就是说并不是根据用户的交互进行实时的策略更新,而是根据收集到日志中用户反馈进行模型训练。
这种 Off-Policy 的训练方式会给 Policy-Gradient 类的模型训练带来一定的问题,一方面策略梯度是由不同的 policy 计算出来的;另一方面同一个用户的行为历史也收集了其他召回策略的数据。所以文中提出了一种基于 importance weighting 的 Off-Policy 修正方案,针对策略梯度的计算进行了一阶的近似推导。
因为是基于用户的交互历史预测下一个用户点击的 item,所以文中也采用 RNN 针对用户 State 的转换进行建模。文中提到实验了包括 LSTM、GRU 等 RNN 单元,发现 Chaos Free 的 RNN 单元因为稳定高效而使用起来效果最好。
在上述的策略修正公式(3)中最难获取到的是用户的行为策略,理想情况下是收集日志的时候同时把用户相应的用户策略也就是点击概率给收集下来,但由于策略不同等客观原因文中针对用户的行为策略使用另外一组θ’参数进行预估,而且防止它的梯度回传影响主 RNN 网络的训练。
另外,由于在推荐系统中,用户可以同时看到 k 个展示给用户的候选 item,用户可能同时与一次展示出来的多个 item 进行交互。因此需要扩展策略根据用户的行为历史预测下一次用户可能点击的 top-K 个 item。
假设同时展示 K 个不重复 item 的 reward 奖励等于每个 item 的 reward 的之和,根据公式推导我们可以得到 Top-K 的 Off-Policy 修正的策略梯度如下,与上面 Top 1 的修正公式相比主要是多了一个包含 K 的系数。也就是说,随着 K 的增长,策略梯度会比原来的公式更快地降到 0。
从实验结果的角度,文中进行了一系列的实验进行效果比较和验证,其中 Top-K 的 Off-Policy 修正方案带来了线上 0.85%的播放时长提升。而且前文也提到过,Minmin Chen 大神在 Industry Day 上也提到线上实验效果显示这个是 YouTube 单个项目近两年来最大的 reward 增长。
另外,在最新一期的 Google AI Blog[3]上,宣布提出了一种基于强化学习 Off-Policy 的分类方法,可以预测出哪种机器学习模型会产生最好结果。感兴趣的可以继续延伸阅读一下。
Reinforcement Learning for Slate-based Recommender Systems: A Tractable Decomposition and Practical Methodology,IJCAI 2019
这篇文章相比于第一篇文章时间要晚一点,提出的方法也不尽相同,不过类似的是都宣称在 Youtube 线上推荐系统上取得了不错的效果。主要贡献是提出了一种名为 SLATEQ 的 Q-Learning 算法,优化推荐系统里面同时展示给用户多个 item 情况的长期收益 LTV(Long-term Value)。
这里首先讲一下这篇文章与第一篇文章的不同,首先,第一篇文章假设了在推荐系统中同时展示 K 个不重复 item(本文中称为 Slate)的奖励 reward 等于每个 item 的 reward 的之和,这个在本文中认为实际上是不合理的,因此建模了 Slate 的 LTV 和单个 item 的 LTV 之间的关系;其次,本文显式的建模与评估了整个系统 LTV 的收益。
从系统架构的角度,本文扩展了 Youtube 现有的只注重即时收益的 ranker,也就是针对 CTR 等指标以及长期收益 LTV 进行多目标前向深度网络学习。值得注意的是,为了保证线上实验的公正性,这里除了多目标外,其他与 Youtube 线上的特征以及网络参数都完全一样。
最后实验部分,本文中评估的是 User engagement,可以从下图中看到效果提升是明显且稳定的。
其他业界进展
除了 Google 的上述两篇论文外,工业界其他公司也在积极尝试强化学习在推荐系统中的实战,下面主要简要列出来一些到目前为止的进展:
Generative Adversarial User Model for Reinforcement Learning Based Recommendation System,ICML 2019
在蚂蚁金服被 ICML 2019 接收的这篇论文中,作者们提出用生成对抗用户模型作为强化学习的模拟环境,先在此模拟环境中进行线下训练,再根据线上用户反馈进行即时策略更新,以此大大减少线上训练样本需求。此外,作者提出以集合(set)为单位而非单个物品(item)为单位进行推荐,并利用 Cascading-DQN 的神经网络结构解决组合推荐策略搜索空间过大的问题[1]。
Virtual-Taobao: Virtualizing real-world online retail environment for reinforcement learning,AAAI 2019
阿里 at AAAI 2019,“虚拟淘宝”模拟器,利用 RL 与 GAN 规划最佳商品搜索显示策略,在真实环境中让淘宝的收入提高 2%。美中不足的是 baseline 仍然是传统监督学习而不是深度学习方案。
Large-scale Interactive Recommendation with Tree-structured Policy Gradient,AAAI 2019
参考文献
[1] Deep Neural Networks for YouTube Recommendations, RecSys 2016
[2] Wide & Deep Learning for Recommender Systems,
[4] Reinforcement Learning to Optimize Long-term User Engagement in Recommender Systems
[5] 阿里的《 强化学习在阿里的技术演进与业务创新》
[6] 京东的 Deep Reinforcement Learning for Page-wise Recommendations
本文授权转载自知乎专栏“深度推荐系统”。原文链接:https://zhuanlan.zhihu.com/p/69559974
评论