论文《CrossCBR: Cross-view Contrastive Learning for Bundle Recommendation》阅读
论文概况
本文是2022年KDD上的一篇捆绑推荐论文,通过使用两个简单有效的lightgcn聚合方式处理U-B图和U-I-B图,利用对比学习对齐两个视图的信息,最终对用户捆绑点击行为进行预测。
Introduction
作者提出问题
- 捆绑推荐模型一般包含U-B图和U-I-B图,然而现阶段模型中两种视图的协作关系被简单的建模甚至忽略了,例如:
bundle view更关注用户之间的行为相似性(协同过滤),item view更关注用户的点击内容相似性。相应的,从U-B图看来,模型会给u1推荐b4,然而从U-I-B图看,模型应该推荐b2和b3。因此简单的聚合处理两个图信息是不合理的。
对于上述问题,作者提出了CrossCBR模型
(1) 在捆绑推荐中建立跨视图协作关联
(2) 提出了一种简单而有效的捆绑推荐器CrossCBR,通过跨视图对比学习对两个视图之间的合作关联进行建模。
Method
A.Learning of Two Views’ Representations
捆绑推荐需要捆绑视角下的用户表征、捆绑表征,以及物品视角下的用户表征、物品表征、捆绑表征。在CrossCBR中,作者使用简单的lightgcn聚合更新方式来求得上述表征。bundle view下计算如下:
{
e
u
B
(
k
)
=
∑
b
∈
N
u
1
∣
N
u
∣
∣
N
b
∣
e
b
B
(
k
−
1
)
,
e
b
B
(
k
)
=
∑
u
∈
N
b
1
∣
N
b
∣
∣
N
u
∣
e
u
B
(
k
−
1
)
,
(1)
\left\{\begin{array}{l} \mathrm{e}_{u}^{B(k)}=\sum_{b \in \mathcal{N}_{u}} \frac{1}{\sqrt{\left|\mathcal{N}_{u}\right|} \sqrt{\left|\mathcal{N}_{b}\right|}} \mathrm{e}_{b}^{B(k-1)}, \\ \mathrm{e}_{b}^{B(k)}=\sum_{u \in \mathcal{N}_{b}} \frac{1}{\sqrt{\left|\mathcal{N}_{b}\right|} \sqrt{\left|\mathcal{N}_{u}\right|}} \mathrm{e}_{u}^{B(k-1)}, \end{array}\right.\tag{1}
⎩
⎨
⎧euB(k)=∑b∈Nu∣Nu∣∣Nb∣1ebB(k−1),ebB(k)=∑u∈Nb∣Nb∣∣Nu∣1euB(k−1),(1)
e
u
B
∗
=
∑
k
=
0
K
e
u
B
(
k
)
,
e
b
B
∗
=
∑
k
=
0
K
e
b
B
(
k
)
.
(2)
\mathrm{e}_{u}^{B *}=\sum_{k=0}^{K} \mathrm{e}_{u}^{B(k)}, \quad \mathrm{e}_{b}^{B *}=\sum_{k=0}^{K} \mathrm{e}_{b}^{B(k)}.\tag{2}
euB∗=k=0∑KeuB(k),ebB∗=k=0∑KebB(k).(2)
同理,Item-view下计算如下:
{
e
u
I
(
k
)
=
∑
i
∈
N
u
1
∣
N
u
∣
∣
N
i
∣
e
i
I
(
k
−
1
)
,
e
i
I
(
k
)
=
∑
u
∈
N
i
1
∣
N
i
∣
∣
N
u
∣
e
u
I
(
k
−
1
)
,
(3)
\left\{\begin{array}{l} \mathrm{e}_u^{I(k)}=\sum_{i \in \mathcal{N}_u} \frac{1}{\sqrt{\left|\mathcal{N}_u\right|} \sqrt{\left|\mathcal{N}_i\right|}} \mathrm{e}_i^{I(k-1)}, \\ \mathrm{e}_i^{I(k)}=\sum_{u \in \mathcal{N}_i} \frac{1}{\sqrt{\left|\mathcal{N}_i\right|} \sqrt{\left|\mathcal{N}_u\right|}} \mathrm{e}_u^{I(k-1)}, \end{array}\right.\tag{3}
⎩
⎨
⎧euI(k)=∑i∈Nu∣Nu∣∣Ni∣1eiI(k−1),eiI(k)=∑u∈Ni∣Ni∣∣Nu∣1euI(k−1),(3)
e
u
I
∗
=
∑
k
=
0
K
e
u
I
(
k
)
,
e
i
I
∗
=
∑
k
=
0
K
e
i
I
(
k
)
(4)
\mathrm{e}_u^{I *}=\sum_{k=0}^K \mathrm{e}_u^{I(k)}, \quad \mathrm{e}_i^{I *}=\sum_{k=0}^K \mathrm{e}_i^{I(k)}\tag{4}
euI∗=k=0∑KeuI(k),eiI∗=k=0∑KeiI(k)(4)
Item-view下,捆绑表征是该捆绑包含的所有物品表征的均值:
e
b
I
∗
=
1
∣
N
b
∣
∑
i
∈
N
b
e
i
I
∗
.
t
a
g
5
\mathrm{e}_b^{I *}=\frac{1}{\left|\mathcal{N}_b\right|} \sum_{i \in \mathcal{N}_b} \mathrm{e}_i^{I *}.tag{5}
ebI∗=∣Nb∣1i∈Nb∑eiI∗.tag5
B.Cross-view Contrastive Learning
(1)CrossCBR采用了一种简单的边缘丢弃(ED)的随机增强方法,该方法随机去除一定比例原始图形的边数。边缘丢弃背后的基本原理在于保留了图的核心局部结构。因此,可以增强所学习的表示的鲁棒性以对抗某些噪声。
(2)CrossCBR使用消息丢弃(MD),它在图形学习期间以一定的丢弃率随机屏蔽传播嵌入的一些表征。
信息增强后的对比学习计算如下:
L
U
C
=
1
∣
U
∣
∑
u
∈
U
−
log
exp
(
s
(
e
u
B
∗
,
e
u
I
∗
)
/
τ
)
∑
v
∈
U
exp
(
s
(
e
u
B
∗
,
e
v
I
∗
)
/
τ
)
L
B
C
=
1
∣
B
∣
∑
b
∈
B
−
log
exp
(
s
(
e
b
B
∗
,
e
b
I
∗
)
/
τ
)
∑
p
∈
B
exp
(
s
(
e
b
B
∗
,
e
p
I
∗
)
/
τ
)
.
(6)
\begin{aligned} & \mathcal{L}_U^C=\frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}}-\log \frac{\exp \left(s\left(\mathrm{e}_u^{B *}, \mathrm{e}_u^{I^*}\right) / \tau\right)}{\sum_{v \in \mathcal{U}} \exp \left(s\left(\mathrm{e}_u^{B^*}, \mathrm{e}_v^{I *}\right) / \tau\right)} \\ & \mathcal{L}_B^C=\frac{1}{|\mathcal{B}|} \sum_{b \in \mathcal{B}}-\log \frac{\exp \left(s\left(\mathrm{e}_b^{B *}, \mathrm{e}_b^{I *}\right) / \tau\right)}{\sum_{p \in \mathcal{B}} \exp \left(s\left(\mathrm{e}_b^{B *}, \mathrm{e}_p^{I *}\right) / \tau\right)}. \end{aligned}\tag{6}
LUC=∣U∣1u∈U∑−log∑v∈Uexp(s(euB∗,evI∗)/τ)exp(s(euB∗,euI∗)/τ)LBC=∣B∣1b∈B∑−log∑p∈Bexp(s(ebB∗,epI∗)/τ)exp(s(ebB∗,ebI∗)/τ).(6)
对比学习损失为:
L
C
=
1
2
(
L
U
C
+
L
B
C
)
(7)
\mathcal{L}^C=\frac{1}{2}\left(\mathcal{L}_U^C+\mathcal{L}_B^C\right)\tag{7}
LC=21(LUC+LBC)(7)
C.Prediction and Optimization
本文中的预测方法为两个视图下的相似度和:
y
u
,
b
∗
=
e
u
B
∗
⊤
e
b
B
∗
+
e
u
I
∗
⊤
e
b
I
∗
(8)
y_{u, b}^*=\mathrm{e}_u^{B * \top} \mathrm{e}_b^{B *}+\mathrm{e}_u^{I * \top} \mathrm{e}_b^{I *}\tag{8}
yu,b∗=euB∗⊤ebB∗+euI∗⊤ebI∗(8)
损失函数为:
L
B
P
R
=
∑
(
u
,
b
,
b
′
)
∈
Q
−
ln
σ
(
y
u
,
b
∗
−
y
u
,
b
′
∗
)
.
(9)
\mathcal{L}^{B P R}=\sum_{\left(u, b, b^{\prime}\right) \in Q}-\ln \sigma\left(y_{u, b}^*-y_{u, b^{\prime}}^*\right) .\tag{9}
LBPR=(u,b,b′)∈Q∑−lnσ(yu,b∗−yu,b′∗).(9)
L
=
L
B
P
R
+
λ
1
L
C
+
λ
2
∥
Θ
∥
2
2
(10)
\mathcal{L}=\mathcal{L}^{B P R}+\lambda_1 \mathcal{L}^C+\lambda_2\|\Theta\|_2^2\tag{10}
L=LBPR+λ1LC+λ2∥Θ∥22(10)
总结
CrossCBR以相对简单而有效的方法进行捆绑推荐,这是我看的第一篇捆绑推荐文章,采用的数据集与其他推荐方向不太相同,无法与其他方向的推荐模型横向对比性能。