论文名称:Recommendations with Negative Feedback via Pairwise Deep Reinforcement Learning
论文地址:https://arxiv.org/pdf/1802.06501.pdf
其他讲解论文的文章:推荐系统遇上深度学习(三十五)--强化学习在京东推荐中的探索(二) - 程序员大本营
基于强化学习的推荐系统有两个优点。
1:首先,在和用户交互期间,他们不断更新他们的试错策略,直到系统收敛到最优策略,生成最适合用户动态偏好的推荐
2:其次,系统中的模型是通过估计当前状态下延迟奖励的value和action来进行推荐
最优策略是通过最大化期望
来自用户的长期累积奖励。 因此,该系统可以识别即时奖励小但收益大的推荐策略
状态空间S:状态空间中的状态定义为用户在时间 t 之前的浏览历史,包括点击/购买过的和略过的,二者分开进行处理。同时,物品是按照先后顺序进行排序的。
动作空间A:这里,我们假设一次只给用户推荐一个物品,那么推荐的物品即动作。at是时间 t 给用户推荐的item
即时奖励R:在状态 st 给用户推荐一个item at 后,用户可以选择忽略、点击甚至购买该物品,根据用户的行为将给出不同的奖励。
状态转移概率P:状态的转移主要根据推荐的物品和用户的反馈来决定的。p(st+1 |st, at )表示在状态st情况下 系统给推荐at这个item,然后状态变成 st+1的概率。我们假定 MDP p(st+1 |st, at, ...,s1, a1) = p(st+1 |st, at ),也就是当前概率和之前发生的动作无关
折扣因子r:对未来收益打一定的折扣,取值[0,1]。取0时,只考虑即时收益,取1时,未来收益全部考虑
整个系统的目标是:给定(S A R P r),目标是找到一个推荐策略 π : S → A,可以最大化推荐系统的累积奖励
本文流程,先设计一个只考虑“正反馈”的强化学习框架,再设计一个同时考虑“正负反馈”的框架,然后怎么用离线用户行为数据训练模型。然后怎么用这个框架来进行推荐
一、先看下只考虑“”正反馈的学习框架里面的内容
1:讲解下在视频场景下,标准DQN的Bellman公式(额外话题)
标准DQN:
Q(S,A)=R+alpha*max(Q(S’, A’)) 非终止状态
alpha是用来控制关注未来收益的程度,如果为0的话,就说明只在乎即时收益(在下面这个视频场景中,即时收益指的是24小时内的收益)
Q(S,A)是状态-动作函数,S是当前状态,A是选择的action, R是收益;S’是下一个状态
对应到我们的场景中:
S 视频当前状态(使用作者+视频+时间统计特征来表征)
A 视频boost x次或不进行boost
S’视频24小时后的状态
A’视频24小时后的动作(预估)
R 视频boost后24小时内的新增vv
Q(S, A)是视频采取A动作后能够获得的总vv数(在S状态下,进行A动作)
Q(S’, A’)是24小时后状态已经变成了S',这时候采取动作A’之后,未来24小时能够获得的总vv数
2:在京东这个场景下
状态空间s:状态空间中的状态定义为用户之前的浏览历史,包括点击/购买过的和略过的。同时,物品是按照先后顺序进行排序的。
动作空间a:这里,我们假设一次只给用户推荐一个物品,那么推荐的物品即动作。
即时奖励r:在给用户推荐一个物品后,用户可以选择忽略、点击甚至购买该物品,根据用户的行为将给出不同的奖励。
状态转移概率P:状态的转移主要根据推荐的物品和用户的反馈来决定的。
折扣因子r:对未来收益打一定的折扣。
每次迭代训练时候的目标
其中的参数θ,用下面的loss公式来进行求解
当梯度优化上面方程(也就是求导的意思)时, 前一次的参数θp是固定的不变
在实践中,通过随机梯度下降来优化而不是计算所有梯度的平均期望。 图 3 说明了基本 DQN 模型的架构。
3.2 提议的 DEERS 框架
如前所述,用户跳过的项目也可以指示用户的偏好,即用户可能不喜欢什么。这种反馈也很重要
3.2.1 The Architecture of DEERS Framework