Top-K Off-Policy Correction for a REINFORCE Recommender System
提出一种 Top-K 的 Off-Policy 修正方案将 RL 中的 REINFORCE 算法应用在动作空间数以百万计的 Youtube 在线推荐系统中。
传统的 REINFORCE 算法策略梯度为:
其中 [公式] 为:
但是在工业级的推荐场景,对策略进行实时的更新并根据新的策略生成样本轨迹是很难做到的,因此只能使用日志里面的用户反馈去构造训练样本进行模型训练。这种 Off-Policy 的训练方法会给模型训练带来一些问题,一方面策略梯度是由不同的 policy 计算出来的;另一方面同一个用户的行为历史也收集了其他召回策略的数据。所以文中提出了一种基于 importance weighting 的 Off-Policy 修正方案,针对策略梯度的计算进行了一阶的近似推导。
修正后最终的梯度为:
公式中用户的状态 st 是通过 RNN 单元来提取的,其它项可通过下面的模型来获取到,
另外在推荐系统中,用户可同时看到 k 个展示 item,并且可能同时与一次展示出来的多个 item 进行交互。因此需要扩展策略为根据用户的行为历史预测下一次用户可能点击的 top-K 个 item。
相比于 top-1 修正的策略梯度项,top-k 的策略梯度多了一项
其实也很好理解,这一项 [公式] 表示 item a 出现在无重复推荐列表 A 中的概率,对该项求倒数即可得到该修正项。
实验结果,Top-K 的 Off-Policy 修正方案带来了线上 0.85%的播放时长提升,是 YouTube 单个项目近两年来最大的 reward 增长。
SLATEQ: A Tractable Decomposition for Reinforcement Learning with Recommendation Sets
提出了一种名为 SLATEQ 的 Q-Learning 算法,优化推荐系统里面同时展示给用户多个 item 情况的长期收益 LTV(Long-term Value)。
Generative Adversarial User Model for Reinforcement Learning Based Recommendation System
针对推荐系统,提出了一种 model-based 的 RL 算法。具体是使用了生成对抗去模拟用户的动态行为和奖赏函数。并基于这个模拟器生成的数据,提出了名为 Cascading DQN 的算法。
将 RL 应用与推荐系统目前存在的难点:
用户的奖赏函数不好定义,直接根据点击与否定义为+1 和-1 是不能表达出用户对不同商品的偏好。
model-free 的 RL 算法都需要大量的 Agent 和环境交互得到的样本来保证学习到一个好的策略。但是对于推荐系统来讲,如果一旦一开始给用户展示的就是些随机商品,那么用户很可能就会退出 APP,也就是探索的困难性很大。
文中分别尝试了使用 position weight 和 LSTM 去建模用户状态空间,如下图
其中 [公式] 到[公式]分别是当前 session 下 t-1 时刻到 t-m 时刻的 click 商品的向量,建模出用户状态空间 [公式] 之后和当前的动作 [公式] 做 concat,输入到 mlp 中,输出当前状态动作对的奖赏 [公式] 。
有了奖赏值之后,就可以算出最优 Q 值了:
求出最优 Q 值后,最优的策略为:
但是一次从 K 中选取小 k 个商品的动作空间实在太大,因此使用了级联的 Q 算法来解决该问题。
Virtual-Taobao: Virtualizing real-world online retail environment for reinforcement learning
5. Large-scale Interactive Recommendation with Tree-structured Policy Gradient
本文转载自 Alex-zhai 知乎账号。
原文链接:https://zhuanlan.zhihu.com/p/77694065
评论