文章目录
Fair Representation Learning for Recommendation: A Mutual Information Perspective
背景
发表在AAAI 2023上的一篇文章,主要聚焦的问题是基于协同过滤的推荐系统的公平性问题。对于公平性的定义很难有一种统一的说法,作者在文中提出主要针对的是推荐系统受到类似于性别、种族等敏感因素的影响为用户推荐不当的结果。
不公平的推荐系统的两个实例:1.新闻推荐系统可能会推荐带有明确政治偏见的新闻来操纵用户的选择。2.职业推荐系统可能会不成比例地向女性用户推荐相对低收入的工作。
摘要
针对推荐系统受到敏感属性的影响造成不公平的推荐的问题,作者提出的方法是用一个新的双重互信息目标重新定义了公平性,以此来提供推荐地公平性,同时避免准确性下降。之后设计了一个基于协同过滤的Fair Mutual Information(FairMI)框架,使用该框架可以生成嵌入可以在删除敏感的信息的同时保留尽可能多的非敏感信息。
方法论
3,1 前言
互信息 Mutual information MI:一种基于香农熵的度量两个随机变量之间相关性的方法,变量X和Y之间的MI定义为:
I
(
X
;
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
(1)
\mathcal{I}(X;Y) = \mathcal{H}(X) - \mathcal{H}(X|Y) \tag{1}
I(X;Y)=H(X)−H(X∣Y)(1)
协同过滤基本概念:
用户集: U ( ∣ U ∣ = M ) U(|U| = M) U(∣U∣=M)
物品集: V ( ∣ V ∣ = N ) V(|V| = N) V(∣V∣=N)
用户物品交互矩阵: R ∈ R M × N \mathbf{R} \in \mathbb{R} ^ {M \times N} R∈RM×N
用户-物品二部图: G = < U ∪ V , A > \mathcal{G} = <U \cup V,\mathbf{A}> G=<U∪V,A>
邻接矩阵:
a
i
j
a_{ij}
aij表示节点i和j的边,如果i与j之间有边,则
a
i
j
a_{ij}
aij为1,否则为0
A
=
{
R
0
0
R
T
}
(2)
\mathbf{A} = \begin{Bmatrix} \mathbf{R} & 0 \\ 0 & \mathbf{R} ^ T \end{Bmatrix} \tag{2}
A={R00RT}(2)
学习到的用户、物品嵌入:
E
=
[
E
U
E
V
]
∈
R
(
M
+
N
)
×
D
\mathbf{E} = \begin{bmatrix} \mathbf{E_U} \\ \mathbf{E_V} \end{bmatrix}\in \mathbb{R} ^ {(M + N) \times D}
E=[EUEV]∈R(M+N)×D
协同过滤的目标就是预测用户u对物品v的偏好,可以通过计算二者嵌入的相似度来进行判断。
3.2 FairMI框架
基于双重互信息目标的公平性定义:
整个框架预训练好的协同过滤器Pretrained CF、一个Sensitive Attribute Encoder、一个Interest Encoder和一个基于双重互信息目标构成。实现的基础思想是将初始嵌入e分解为敏感嵌入
e
S
e^S
eS和无敏感嵌入
e
Z
e^Z
eZ。敏感嵌入具有丰富的触发不公平的敏感信息特征,而无敏感嵌入仅包含非敏感信息特征,来以此达到公平的目标。
3.2.1 Sensitive Attribute Encoder
由于用户-物品二部图的结构信息已经被证明了包含丰富的敏感信息,作者采用图信息来进行分类,使用GCN来进行信息聚合生成嵌入,聚合过程如下:
h
v
k
+
1
=
G
C
N
(
h
v
k
,
{
h
u
k
:
u
∈
R
v
}
)
,
h
u
k
+
1
=
G
C
N
(
h
u
k
,
{
h
v
k
:
v
∈
R
u
}
)
,
(3)
\begin{array}{l} \mathbf{h}_{v}^{k+1}=G C N\left(\mathbf{h}_{v}^{k},\left\{\mathbf{h}_{u}^{k}: u \in \mathbf{R}_{v}\right\}\right), \\ \mathbf{h}_{u}^{k+1}=G C N\left(\mathbf{h}_{u}^{k},\left\{\mathbf{h}_{v}^{k}: v \in \mathbf{R}_{u}\right\}\right), \end{array} \tag{3}
hvk+1=GCN(hvk,{huk:u∈Rv}),huk+1=GCN(huk,{hvk:v∈Ru}),(3)
最终最后层的输出被认为是学习好的物品和用户敏感嵌入:
e
u
s
=
h
u
K
,
e
v
s
=
h
v
K
e_u^s = \mathbf{h}_{u}^{K},e_v^s = \mathbf{h}_{v}^{K}
eus=huK,evs=hvK
敏感分类器 S \mathcal{S} S用来预测用户u的敏感属性: a ^ u = S ( e u S ) \hat{a}_u = \mathcal{S}(e_u^S) a^u=S(euS) , S \mathcal{S} S由单层全连接网络实现。
整个过程的交叉熵损失函数如下,其中
θ
S
\theta_S
θS是分类器
S
\mathcal{S}
S的参数。
min
θ
S
,
E
s
L
A
=
−
1
M
∑
u
=
1
M
a
u
log
(
a
^
u
)
(4)
\min_{\theta_S,E^s}\mathcal{L}_A = - \frac{1}{M}\sum_{u = 1}^{M}a_u\log(\hat{a}_u)\tag{4}
θS,EsminLA=−M1u=1∑Maulog(a^u)(4)
3.2.2 Interest Encoder
在获得了物品、用户敏感嵌入表示之后,后续的目标是生成无敏感的嵌入(与敏感嵌入无关,但尽可能多地保留非敏感信息的嵌入)。作者提出了一个新的基于公平推荐的双重互信息目标,具体如下。
R u 、 R v \mathbf{R}_u、\mathbf{R}_v Ru、Rv分别代表用户u的交互物品,和物品v的交互用户。
对于每个用户,都要满足以下两个条件:
- 条件1: e u Z e_u^Z euZ与 e u S e_u^S euS应该没有互信息
- 条件2:当 e u S e_u^S euS确定时, e u Z e_u^Z euZ和 R u \mathbf{R}_u Ru应该有最大的互信息
类似地,对于每个物品,也需要满足类似地两个条件:
- 条件3: e v Z e_v^Z evZ与 e v S e_v^S evS应该没有互信息
- 条件4:当 e v S e_v^S evS确定时, e v Z e_v^Z evZ和 R v \mathbf{R}_v Rv应该有最大的互信息
条件1、3表示无敏感嵌入不包含敏感嵌入的信息,可以形式化表示为最小化无敏感嵌入和敏感嵌入的互信息 I ( e u Z ; e u S ) 、 I ( e v Z ; e v S ) \mathcal{I}(e_u^Z;e_u^S)、\mathcal{I}(e_v^Z;e_v^S) I(euZ;euS)、I(evZ;evS)
条件2、4表示无敏感嵌入要尽可能多地包含非敏感信息,可以形式化地表示为最大化 I ( e u Z ; R u ∣ e u S ) 、 I ( e v Z ; R v ∣ e v S ) \mathcal{I}(e_u^Z;\mathbf{R_u}|e_u^S)、\mathcal{I}(e_v^Z;\mathbf{R_v}|e_v^S) I(euZ;Ru∣euS)、I(evZ;Rv∣evS)
为什么不采用最大化 I ( e u Z ; R u ) 、 I ( e v Z ; R v ) \mathcal{I}(e_u^Z;\mathbf{R_u})、\mathcal{I}(e_v^Z;\mathbf{R_v}) I(euZ;Ru)、I(evZ;Rv)的解释,历史交互数据是敏感信息和非敏感信息的组合,同时最大化与目标1、3冲突
整体的损失函数如下:
min
E
Z
L
a
l
l
=
L
r
e
c
+
L
M
I
(5)
\min_{E^Z} \mathcal{L}_{all} = \mathcal{L}_{rec} + \mathcal{L}_{MI} \tag{5}
EZminLall=Lrec+LMI(5)
L
M
I
\mathcal{L}_{MI}
LMI是基于双重互信息目标的损失函数,会在后续上下边界计算时说明具体计算方法。
L
r
e
c
\mathcal{L}_{rec}
Lrec可是任意的隐式反馈的推荐损失,比如说BPR,如下所示:
D
u
=
{
(
v
,
k
)
∣
v
∈
R
u
∩
k
∈
V
−
R
u
}
\mathcal{D}_u = \{(v,k)|v \in \mathbf{R_u} \cap k \in V - \mathbf{R_u}\}
Du={(v,k)∣v∈Ru∩k∈V−Ru},
σ
(
⋅
)
\sigma(\cdot)
σ(⋅)是sigmod函数
L
r
e
c
=
−
∑
u
=
1
M
∑
(
v
,
k
)
∈
D
u
ln
σ
(
e
u
z
T
e
v
Z
−
e
u
z
T
e
k
Z
)
(6)
\mathcal{L}_{rec} = - \sum_{u = 1}^{M} \sum_{(v,k)\in \mathcal{D}_u} \ln{\sigma({e_u^z}^T e_v^Z - {e_u^z}^T e_k^Z )}\tag{6}
Lrec=−u=1∑M(v,k)∈Du∑lnσ(euzTevZ−euzTekZ)(6)
BPR损失函数的基本思想是:给定一个用户u 和两个物品i,j ,BPR损失函数要求模型将用户更喜欢的物品i
排在用户更不喜欢的物品j 之前。简单点说就是让正样本和负样本之间的得分之差尽可能的大(正样本是用户偏爱的,而负样本是没有进行交互的)
互信息上下界公式推导参考:https://zhuanlan.zhihu.com/p/91900950
3.2.3 MI Upper Bounds
在公式5中,剩下的挑战是如何计算 L M I \mathcal{L}_{MI} LMI。为此作者提出了一种新的基于双重互信息的目标来近似损失。该双重目标包括:
- 最小化互信息 1 M ∑ u = 1 M I ( e u Z ; e u S ) 、 1 N ∑ v = 1 N I ( e v Z ; e v S ) \frac{1}{M}\sum_{u = 1}^{M} \mathcal{I}(e_u^Z;e_u^S)、\frac{1}{N}\sum_{v = 1}^{N} \mathcal{I}(e_v^Z;e_v^S) M1∑u=1MI(euZ;euS)、N1∑v=1NI(evZ;evS)上界
- 最大化互信息 1 M ∑ u = 1 M I ( e u Z ; R u ∣ e u S ) 、 1 N ∑ v = 1 N I ( e v Z ; R v ∣ e v S ) \frac{1}{M}\sum_{u = 1}^{M} \mathcal{I}(e_u^Z;\mathbf{R_u}|e_u^S)、\frac{1}{N}\sum_{v = 1}^{N} \mathcal{I}(e_v^Z;\mathbf{R_v}|e_v^S) M1∑u=1MI(euZ;Ru∣euS)、N1∑v=1NI(evZ;Rv∣evS)下界
以计算用户的互信息上界为例:如果
P
(
e
u
S
∣
e
u
Z
)
P\left(\mathbf{e}_{u}^{S} \mid \mathbf{e}_{u}^{Z}\right)
P(euS∣euZ)已知,并且
e
j
S
∼
P
(
e
u
S
)
e_j^S \sim P(e_u^S)
ejS∼P(euS),就有以下不等式成:
I
(
e
u
S
;
e
u
Z
)
≤
E
[
log
P
(
e
u
S
∣
e
u
Z
)
−
1
M
∑
j
=
1
M
log
P
(
e
j
S
∣
e
u
Z
)
]
(7)
\mathcal{I}\left(\mathbf{e}_{u}^{S} ; \mathbf{e}_{u}^{Z}\right) \leq \mathbb{E}\left[\log P\left(\mathbf{e}_{u}^{S} \mid \mathbf{e}_{u}^{Z}\right)-\frac{1}{M} \sum_{j=1}^{M} \log P\left(\mathbf{e}_{j}^{S} \mid \mathbf{e}_{u}^{Z}\right)\right]\tag{7}
I(euS;euZ)≤E[logP(euS∣euZ)−M1j=1∑MlogP(ejS∣euZ)](7)
使用变分推理通过最小化KL散度来生成概率分布
q
ϕ
(
e
u
S
∣
e
u
Z
)
q_\phi(e_u^S|e_u^Z)
qϕ(euS∣euZ)去近似
P
(
e
u
S
∣
e
u
Z
)
P(e_u^S|e_u^Z)
P(euS∣euZ)
min
q
ϕ
D
K
L
[
q
ϕ
(
e
u
S
∣
e
u
Z
)
∣
∣
P
(
e
u
S
∣
e
u
Z
)
]
(8)
\min_{q_\phi} \mathbb{D}_{KL}[q_\phi(e_u^S|e_u^Z) || P(e_u^S|e_u^Z)]\tag{8}
qϕminDKL[qϕ(euS∣euZ)∣∣P(euS∣euZ)](8)
最终MI的上界损失函数可以表示为:
min
e
u
Z
L
upper
user
=
1
M
∑
u
=
1
M
[
log
q
ϕ
(
e
u
S
∣
e
u
Z
)
−
1
M
∑
j
=
1
M
log
q
ϕ
(
e
j
S
∣
e
u
Z
)
]
(9)
\min_{\mathbf{e}_{u}^{Z}} \mathcal{L}_{\text {upper }}^{\text {user }} =\frac{1}{M} \sum_{u=1}^{M}\left[\log q_{\phi}\left(\mathbf{e}_{u}^{S} \mid \mathbf{e}_{u}^{Z}\right)-\frac{1}{M} \sum_{j=1}^{M} \log q_{\phi}\left(\mathbf{e}_{j}^{S} \mid \mathbf{e}_{u}^{Z}\right)\right] \tag{9}
euZminLupper user =M1u=1∑M[logqϕ(euS∣euZ)−M1j=1∑Mlogqϕ(ejS∣euZ)](9)
物品的互信息上界的损失函数同理。
3.2.4 MI Lower Bounds
目标:最大化互信息 1 M ∑ u = 1 M I ( e u Z ; R u ∣ e u S ) 、 1 N ∑ v = 1 N I ( e v Z ; R v ∣ e v S ) \frac{1}{M}\sum_{u = 1}^{M} \mathcal{I}(e_u^Z;\mathbf{R_u}|e_u^S)、\frac{1}{N}\sum_{v = 1}^{N} \mathcal{I}(e_v^Z;\mathbf{R_v}|e_v^S) M1∑u=1MI(euZ;Ru∣euS)、N1∑v=1NI(evZ;Rv∣evS)下界。
以计算用户的互信息下界为例:
由于用户历史交互信息的高维和稀疏性,作者利用预训练模型比如BPR、LightGCN来生成低秩的嵌入 p u \mathbf{p}_u pu来代表用户历史交互矩阵 R u \mathbf{R}_u Ru,之后采用Conditional InfoNCE来计算
给定
p
u
,
e
u
Z
,
e
u
S
∼
P
(
p
u
,
e
u
Z
,
e
u
S
)
,
p
j
∼
P
(
p
u
∣
e
u
S
)
\mathbf{p}_u,e_u^Z,e_u^S \sim P(\mathbf{p}_u,e_u^Z,e_u^S),\mathbf{p}_j \sim P(\mathbf{p}_u|e_u^S)
pu,euZ,euS∼P(pu,euZ,euS),pj∼P(pu∣euS),有以下公式成立:
I
(
e
u
Z
;
p
u
∣
e
u
S
)
≥
E
[
log
exp
f
(
p
u
,
e
u
Z
,
e
u
S
)
1
M
∑
j
=
1
M
exp
f
(
p
j
,
e
u
Z
,
e
u
S
)
]
(10)
\mathcal{I}\left(\mathbf{e}_{u}^{Z} ; \mathbf{p}_u|\mathbf{e}_{u}^{S}\right) \ge \mathbb{E}\left[\log{\frac{\exp{f(\mathbf{p}_u,e_u^Z,e_u^S)}}{\frac{1}{M}\sum_{j = 1}^{M}\exp{f(\mathbf{p}_j,e_u^Z,e_u^S)}}}\right]\tag{10}
I(euZ;pu∣euS)≥E[logM1∑j=1Mexpf(pj,euZ,euS)expf(pu,euZ,euS)](10)
其中
f
(
⋅
)
f(\cdot)
f(⋅)是一个计算分数的函数,如下所示。
s
i
m
(
⋅
)
sim(\cdot)
sim(⋅)是余弦相似度函数,
α
\alpha
α是控制敏感嵌入影响的超参
f
(
p
u
,
e
u
Z
,
e
u
S
)
=
s
i
m
(
p
u
,
e
u
Z
+
α
⋅
e
u
S
)
(11)
{f(\mathbf{p}_u,e_u^Z,e_u^S)} = sim(\mathbf{p}_u,e_u^Z + \alpha \cdot e_u^S)\tag{11}
f(pu,euZ,euS)=sim(pu,euZ+α⋅euS)(11)
从条件分布中进行抽样是非常困难的,作者设计了 π ( e i S , e j S ) \pi(e_i^S,e_j^S) π(eiS,ejS)(作者这里采用皮尔逊系数来代替)来测量两个敏感嵌入是否属于相同或者相反的偏置方向。通过 { p j ∣ ( π ( e i S , e j S ) > 0 ) } \{ \mathbf{p}_j | (\pi(e_i^S,e_j^S) > 0)\} {pj∣(π(eiS,ejS)>0)}来进行条件采样。
最终得到互信息下界计算公式如下,
w
(
e
u
Z
,
e
u
S
,
α
)
=
e
u
Z
+
α
⋅
e
u
S
w(\mathbf{e}_{u}^{Z}, \mathbf{e}_{u}^{S}, \alpha) = e_u^Z + \alpha \cdot e_u^S
w(euZ,euS,α)=euZ+α⋅euS,
α
\alpha
α = 0.1
max
e
u
Z
L
lower
user
=
1
M
∑
u
=
1
M
[
log
exp
(
sim
(
p
u
,
w
(
e
u
Z
,
e
u
S
,
α
)
)
)
1
M
∑
j
=
1
M
exp
(
sim
(
p
j
,
w
(
e
u
Z
,
e
u
S
,
α
)
)
)
]
(12)
\max_{\mathbf{e}_{u}^{Z}} \mathcal{L}_{\text {lower }}^{\text {user }} =\frac{1}{M} \sum_{u=1}^{M}\left[\log \frac{\exp \left(\operatorname{sim}\left(\mathbf{p}_{u}, w\left(\mathbf{e}_{u}^{Z}, \mathbf{e}_{u}^{S}, \alpha\right)\right)\right)}{\frac{1}{M} \sum_{j=1}^{M} \exp \left(\operatorname{sim}\left(\mathbf{p}_{j}, w\left(\mathbf{e}_{u}^{Z}, \mathbf{e}_{u}^{S}, \alpha\right)\right)\right)}\right]\tag{12}
euZmaxLlower user =M1u=1∑M[logM1∑j=1Mexp(sim(pj,w(euZ,euS,α)))exp(sim(pu,w(euZ,euS,α)))](12)
物品的互信息下界的损失函数同理。
结合上下界损失函数,得到整体互信息的损失函数:
L
M
I
=
β
(
L
u
p
p
e
r
u
s
e
r
+
L
u
p
p
e
r
i
t
e
m
)
−
γ
(
L
l
o
w
e
r
u
s
e
r
+
L
l
o
w
e
r
i
t
e
m
)
(13)
\mathcal{L}_{MI} = \beta(\mathcal{L}_{upper}^{user} + \mathcal{L}_{upper}^{item}) - \gamma(\mathcal{L}_{lower}^{user} + \mathcal{L}_{lower}^{item}) \tag{13}
LMI=β(Lupperuser+Lupperitem)−γ(Lloweruser+Lloweritem)(13)
实验
两个公平性的评价指标
- Demographic Parity (DP):对于A和非 A两个群体的个体来说,被分配到各个类别的比例。
∀ v ∈ V , f G 0 v = ∑ u ∈ G 0 I v ∈ T o p K u ∣ G 0 ∣ , f G 1 v = ∑ u ∈ G 1 I v ∈ T o p K u ∣ G 1 ∣ f G 0 = [ f G 0 1 , ⋯ , f G 0 v , ⋯ , f G 0 N ] , f G 1 = [ f G 1 1 , ⋯ , f G 1 v , ⋯ , f G 1 N ] (14) \forall v \in V,f_{G_0} ^ v = \frac{\sum_{u \in G_0} \mathbf{I}_{v \in TopK_u}}{|G_0|},f_{G_1} ^ v = \frac{\sum_{u \in G_1} \mathbf{I}_{v \in TopK_u}}{|G_1|} \\ \mathbf{f}_{G_0} = [f_{G_0}^1,\cdots,f_{G_0}^v,\cdots,f_{G_0}^N],\mathbf{f}_{G_1} = [f_{G_1}^1,\cdots,f_{G_1}^v,\cdots,f_{G_1}^N] \tag{14} ∀v∈V,fG0v=∣G0∣∑u∈G0Iv∈TopKu,fG1v=∣G1∣∑u∈G1Iv∈TopKufG0=[fG01,⋯,fG0v,⋯,fG0N],fG1=[fG11,⋯,fG1v,⋯,fG1N](14)
D P @ K = J S D ( f G 0 , f G 1 ) (15) DP@K = JSD(\mathbf{f}_{G_0},\mathbf{f}_{G_1}) \tag{15} DP@K=JSD(fG0,fG1)(15)
- Equalized of Opportunity (EO) :在不同的群体中在用户真实偏好的情况下获得类似的预测结果。
∀ v ∈ V , d G 0 v = ∑ u ∈ G 0 I v ∈ R u t ∩ T o p K u ∣ G 0 ∣ , d G 1 v = ∑ u ∈ G 1 I v ∈ R u t ∩ T o p K u ∣ G 1 ∣ d G 0 = [ d G 0 1 , ⋯ , d G 0 v , ⋯ , d G 0 N ] , d G 1 = [ d G 1 1 , ⋯ , d G 1 v , ⋯ , d G 1 N ] (16) \forall v \in V,d_{G_0} ^ v = \frac{\sum_{u \in G_0} \mathbf{I}_{v \in \mathbf{R}_u^t \cap TopK_u}}{|G_0|},d_{G_1} ^ v = \frac{\sum_{u \in G_1} \mathbf{I}_{v \in \mathbf{R}_u^t \cap TopK_u}}{|G_1|} \\ \mathbf{d}_{G_0} = [d_{G_0}^1,\cdots,d_{G_0}^v,\cdots,d_{G_0}^N],\mathbf{d}_{G_1} = [d_{G_1}^1,\cdots,d_{G_1}^v,\cdots,d_{G_1}^N] \tag{16} ∀v∈V,dG0v=∣G0∣∑u∈G0Iv∈Rut∩TopKu,dG1v=∣G1∣∑u∈G1Iv∈Rut∩TopKudG0=[dG01,⋯,dG0v,⋯,dG0N],dG1=[dG11,⋯,dG1v,⋯,dG1N](16)
E O @ K = J S D ( d G 0 , d G 1 ) (17) EO@K = JSD(\mathbf{d}_{G_0},\mathbf{d}_{G_1}) \tag{17} EO@K=JSD(dG0,dG1)(17)
在两个数据集上的实验结果:
总结
本文从互信息角度出发解决推荐系统的公平性问题,主要采用的操作是利用互信息来区分敏感信息和非敏感信息,最终实际运用到损失函数中进行模型优化,力求得到公平的物品表示。同时还学习到了两种公平性的评价指标。对于互信息上下界公式的推导还需要学习。