强化学习RL应用在youtube推荐系统 2019谷歌论文解读

本文详细介绍了谷歌2019年的一篇论文,该论文提出了Slate-Q算法,用于强化学习在YouTube推荐系统中的应用。传统推荐系统面临短期回报与长期价值之间的平衡问题,Slate-Q通过分解slate行动空间,优化Q值,解决了这一难题。该方法结合了用户选择行为和马尔可夫决策过程,通过模拟用户环境和经验估计进行训练,实现了在大规模商业系统中的高效推荐策略。
摘要由CSDN通过智能技术生成


论文解读:Reinforcement Learning for Slate-based Recommender Systems: A Tractable Decomposition and Practical Methodology

原文链接:https://www.cs.toronto.edu/~cebly/Papers/SlateQ_IJCAI_2019.pdf

  • 论文主要贡献:

1、提出了一种名为 SLATE-Q 的 Q-Learning 算法,将一个slate的推荐序列分解成多个items,计算长期收益 LTV(Long-term Value), 将长期收益加入排序多目标中进行建模优化。(我理解的slate是一个候选列,相当于给用户推荐的item的候选列表。)

引入了几个假设: user choice behavior 和 system dynamics.

分解slate以后减少了TD模型(temporal difference)如Q-learning、SARSA算法的generalization(泛化) and exploration(探索)的复杂度。对于一些特定的choice model, 可以使用optimal LP-based 和 启发式算法:greedy 和 top-k 的方法来解决slate的最优化问题。结果显示SLATEQ的方法有很好的鲁棒性,而且可以运用到大规模的商业系统如youtube。

2、沿用现有的短期回报模型,得到长期回报RL模型的具体的实施方法,并且在youtube上进行实验。

1、Introduction

目前主流的个性化推荐技术的问题:

  • 优化的目标都是短期的回报,比如点击率、观看时长,很难对长期收益 LTV(long term value) 建模。
  • 最主要的是预测用户的兴趣,但模型都是基于 logged feedback 训练,样本和特征极度稀疏,大量的物料没有充分展示过,同时还是有大量的新物料和新用户涌入,存在大量的 bias。另外,用户的兴趣变化剧烈,行为多样性,存在很多 Noise。
  • pigeon-hole:在短期目标下,容易不停的给用户推荐已有的偏好。在另一面,当新用户或者无行为用户来的时候,会更倾向于用大爆款去承接。

强化学习(RL)应用在推荐系统

众所周知,RL 是典型的需要海量数据的场景,比如著名的 AlphaGo 采用了左右互博的方式来弥补训练数据不足的问题。但是在推荐场景,用户和系统的交互是动态的,即无法模拟。举个例子,你不知道把一个没有推荐过的商品 a 给用户,用户会有什么反馈。

  • 极大的action space:many millions of items to recommend。推荐给用户的选择有成千上万,且推荐给用户的是一系列的items,是一个组合问题,让action space更加复杂。
  • 由于是动态环境,无法确认给用户看一个没有看过的item,用户的反馈会是什么,所以无法有效模拟,训练难度增加。
  • 本质上都要预估 user latent state,但存在大量的 unobersever 样本和noise,预估很困难,这个问题在 RL 和其他场景中共存。
  • long term reward 难以建模,且 long/short term reward。tradeoff due to user state estimate error。

2、Related work

Recommender Systems 推荐系统

基于协同过滤的推荐系统是最为常见的。这里不过多做介绍。

序列模型和RL推荐系统

User Choice Behavior 用户选择行为建模

优化推荐序列的问题取决于用户选择行为,主要的模型有multinomial logit (MNL)

和它的拓展conditional logit model等。

RL with Combinatorial Action Spaces

Sequential DQN

Slate MDPs

3、MDP模型 马尔可夫决策过程

RL 最大的特点是和环境的交互,是一种 trial-error 的过程,通常我们会用 MDP 来描述整个过程,结合推荐场景,四元组数学定义如下:

  • S :state,用户状态
    • 静态(声明的用户兴趣、属性)和动态特征(用户的context)
    • 用户的反馈、接受的建议、用户的响应(接受或拒绝的推荐)、用户参与度
  • A:action,给用户推荐的item,离散空间
  • P(s’|s,A): S × A × S → R,状态转换的概率,在状态s下采取A时,转移到状态s‘的概率。反映了用户response和环境因素的不确定性。
  • R:S × A → R,reward function,即刻的回报,文章用用户的参与度来建模。(需要考虑到用户回应的不确定性)

