京东 - 负反馈的pairwise方式强化学习 - Recommendations with Negative Feedback viaPairwise Deep Reinforcement Lea

论文名称:Recommendations with Negative Feedback via Pairwise Deep Reinforcement Learning

论文地址:https://arxiv.org/pdf/1802.06501.pdf

其他讲解论文的文章:推荐系统遇上深度学习(三十五)--强化学习在京东推荐中的探索(二) - 程序员大本营

精华总结

1:首先要有一个网络,称为Q网络,要能在给定状态st和推荐结果at的情况下能得到预估到的奖励。参数定义为θ

2:再有真实的奖励(因为用的真实log数据,这个奖励肯定知道),真实奖励包含两部分,即时奖励+未来一段时间的奖励(这部分奖励用超参数来控制占比)

3:然后就是计算上面 1 2 的差值,并求 mse 作为误差,并反向传导更新 θ

不过论文中,将状态拆分成了正反馈、负反馈两部分,更复杂一些,不过流程都是这样 

基于强化学习的推荐系统有两个优点。
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

3.2.2 pairwise匹配方式

通过对用户日志的深入调查,我们发现在大多数推荐请求下,RA 推荐一些属于同一类别的item(例如电话),用户单击/订购其中的一部分并跳过其他。我们举例说明推荐会话的真实示例。在表1中,推荐了3类项目给用户,每次 RA 向用户推荐一个item。对于 B 类,我们可以观察到用户在点击项目 a2 的同时跳过了 item a5,表示用户对 B 类中这两个 item 的偏好的偏序。这个偏序自然
启发我们最大化 Q(s2, a2) 之间的 Q 值差异和 Q(s5, a5)。在时间 2,我们将 a5 命名为 a2 的竞争项。有时,一个项目可能有多个“竞争对手”项目;因此我们选择最接近时间的item作为“竞争者”项目。例如,在时间 3,a3 的竞争对手项目是 a1 而不是 a6。
总结下:我们根据三个要求选择一个目标项目的竞争对手项目:1)属于同一类别 2) 用户给出不同类型的反馈 3)时间尽量接近

 

 上面是在公式8的基础上增加一个item和匹配item的正则对,目标在于 在(s+,s−)这个状态下,最大化a ac两个竞争对之间的差异

3.3 Off-policy Training Task

我们在算法1中展示我们的离线训练算法。请注意,我们的算法是无模型的:它直接使用线上产生的样本解决强化学习任务,没有明确地构造一个环境

在每一次迭代时,使用一个session内的样本进行迭代,分为两个阶段,在初始状态st下,强化学习agent给出at,然后从用户侧收到实时奖励rt,然后状态更新成st+1,并尝试找到at的一个对比item at(c)。将下面这个状态存储在memory D中:s (st , at ,rt ,st+1, a C t /null)。在模型训练阶段,从D中采样一个batch的数据,并进行梯度回传优化强化学习的智能体

在训练中,我们利用一种称为经验回放的技术 [12](第 1、11、12 行),并引入了分离评估和目标网络[16],这可以帮助平滑学习和避免参数的分歧。 此外,我们利用优先采样策略 [18] 来帮助框架学习最重要的历史转折

3.4 Offline Test

我们离线测试方法的直觉是,对于给定的推荐session,推荐系统agent通过训练好的DQN进行重排序,并给用户推荐具有最大 Q 值的item。然后通过观察用户的即时奖励,并更新用户的状态。 仅对session内的item进行重排序而不对那些unpv的样本进行重排序,是因为我们只有session内的真正反馈

在每一次推荐session L中,初始状态是st(line2),推荐系统agent会通过每个训练好的DQN网络计算每个item的Q-value,推荐给用户最大的那个lmax,然后从用户处得到奖励rt(line 5),并更新状态到st+1(line 6),然后从L中把lmax给去掉。也可以扩展到一次推荐一批

3.5 Online Test

我们还在模拟的在线环境中进行在线测试。 这模拟的在线环境也在用户的日志上进行训练,但没有在相同的数据上训练 DEERS 框架。 模拟器具有与 DEERS 类似的架构,而输出层是一个 softmax 层,根据当前状态 st 和推荐item得到一个即时反馈。我们在用户的日志上测试我们的模拟器(不是用于训练 DEERS 框架的数据),实验结果表明,模拟的在线环境对于即时的整体精度为 90%,能够反馈预测任务。 这个结果表明模拟器可以准确模拟真实的在线环境并预测在线奖励,这使我们能够在其上测试我们的模型

当在模拟器上测试我们训练好的DEERS框架时,我们在(st,at),利用训练好的框架得到即时奖励r(st,at)。在线测试算法流程如上图,我们控制session的长度为T

在每一次测试的迭代中,给定session L+状态st(line 5),强化学习推荐系统依靠训练到的策略π给出推荐结果at,然后把 st at输入给模拟的线上环境,并得到奖励rt(line 7),并更新状态为st+1(line 8)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值