论文《Graph-Refined Convolutional Network for Multimedia Recommendation with Implicit Feedback》阅读

论文《Graph-Refined Convolutional Network for Multimedia Recommendation with Implicit Feedback》阅读

论文概况

本文是2021年ACMMM 上的一篇论文,该篇文章将对用户-物品交互图进行提纯,来更好的进行推荐。(有点拉跨,模型就是GAT+GNN+生硬的多模态)

Introduction

作者提出问题

  • 用户点击的物品中很可能包含用户不感兴趣的物品(因为误点或者随便看看等原因),这部分假positive物品会对真positive物品信息传播产生影响,减少推荐系统的推荐准确性
    对于上述问题,作者提出了GRCN模型(Graph-Refined Convolutional Network):(1) 探讨了隐性反馈对基于GCN的推荐模型的影响。
    (2) 开发了一种新的方法GRCN,它可以自适应地改进用户-项目交互图的结构,以利用GNN在推荐任务中的应用

Method

在这里插入图片描述

A.Model Framework

首先将物品嵌入线性投影
i ‾ m = r e l u ( W m i m + b m ) (1) \overline{\mathbf{i}}_{m}=relu\left(\mathbf{W}_{m} \mathbf{i}_{m}+\mathbf{b}_{m}\right)\tag{1} im=relu(Wmim+bm)(1)
其中 W m ∈ R D ′ × D m \mathbf{W}_{m} \in \mathbb{R}^{D^{\prime} \times D_{m}} WmRD×Dm, b m ∈ R D ′ × 1 \mathbf{b}_{m} \in \mathbb{R}^{D^{\prime \times 1}} bmRD×1是可学习参数, i m \mathbf{i}_{m} im是物品嵌入
然后利用注意力机制来计算每个用户邻接结点的权重
p u , i = exp ⁡ ( i ‾ T u ( 0 ) ) ∑ j ∈ N ( u ) exp ⁡ ( j ‾ T u ( 0 ) ) , (2) p_{u, i}=\frac{\exp \left(\overline{\mathbf{i}}^{\mathrm{T}} \mathbf{u}_{(0)}\right)}{\sum_{j \in \mathcal{N}(u)} \exp \left(\overline{\mathrm{j}}^{\mathrm{T}} \mathbf{u}_{(0)}\right)},\tag{2} pu,i=jN(u)exp(jTu(0))exp(iTu(0)),(2)
其中,i,j分别是用户邻接的物品节点嵌入。
用户新一轮的嵌入表示为上一轮的嵌入加上邻接物品的加权和
u ( 1 ) = u ( 0 ) + ∑ i ∈ N ( u ) p u , i i ‾ , (3) \mathbf{u}_{(1)}=\mathbf{u}_{(0)}+\sum_{i \in \mathcal{N}(u)} p_{u, i} \overline{\mathbf{i}},\tag{3} u(1)=u(0)+iN(u)pu,ii,(3)
因此,第t轮的用户嵌入为:
{ u ( t ) = u ( t − 1 ) + ∑ i ∈ N ( u ) p u , i i ‾ , p u , i = exp ⁡ ( i T u ( t − 1 ) ) ∑ j ∈ N ( u ) exp ⁡ ( j T u ( t − 1 ) ) . (4) \left\{\begin{array}{l} \mathbf{u}_{(t)}=\mathbf{u}_{(t-1)}+\sum_{i \in \mathcal{N}(u)} p_{u, i} \overline{\mathbf{i}}, \\ p_{u, i}=\frac{\exp \left(\mathrm{i}^{\mathrm{T}} \mathbf{u}_{(t-1)}\right)}{\sum_{j \in \mathcal{N}(u)} \exp \left(\mathbf{j}^{\mathrm{T}} \mathbf{u}_{(t-1)}\right)} . \end{array}\right.\tag{4} u(t)=u(t1)+iN(u)pu,ii,pu,i=jN(u)exp(jTu(t1))exp(iTu(t1)).(4)
相对的,对于用户u来说i的权重、对于物品i来说u的权重分别为,
{ s ˉ u ← i m = exp ⁡ ( u ‾ m T i ‾ m ) ∑ j ∈ N ( u ) exp ⁡ ( u m T j ‾ m ) s ˉ i ← u m = exp ⁡ ( i ‾ m T u ‾ m ) ∑ v ∈ N ( i ) exp ⁡ ( i ‾ m v v ‾ m ) (5) \left\{\begin{array}{l} \bar{s}_{u \leftarrow i}^{m}=\frac{\exp \left(\overline{\mathbf{u}}_{m}^{\mathrm{T}} \overline{\mathbf{i}}_{m}\right)}{\sum_{j \in \mathcal{N}(u)} \exp \left(\mathbf{u}_{m}^{\mathrm{T}} \overline{\mathbf{j}}_{m}\right)} \\ \bar{s}_{i \leftarrow u}^{m}=\frac{\exp \left(\overline{\mathbf{i}}_{m}^{\mathrm{T}} \overline{\mathbf{u}}_{m}\right)}{\sum_{v \in N(i)} \exp \left(\overline{\mathbf{i}}_{m}^{\mathrm{v}} \overline{\mathbf{v}}_{m}\right)} \end{array}\right.\tag{5} sˉuim=jN(u)exp(umTjm)exp(umTim)sˉium=vN(i)exp(imvvm)exp(imTum)(5)
其中, u m \mathbf{u}_{m} um表示在m模态下用户的嵌入, i m \mathbf{i}_{m} im表示在m模态下物品的嵌入,在本论文中m可取{v,a,t}
为了结合多个模态下的权重,我们引入
ρ = [ ρ v , ρ a , ρ t ] , (6) \rho=\left[\rho^{v}, \rho^{a}, \rho^{t}\right],\tag{6} ρ=[ρv,ρa,ρt],(6)
通过加权后取所有模态中权重的最大值来确定最终权重
{ s u ← i = max ⁡ ( ρ u v s ˉ u ← i v , ρ u a s ˉ u ← i a , ρ u t s ˉ u ← i t ) , s i ← u = max ⁡ ( ρ i v s ˉ i ← u v , ρ i a s ˉ i ← u a , ρ i t s ˉ i ← u t ) . (7) \left\{\begin{array}{l} s_{u \leftarrow i}=\max \left(\rho_{u}^{v} \bar{s}_{u \leftarrow i}^{v}, \rho_{u}^{a} \bar{s}_{u \leftarrow i}^{a}, \rho_{u}^{t} \bar{s}_{u \leftarrow i}^{t}\right), \\ s_{i \leftarrow u}=\max \left(\rho_{i}^{v} \bar{s}_{i \leftarrow u}^{v}, \rho_{i}^{a} \bar{s}_{i \leftarrow u}^{a}, \rho_{i}^{t} \bar{s}_{i \leftarrow u}^{t}\right) . \end{array}\right.\tag{7} {sui=max(ρuvsˉuiv,ρuasˉuia,ρutsˉuit),siu=max(ρivsˉiuv,ρiasˉiua,ρitsˉiut).(7)
物品和用户的迭代更新算法如下,即对邻接节点加权求和
{ e u ( l ) = ∑ i ∈ N ( u ) s u ← i e i ( l − 1 ) , e i ( l ) = ∑ u ∈ N ( i ) s i ← u e u ( l − 1 ) . (8) \left\{\begin{array}{l} \mathbf{e}_{u}^{(l)}=\sum_{i \in \mathcal{N}(u)} s_{u \leftarrow i} \mathbf{e}_{i}^{(l-1)}, \\ \mathbf{e}_{i}^{(l)}=\sum_{u \in \mathcal{N}(i)} s_{i \leftarrow u} \mathbf{e}_{u}^{(l-1)} . \end{array}\right.\tag{8} {eu(l)=iN(u)suiei(l1),ei(l)=uN(i)siueu(l1).(8)
将L层的节点向量相加,作为当前状态下的物品、用户嵌入
e u = ∑ l = 0 L e u ( l ) , e i = ∑ l = 0 L e i ( l ) (9) \mathbf{e}_{u}=\sum_{l=0}^{L} \mathbf{e}_{u}^{(l)}, \mathbf{e}_{i}=\sum_{l=0}^{L} \mathbf{e}_{i}^{(l)}\tag{9} eu=l=0Leu(l),ei=l=0Lei(l)(9)
将得到的嵌入与各个模态下的物品、用户嵌入级联,得到最终的用户向量和物品向量
{ e u ∗ = e u ∥ u ‾ v ∥ u ‾ a ∥ u ‾ t , e i ∗ = e i ∥ i ‾ v ∥ i ‾ a ∥ i ‾ t , (10) \left\{\begin{array}{l} \mathbf{e}_{u}^{*}=\mathbf{e}_{u}\left\|\overline{\mathbf{u}}_{v}\right\| \overline{\mathbf{u}}_{a} \| \overline{\mathbf{u}}_{t}, \\ \mathbf{e}_{i}^{*}=\mathbf{e}_{i}\left\|\overline{\mathbf{i}}_{v}\right\| \overline{\mathbf{i}}_{a} \| \overline{\mathbf{i}}_{t}, \end{array}\right.\tag{10} {eu=euuvuaut,ei=ei iv iait,(10)
用户向量乘物品向量即可对物品进行打分
y u , i = e u ∗ T e i ∗ (11) y_{u, i}=e_{u}^{*T} \mathrm{} e_{i}^{*}\tag{11} yu,i=euTei(11)

B. Optimization

优化公式为
T = { ( u , i , j ) ∣ A u , i = 1 , A u , j = 0 } , (12) \mathcal{T}=\left\{(u, i, j) \mid \mathbf{A}_{u, i}=1, \mathbf{A}_{u, j}=0\right\},\tag{12} T={(u,i,j)Au,i=1,Au,j=0},(12)
L = ∑ ( u , i , j ) ∈ T − ln ⁡ ϕ ( y u , i − y u , j ) + λ ∥ θ ∥ 2 (13) \mathcal{L}=\sum_{(u, i, j) \in \mathcal{T}}-\ln \phi\left(y_{u, i}-y_{u, j}\right)+\lambda\|\theta\|_{2}\tag{13} L=(u,i,j)Tlnϕ(yu,iyu,j)+λθ2(13)
实际上就是将positive物品选中,而不选择negative物品

总结

GRCN模型太简单了点,只能说文章写得可能有点东西,但从模型看来则太浅了,多模态的运用很突兀,可解释性不强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值