函数定义:

  • value function:

  • 训练出最优的value function:

  • q-function:

  • 训练出最优的q-function:

  • SARSA的方法更新q-value(on-policy):

    Q ( t ) Q^{(t)} Q(t):第t次迭代 Q π Q^{\pi} Qπ的预测值

    α \alpha α: 学习率

  • Q-learning的是off-policy:

4、Slate-Q:候选值的分解

上述公式的问题:用户的action space复杂度过大,数据需要压缩表示,需要找到一个组合的优化的问题最优解。

提出一个计算Q-value的方法:Slate-Q。

通过将一个slate(候选列)的LTV分解成item级别的LTVs,支持了有效率的TD-learning,并且重点建模了user choice modle。

这个 itemwise 和我们常规理解的 pointwise 的个性化技术还是有区别的,在于这个 wise 是 reward 上的表达,同时要引申出 user choice model 。pointwise 的方法只考虑单个 item 的概率, itemwise虽然也是认为最后的 reward 只和每个被选中的 item 有关,且 item 直接不互相影响,但它有对 user choice 做假设。将目标函数的优化变成一个多项式内可解的问题。

  • SC(Single choice) :一个用户从候选列中每次只选择一个item(可能是null ⊥).

    • 用R(s, A, i)表示用户在状态s下,采取候选序列A,选择第i个item的reward。

      P (s′ |s, A, i)同理,于是reward可以用一下的累加和式子表示。

  • RDTS (Reward/transition dependence on selection):得到的回报或着状态转换R(s, A)、P (s′ |s, A) 只和当前选择的 item 有关。

    我们可以假设用户的行为不会受一个slate A中未被选中的item的影响,则得到如下的简化式子。

用一个item级别的辅助函数 Q ‾ π \overline Q^{\pi} Qπ,表示了用户消费一个item的LTV,并且与slate A无关,只和单个item有关。

于是结合SC的假设,有如下结论:

更新公式:

最终会收敛到最优的 Q ∗ ( s , A ) Q^*(s, A) Q(s,A)

5、用Q-values 优化 Slate

为了让Q-learning可行,必须需要解一个combinatorial slate optimization problem(组合slate的最优化问题)—— 即给定一个每个item的Q-value,找到一个有最大LTV的slate。

运用了一个 fractional mixed-integer programming公式来优化slate,然后用formulation和relaxation使得问题能够得到线性规划的解决。

还提出了两个启发算法:top-kgreedy的slate构造,虽然没有理论依据,但在实验中跑的很好。

1.Exact Optimization算法

需要最大化如下值:

结论:在sc假设下能在多项式时间内解出结果。

具体最优化的计算过程取决于choice model的具体形式,文章采用了conditional logit model (CLM) 来进行计算。

  • x i j x_{ij} xij :用户i选择item j 的概率

选择item基于的是item的LTV or Q-value,而不是它对用户的即刻的吸引力。

假设用户在s状态下以v(s,i)的概率选择了item i,

最优化公式(把 P ( j ∣ A ) P(j|A) P(jA)代入):

以上问题是classic product-line的变体,可以运用 assortment optimization or product line design的方法来解,转换为线性规划的问题:

Chen and Hausman [2000]论文讨论了解法。

2.Top-k 和 Greedy 算法

避免LP(线性规划)问题在serving阶段计算。

一个启发式的算法是得到将k个items直接相加的最高的score。

  • Top-k optimization

将item的以 v ( s , i ) Q ‾ ( s , i ) v(s,i) \overline Q(s,i) v(s,i)Q(s,i)的值的降序排列插入到slate里面。时间复杂度由 O ( l o g ( I ) ) O(log(I)) O(log(I))变成 O ( I ) O(I) O(I)

  • Greedy optimization

    根据现在的slate更新item的分数。比如给定 A ′ = i ( 1 ) , . . . i ( L − 1 ) , A′ = {i_{(1)}, . . . i_{(L−1)}} , A=i(1)

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值