论文概况
本文是2023年的一篇多模态推荐论文,不依靠辅助图来进行建模,大大节省训练时间得到非常优秀的推荐效果。
Introduction
作者认为当前推荐模型使用GNN以及辅助图会导致以下限制:(1)贝叶斯损失在大型图上产生过高的成本,并将噪声监督信号带入训练过程;(2) 当在大规模辅助图上构建和训练时,利用辅助图结构的方法可能会产生过高的内存成本。
针对上述问题,作者提出BM3模型:(1)使用简单的潜在表示丢弃机制而不是图扩充来生成用户或项目的目标视图,以便在没有负样本的情况下进行对比学习;(2) 设计了一个多模态对比损失(MMCL)函数;
Method
A.多模态潜在空间变换器
首先BM3进行了一个常规的多模态特征转化,将不同长度的多模态特征转化为等长
h
m
=
e
m
W
m
+
b
m
,
(1)
\mathrm{h}_{m}=\mathrm{e}_{m}W_{m}+\mathrm{b}_{m},\tag{1}
hm=emWm+bm,(1)
然后,利用邻接图对IDembedding进行聚合传播,
H
l
+
1
=
σ
(
A
^
H
l
W
l
)
,
(2)
\mathrm{H}^{l+1}=\sigma\left(\mathrm{\hat{A}H}^{l}\mathrm{W}^{l}\right),\tag{2}
Hl+1=σ(A^HlWl),(2)
其中
A
=
D
^
−
1
/
2
(
A
+
I
)
D
^
−
1
/
2
\mathrm A=\hat{\mathrm{D}}^{-1/2}(\mathop{\mathrm{A+I}})\hat{\mathrm{D}}^{-1/2}
A=D^−1/2(A+I)D^−1/2
将每一层的embedding进行平均,再添加残差网络,最终得到传播后的物品、用户ID embedding
H
u
=
R
e
A
D
o
u
r
(
H
u
0
,
H
u
1
,
H
u
2
,
.
.
.
,
H
u
L
)
;
H
i
=
R
e
A
D
o
u
r
(
H
i
0
,
H
i
1
,
H
i
2
,
.
.
.
,
H
i
L
)
+
H
i
0
,
,
(3)
\begin{aligned}\mathrm{H_u}&=\mathrm{ReADour}(\mathrm{H}_u^0,\mathrm{H}_u^1,\mathrm{H}_u^2,...,\mathrm{H}_u^L);\\\mathrm{H_i}&=\mathrm{ReADour}(\mathrm{H}_i^0,\mathrm{H}_i^1,\mathrm{H}_i^2,...,\mathrm{H}_i^L)+\mathrm{H}_i^0,\end{aligned},\tag{3}
HuHi=ReADour(Hu0,Hu1,Hu2,...,HuL);=ReADour(Hi0,Hi1,Hi2,...,HiL)+Hi0,,(3)
B.多模态对比损失
下面是BM3的损失函数设计,首先使用dropout对原本embedding进行处理:
h
˙
=
h
⋅
B
e
r
n
o
u
l
l
i
(
p
)
,
(4)
\dot{\mathrm{h}}=\mathrm{h}\cdot\mathrm{Bernoulli}(p),\tag{4}
h˙=h⋅Bernoulli(p),(4)
然后设计一个简单的MLP的predictor:
h
~
=
h
W
p
+
b
p
,
(5)
\tilde{\mathrm{h}}=\mathrm{hW}_{p}+\mathrm{b}_{p},\tag{5}
h~=hWp+bp,(5)
图形重建损失:BM3希望预测器的预测结果能尽可能与原本邻接的ID embedding相靠近
L
r
e
c
=
C
(
h
~
u
,
s
g
(
h
˙
i
)
)
+
C
(
s
g
(
h
˙
u
)
,
h
~
i
)
,
(6)
\mathcal{L}_{rec}=C(\tilde{\mathrm{h}}_{u},sg(\dot{\mathrm{h}}_{i}))+C(sg(\dot{\mathrm{h}}_{u}),\tilde{\mathrm{h}}_{i}),\tag{6}
Lrec=C(h~u,sg(h˙i))+C(sg(h˙u),h~i),(6)
相似度的计算公式为
C
(
h
u
,
h
i
)
=
−
h
u
T
h
i
∣
∣
h
u
∣
∣
2
∣
∣
h
i
∣
∣
2
,
,
(7)
C(\mathrm h_u,\mathrm h_i)=-\frac{\mathrm h_u^T\mathrm h_i}{||\mathrm h_u||_2||\mathrm h_i||_2},,\tag{7}
C(hu,hi)=−∣∣hu∣∣2∣∣hi∣∣2huThi,,(7)
模态间特征对齐丢失:BM3进一步将项目的多模态特征与其目标ID嵌入对齐。鼓励ID嵌入在具有类似多模态特征的项目上彼此靠近
L
a
l
i
g
n
=
C
(
h
~
m
i
,
h
˙
i
)
,
(8)
\mathcal{L}_{align}=C(\tilde{\mathrm{h}}_{m}^{i},\dot{\mathrm{h}}_{i}),\tag{8}
Lalign=C(h~mi,h˙i),(8)
模态内特征掩蔽损失:BM3使用模内特征掩蔽损失来进一步鼓励学习具有潜在嵌入的稀疏表示的预测器
L
m
a
s
k
=
C
(
h
~
m
i
,
h
˙
m
i
)
.
(9)
\mathcal{L}_{mask}=C(\tilde{\mathrm{h}}_{m}^{i},\dot{\mathrm{h}}_{m}^{i}).\tag{9}
Lmask=C(h~mi,h˙mi).(9)
C.TOP-K推荐
最终,BM3利用预测器进行推荐
s
(
h
u
,
h
i
)
=
h
~
u
⋅
h
~
i
T
.
,
(10)
s(\mathrm{h}_{u},\mathrm{h}_{i})=\tilde{\mathrm{h}}_{u}\cdot\tilde{\mathrm{h}}_{i}^{T}.,\tag{10}
s(hu,hi)=h~u⋅h~iT.,(10)
取top-k得分物品作为推荐结果
D.结果
可以看到,结果非常不错。
最重要的是,BM3真的很快。
总结
BM3利用了简单的方式进行多模态特征的利用,省去了复杂的图结构构建,结果又快又准。