Towards Long-term Fairness in Recommendation
摘要
之前大多数关于公平感知的推荐系统都是静态的或者一次性设置的,而且被保护的物品组也都是固定的,模型提供基于公平约束优化的一次性公平解决方案,这就无法考虑到推荐系统的动态本质,因为很多属性,譬如物品流行度都是随着推荐系统策略或者用户事务而不断改变的。因此,系统想要维持不同流行度组的长期公平就必须要考虑到随时间迁移的变化。
本文提出的算法重点关注不同组物品的曝光方面的公平,这些组都是基于流行度划分的。算式是基于公平限制的RL方法,以CMDP的思想解决推荐问题,以使得模型能够动态调整推荐策略从而确保随着环境变化始终满足公平要求。
实验基于几个真实数据集,从推荐表现、短期公平和长期公平来验证框架的优越性。
介绍
RS可能会受到不同维度的算法偏差限制,导致对一些劣势或者不能得到很好表现的物品组产生负面影响,譬如“马太效应”。现有的研究都是基于静态设置的规则,来提升推荐系统的公平性,这也只能评估短暂的公平性的影响,而非长期的结果。
例如,A、B、C、D四个物品,其中A和B是受欢迎的组G0,C和D是长尾组G1,根据人口对等公平约束,每次推荐系统推荐两个物品,那考虑到位置偏差,我们就有四种组合,AC、AD、BC、BD,但设想在这个过程中,D有更多机会被点击,几次之后,D就有了更高的效用值,但是D仍然在G1组,这就导致算法倾向于推荐D以获得更大的效用值,而且还能满足组公平的要求,这就是体现了长期过程在G1组中产生的马太效应。这个例子表明了强加一些看似公平的静态规则但实际上长期来看就会产生意想不到的不公平问题。本质上,公平其实就不能定义于静态或者一次性的设置,因为这都没有考虑到长期的影响,而且不考虑潜在的动态变化也根本做不到长期的公平。
定义 静态公平 就是不考虑推荐环境的变化,例如物品效用值、属性、组标签等等的变化。一般情况下,静态公平提供的是一种基于公平性约束优化的一次性设置方法。
定义 动态公平 是考虑到环境的变化,而且会学习一个推荐策略以适应这些变化,动态评判是将推荐看作一种长期的过程以保持长期的公平性。
本文考虑的是基于流行度区分的组上保证物品曝光度的公平。这个过程中的挑战就是由于推荐策略和用户反馈的影响,用户会产生不同程度的曝光,从而引起随时间迁移组标签的变化。论文提出并解决了三个问题:
- 如何在推荐系统场景中组标签不断变化的场景下建模物品曝光的公平性
- 如何根据实时的物品曝光记录以及用户交互更新推荐系统策略
- 如何在大数据集上进行有效的策略优化
论文将用户和推荐系统之间的序列交互建模为一种在每次迭代过程中物品曝光度的公平性动态约束CMDP,利用CPO算法以及神经网络结构在公平约束条件下动态学习优化策略。这是首次考虑到组标签不断变化的情况下,建模动态的公平性,并展示了长期过程中的有效性。
相关工作
排序或者推荐系统中的公平
推荐系统两种公平定义类型:个体公平和组公平
个体公平 不考虑物品的保护特性(人口信息)平等对待个体
组公平 平等对待不同的组
本论文主要关注组公平,但由于容纳动态组标签的变化,所以也处理了个体公平
相关的排序或者推荐中的公平主要分为三种:
- 限制于有界的公平条件,优化效用值(通常表现为相关性)
- 在较低的效用值界限内,优化公平性
- 联合优化效用值以及公平性
用于推荐系统的RL
MDP可以分成基于策略的和基于值的
基于策略的RL方法: 目标是学习一种策略能够基于当前策略产生一个动作(如推荐的物品),这种方法是通过策略梯度优化的,既可以是确定的也可能是随机的。
基于值的RL方法: 目标是建模动作的质量(Q-learning),以便于一个动作对应一个最好的值
本paper的方法主要关注于物品方的公平,而非用户方的公平
PRELIMINARY
MDP
MDP可表示为一个元组M=(S,A,P,R,u,r),S是n个状态集合,A是m个动作的集合,P:SxAxS->[0,1]是变换概率函数,R:SxAxS->R是奖赏函数,u:S->[0,1]是初始状态分布,r\( \in \) [0,1)是折扣因子。策略Π是一个状态到各种动作的概率分布映射。RL的目的就是最大化累计折扣奖赏J(Π)
J
(
π
)
≐
E
τ
∼
π
[
∑
t
=
0
∞
γ
T
R
(
s
t
,
a
t
,
s
t
+
1
)
]
J(\pi)\doteq \mathop{E}\limits_{\tau \sim \pi} \left[ \sum\limits_{t=0}^\infty \gamma ^TR(s_t,a_t,s_{t+1}) \right]
J(π)≐τ∼πE[t=0∑∞γTR(st,at,st+1)]
CMDP
CMDP是MDP约束加强版,限制了MDP的可行策略,具体的,就是MDP会受到一系列代价函数C1、…Cm和对应的上届d1,…,dm,指Ci必须收到di的限制,Ci:SxAxS->R映射一个转换元组到代价,像MDP中的奖赏函数,类似的也有JCi(Π)表示累计折扣代价,RL此时学习的问题就是要在代价约束的策略中寻找能使累计折扣奖赏函数最大的映射Π
Constrained Policy Optimization
使用信任区域代替策略散度惩罚,从而得到更大的步长,对于只有一个线性约束的问题,也有对应的解决方案,看paper吧,太难了。。
问题的形式化定义
推荐中的CDMP
在每个时间戳(t1,t2,t3…,t4),一个用户发送一个请求到推荐系统,推荐智能体G会将当前用户特征表征和候选物品I作为输入,生成一个物品列表L作为推荐,用户u收到物品列表L会给出自己的反馈B(比如点击物品),因此,状态s可以令用户特征表示,动作a可以用物品列表L表示,奖赏r是即刻奖赏(例如,是否用户点击了L中的物品),代价c是即可代价(例如推荐的物品是否来自敏感组)
公平约束
人口对等限制: 使用曝光度来定义不同组的公平。人口对等要求不同组的平均物品曝光是相等的,算法设置中,是这个约束强加在每一次迭代过程中
精准K公平性约束: 要求在每个推荐列表中受保护的候选者要统计上低于或者不可区分与给定的最大值
α
\alpha
α 当
α
=
∣
G
0
∣
∣
G
1
∣
\alpha = \frac{|G_0|}{|G1|}
α=∣G1∣∣G0∣ 时,则与人口对等相同。
FCPO: Fairness Constrained Policy Optimization
提出的FCPO包含一个演员和两个评委,目标是学习一个最优策略,能够在给定公平约束的条件下最大化累计折扣奖赏。
奖赏函数定义为L中收到用户正反馈的物品的个数
代价函数定义为L中处于敏感组的物品的个数
根据paper公式推导,代价函数
C
(
s
t
,
a
t
,
s
t
+
1
)
≤
α
1
+
α
K
=
α
′
K
C(st,at,st+1)\leq \frac{\alpha}{1+\alpha} K= \alpha ^\prime K
C(st,at,st+1)≤1+ααK=α′K
那么就可以得到
J
c
(
Π
)
≤
∑
t
=
0
T
γ
c
t
α
′
K
Jc(Π)\leq \sum\limits_{t=0}^T \gamma^t_c\alpha^\prime K
Jc(Π)≤t=0∑Tγctα′K,T时推荐轨迹的长度,我们可以定义不公平d的限制条件是
d
=
∑
t
=
0
T
γ
c
t
α
′
K
d = \sum\limits_{t=0}^T \gamma^t_c\alpha^\prime K
d=t=0∑Tγctα′K
将上述重定义的式子带入到CPO中,并且由于我们模型只包含一个线性公平约束,那么就可以使用之前提到的解法得到解析解
提出框架
解决方法是使用演员-评委学习规则,但是多了一个用于公平性约束的评委网络
演员
st可以由用户embedding和历史物品hu表示,
s
t
=
[
e
u
;
h
u
]
,
h
u
=
G
R
U
(
H
t
)
st=[e_u;h_u],h_u=GRU(H_t)
st=[eu;hu],hu=GRU(Ht)
Ht是最近用户交互的N个物品,hu是通过(双层)GRU学习得到,当物品推荐列表L中接收到正反馈时,就需要更新H列表准备给下一个的st。
假设以状态为条件的动作概率是一个连续的高纬度高斯分布,为了得到更好的表示能力,使用神经网络映射编码的状态st到mu和sigma,具体来说,就是使用MLP和tanh的得到 (\mu,\Sigma )=MLP(s_t) ,然后从高斯分布中采样得到建议矩阵
W
∼
N
(
μ
,
Σ
)
∈
R
K
×
d
W \sim \mathcal{N}(\mu,\Sigma)\in \mathbb{R} ^{K\times d}
W∼N(μ,Σ)∈RK×d ,其中每一行表示理想物品的embdding,选择第k个物品的概率矩阵可以通过softmax(Wk VT)得到,就是等价于用内积来决定物品相似度,然后每次推荐k个物品,就直接可以从P矩阵中的每一行挑出概率最大的即可。
评委
评委网络是根据时序学习最小化MSE
值函数评委
L
(
w
)
=
∑
t
(
y
t
−
V
w
(
s
t
)
)
2
\mathcal{L}(w)=\sum\limits_t(y_t-V_w(s_t))^2
L(w)=t∑(yt−Vw(st))2
其中,
y
t
=
r
t
+
γ
r
V
w
(
s
t
+
1
)
y_t=r_t+\gamma_rV_w(s_{t+1})
yt=rt+γrVw(st+1)
代价函数评委
L
(
ϕ
)
=
∑
t
(
y
t
−
V
ϕ
(
s
t
)
)
2
\mathcal{L}(\phi)=\sum\limits_t(y_t-V_\phi(s_t))^2
L(ϕ)=t∑(yt−Vϕ(st))2
其中,
y
t
=
c
t
+
γ
c
V
ϕ
(
s
t
+
1
)
y_t=c_t+\gamma_cV_\phi(s_{t+1})
yt=ct+γcVϕ(st+1)
训练过程
根据算法伪代码,分为生成轨迹和模型更新两个阶段
评估过程
短期验证
按照算法伪代码,我们只需要保存轨迹生成阶段,舍弃模型参数更新阶段,我们一旦获得到所有轨迹之后,我们就可以根据log数据计算推荐表现,利用固定组标签根据曝光记录来计算公平表现
长期验证
代替使用随机初始化模型参数,我们使用提前精心训练过的模型参数,模型参数在训练过程中也会改变,同时,物品标签也会根据当前印象结果动态变化,这就意味着公平约束其实也是在实时变化的。我们重复推荐T次,以便观察到长期的表现。
实验
使用Movielens数据集,分别选择100K和1M的,每个数据集,根据时间戳对每个用户的事务排序,然后按照4:1的比例分割训练集和测试集,每个用户的最后一个物品放到验证集;将前20%物品归属到G0受欢迎组,其余都是长尾组。对于RL推荐,训练过程中每个用户的初始状态是训练集的前5个物品,测试阶段的初始状态是训练阶段的后5个点击物品。
实验设置
和MF、BPR-MF、NCF、LIRD对比,对于MF、BPR-MF、NCF还是用了FOE再排序方法
FCPO使用LBFGS优化器,使用PMF算法训练过的与训练模型得到物品和用户的embedding,然后固定embedding layer
** 验证指标** :推荐表现使用Recall、F1 Score、NDCG
对于公平的指标,使用GINI Index和受欢迎度
实验结果
- 推荐性能 结果表明了提出FCPO方法可以捕捉到用户-物品的动态交互,捕捉到更好的用户偏好以产生更好的推荐结果。对于FCPO和LIRD即使他们都有相同的状态表示和训练过程,但是仍然是FCPO表现更佳,其归功于基于信任区域的优化方法,使得模型训练更加稳定。
- 短期公平性表现 使用GINI Index和受欢迎度,相同的GINI-index有更好的NDCG,相同的NDCG有更好的公平性表现,实现了更好的准确度和公平性的trade off
- ** 性能表现** 相比于FOE的rerank过程,FCPO时间更短
长期公平表现
对于MF-FOE其公平指标很快就收敛了,但FCPO由于根据公平性反馈不断调节策略,使其能够成功并且持续使得公平指标到更低水准(GINI-index和受欢迎度越低越好)
结论
在这次工作中,提出了一种考虑到动态组标签变化的基础上,建模了推荐系统的长期公平性,完成了推荐系统学习框架的公平约束情况下,能够处理长期的动态公平性,实验证明了FCPO有更好的推荐性能、短期公平和长期公平。未来的工作室,优化个体公平限制,并泛化到其他应用场景例如电子商务推荐和兴趣点推荐。