KDD2019 | 强化学习优化推荐系统长期收益

2021-06-10 15:29:22 浏览数 (1)

| 作者:阳光明媚

| 单位:华东师范大学

| 研究方向:推荐系统、强化学习

强化学习在训练agent时,优化的目标是最大化决策所能带来的长期奖励。传统的基于监督学习的推荐系统往往不考虑长期奖励,而是仅考虑短期的收益(例如此刻推荐什么物品点击率最高,或者本日推荐什么转化率最高)。因此,如果可以用强化学习的训练方式来训练推荐系统模型,使得推荐系统可以更多地考虑长期收益,就会使得决策模型眼光更长远,长远来看可能会带来更高的受益。关于推荐系统与强化学习相结合的背景知识,可查阅强化学习推荐系统的模型结构与特点总结

(*^▽^*)祝大家明天六一儿童节快乐~

这次介绍的文章:Reinforcement Learning to Optimize Long-term User Engagement in Recommender Systems,就是以此为切入点,考虑用强化学习优化交互式推荐的长期用户参与度,原文链接:

https://arxiv.org/pdf/1902.05570.pdfarxiv.org

强化学习之所以可以建模决策的长期收益,奥秘在于其优化目标。监督学习优化目标一般是最小化决策值与标签值的差异,例如二范数。如果我们从“获得奖励”的角度看待监督学习,当模型决策与标签一致或者相似时获得奖励,不一致或者不相似时就得不到奖励甚至得到惩罚,监督学习希望最大化每次决策所能得到的奖励,也就是每次决策都要和标签类似。这样做显然没有从全局考虑问题:在序列化推荐场景中,可能为了得到用户的点击率,模型会重复推荐同一物品,而没有考虑到前面已经反复推荐过该物品了。

而对于强化学习来说,其希望最大化的奖励是长期奖励

是没有可以去监督学习的标签的,只能通过最小化TD error的方式去近似:

r是与环境交互时获得的及时奖励,在推荐系统中对应用户的正向行为,例如收藏,下单。

下表对比了强化学习与监督学习在建模奖励上的不同:

学习范式

建模的奖励

奖励含义

动作选择的依据

优化目标(最小化)

强化学习

Q(s,a)

s状态采取动作a所能得到的长期奖励

选择最大化Q的动作

∣∣Q(st,at)−(rt Q(st 1,at 1))∣∣2

监督学习

R(s,a)

s状态采取动作a,环境所返回的即时奖励

选择最大化R的动作

∣∣R(st,at)−rt∣∣2

TD error的训练方式虽然理论上是可行的,但是实践中容易出现过估计(对一些决策过分的高估其

值),且训练不稳定的问题,这也是强化学习理论性质优美,但在工业界难落地的主要原因。本文所要介绍的京东这篇优化推荐系统长期收益的文章,其实按照论文中的讲解,从头到尾都没有上线测试,但是其中的一些思路还是值得借鉴。

奖励设置

奖励包括即时奖励与延迟奖励,最终的奖励为各种奖励的加权和:

其中

,被拼接起来的三项分别为:

  • 即时奖励,用户的点击或者下单行为
  • 延迟奖励,用户浏览时长:
  • 延迟奖励,用户返回时间:

其中

是超参数,

是两次访问之间的时间间隔。

值函数建模

值函数的形式和DQN相同,就是

,论文对于Q网络画了一张复杂的模型图,但其主要内容都是关于数据的embedding:

f_j代表用户的反馈,如点击,购买,停留,划过等;d_j代表行为持续时间。

整个过程可以概括如下:

得到初始item的embedding后,与用户行为的投影矩阵相乘:

然后与dwell time特征拼接喂给LSTM:

不同的用户行为对应隐特征又会被各自喂入各自的LSTM,进一步提取不同用户行为对应的特征:

拼接user embedding得到最终的状态的表示:

item embdgging作为动作的表示,将状态动作输入MLP,输出作为Q值:

用户模拟器

用户模拟器部分,是用的普通的监督学习模型,加一个多任务学习,输出用户行为类型以及持续时间,是否在线以及下次返回时间,模型结构图:

这里面的state-action embedding部分,与Q网络结构图中的embedding部分一样,可以直接拿来用。

完整算法流程

算法流程图很长,但是整个流程就是简单的四部分:

  1. 线下的日志数据提取用户行为,预训练用户模拟器
  2. 推荐策略与用户模拟器交互,收集转移元组
  3. 根据转移元组训练Q网络
  4. 根据数据训练用户模拟器

实验效果

文章先做了一些实验,证明自己的模型确实可以捕获用户的长期兴趣,然后有实验证明了本文算法相比于其他base算法在一些短期和长期度量上的优越性,但是一直回避了一个问题,就是用户模拟器的效果对最终模型的效果影响几何?因为文章和base模型对比的实验效果都是从用户模拟器中得来的,用户模拟器的性能因此就至关重要,文章回避了这一点。但是用户模拟器的思路,在虚拟淘宝中也有用到,另外,滴滴的基于深度强化学习的派单系统,据说(叶杰平在报告上说)也用到了类似思路的模拟环境。

0 人点赞