关注我们,一起学习~
title:Supervised Advantage Actor-Critic for Recommender Systems link:https://arxiv.53yu.com/pdf/2111.03474.pdf from:WSDM 2022
预备知识:强化学习(DQN,AC)
1. 导读
由于异策略训练,巨大的动作空间和缺乏充分的奖励信号,强化学习(RL)很难直接用于推荐系统(RS)。本文提出一种负采样策略来训练RL,并将其与监督序列学习结合,称为SNQN。并且,利用Actor-Critic的优势扩展上述方法提出SA2C,通过计算优势函数(advantage),将其作为监督序列学习部分的权重。
2. 方法
表示商品集合,用户-商品交互序列可以表示为
,其中
表示在时间戳i时的交互商品,模型目标为利用序列
估计
对应的商品。
2.1 强化学习设置
从RL角度,下一个交互商品的预测可以建模为马尔科夫决策过程MDP。这里对MDP对应的几个元素进行设置。
- S:连续状态空间,表示用户状态,时间戳t时刻的用户状态可以表示为
。
- A:离散动作空间,包括候选商品,智能体执行动作a选择某个商品,在离线数据中可以得到正动作,即离线数据中是已知
的。
- P:表示状态转移概率,在从离线数据中学习时,我们可以假设只有正行为才能影响用户状态。换句话说,采取负行为(即负样本)(未观察到的)不会更新用户状态。
- R:奖励(回报)函数,r(s, a)表示在状态s执行动作a时的即时奖励
:表示初始状态分布,
- γ:表示累积回报计算时的折扣系数
RL的目标就是找到使得累积回报的期望最大的策略π,公式如下,其中θ表示策略的参数。
2.2 SNQN
在在线推荐系统中,无法试错,因为试错的过程会给用户带来不好的体验,因此本文采用异策略(off policy)的训练,并利用SNQN进行采样。对于经典的序列推荐模型,给定序列数据
和推荐模型G(),交叉熵损失函数定义如下,其中Y是真实标签。
当G()将用户行为序列编码后得到
,可以将其作为RL模型中的状态。共享G()部分来进行编码得到状态s,定义另一个输出层来得到Q值,公式如下,其中h和b为可学习参数,
以上Q值的计算是基于行为序列的,即我们能观察到的正样本,这里没有包含负样本,本文提出负奖励采样策略,SNQN的Q-learning损失函数不仅包含正动作样本,也包含负动作样本,公式如下,这里采用的是一步的时间差分(TD)方法。其中,
,
分别表示正动作和负动作。
表示未观察的负动作的集合,
对于负行为,他的奖励是固定的,即
,正行为可根据不同的需求来定义。
将交叉熵损失函数和Q-learning损失函数一起训练,总损失如下,
伪代码如下,这里总体训练是采用double DQN的方式,即复制两个备份的G'和Q',采用这种方式更稳定,这也可以起到异策略的作用。
2.2 SA2C
Actor-Critic (AC) 方法的关键思想是用Critic来评估Actor所采取的动作的好坏,并为具有高累积奖励的行动分配更高的权重。在 SNQN 方法中,监督学习部分可以被视Actor来模仿用户的行为,即学习用户行为产生正确的动作。Critic就是前面计算Q值的网络。Q值对时间戳敏感,因为折扣系数的存在,序列早期的动作具有更大的影响,所以长序列的早期时间戳中的不良动作也可能具有高 Q 值。
所以这里采用的是优势函数,即Q值的相对优势有多大,即与平均Q值相比,当前执行动作可以获得Q值的相对提升。这个优势可以帮助我们减轻从序列时间戳引入的偏差。然而,沿整个动作空间计算平均 Q 值会引入额外的计算成本,尤其是当候选商品集很大时。SNQN中已经引入了负采样方法,这里一个简洁的解决方案是计算采样动作(包括正例和负例)之间的平均值作为近似值。基于这个动机,平均 Q 值可以定义为:
观察到的(正的)行动的优势被表述为:
我利用这个优势来重新加权Actor(即监督学习部分Ls)。如果一个正行为比平均值具有更高的优势,就会增加它的权重,反之亦然。为了提高稳定性,在计算平均Q和优势函数时,停止梯度更新并固定Q值。SA2C 的训练损失公式为:
3. 结果