论文笔记:LightGCN Simplifying and Powering Graph Convolution Network for Recommendation

前言

论文链接:https://arxiv.org/abs/2002.02126
github:https://github.com/gusye1234/LightGCN-PyTorch
参考:https://blog.csdn.net/qq_39388410/article/details/106970194
https://blog.csdn.net/u013422128/article/details/107504654

图卷积网络(GCN)已经成为协同过滤的最新技术。然而,对于推荐的有效性的原因却没有很好地解释。现有的将GCN用于推荐的工作缺乏对GCN的深入消融分析,GCN最初是为图节点分类任务而设计的,并配备了许多神经网络操作。

文中提出两种最常见的设计-特征转换和非线性激活-对协同过滤的性能贡献很小。更糟糕的是,在模型中包含他们增加了训练的难度,降低了推荐的效果。基于此该文章目标是简化GCN的设计,使其更简洁,更适合推荐。进而提出了一个新的模型LightGCN,它只包含GCN中最重要的组件——邻域聚合——用于协同过滤。具体来说,LightGCN通过在用户-项目交互图上线性传播用户和项目嵌入来学习它们,并使用在所有层上学习到的嵌入的加权和作为最终的嵌入。这种简单、线性、简洁的模型更容易实现和训练,在完全相同的实验设置下,比神经图协同过滤(NGCF)——一种最先进的基于GCN的推荐模型——有了显著的改进(平均大约16.0%的相对改进)。

1. 模型背景

推荐系统的核心是预测用户是否会与项目进行交互,例如点击、评分、购买等交互形式。因此,协同过滤(CF)侧重于利用过去的用户-项目交互来实现预测,这是实现有效的个性化推荐的基本任务

CF最常见的范例是学习潜在的特性(又称嵌入)表示一个用户和一个项目,并根据嵌入向量进行预测。矩阵分解是一种早期的模型,它直接将用户的单个ID投射到其嵌入。后来,一些研究发现,增加用户ID与她的交互历史作为输入可以提高嵌入的质量。例如,SVD++证实了用户交互历史记录在预测用户数值评分方面的好处,神经注意力项目相似度(NAIS) 区分了项目在交互历史中的重要性,并显示了预测项目排名的改进。从用户-项目交互图的角度来看,这些改进可以被看作是来自于使用用户的子图结构——更具体地说,是她的一跳邻居——来改进嵌入学习。

为了在高跳邻居中深化子图结构的使用,最近提出了NGCF,并实现了CF的最先进性能。它的灵感来自于图卷积网络(GCN),遵循同样的传播规则来细化嵌入:特征转换、邻域聚集和非线性激活。虽然NGCF已经显示出很好的效果,我们认为它的设计相当的笨重和繁重——许多操作是直接从GCN没有任何理由的继承而来的。因此,它们对于CF任务不一定有用。GCN最初被提出用于属性图上的节点分类,每个节点都有丰富的属性作为输入特征;而在CF的用户-项目交互图中,每个节点(用户或项目)只由一个除了作为标识符之外,没有具体的语义的one-hot表示的ID描述。在这种情况下,给定ID嵌入作为输入,执行多层非线性特征转换的过程——这是现代神经网络成功的关键-不会带来任何好处,反而会增加模型训练的难度。

为了验证我们的想法,我们对NGCF进行了广泛的消融研究。通过严格的受控实验(基于相同的数据分割和评估方法),我们得出结论:继承自GCN的两个操作——特征变换和非线性激活——对NGCF的有效性没有贡献。更令人惊讶的是,删除它们可以显著提高准确度。这反映了在图神经网络中添加对目标任务无用的操作的问题,不仅没有带来好处,反而降低了模型的有效性。

基于此提出了一个新的模型LightGCN,其中包括了最基本的组成部分-邻域聚合-用于协同过滤。具体地说,在将每个用户(项目)与ID嵌入关联之后,我们在用户-项目交互图上传播嵌入以改进它们。然后将不同传播层的嵌入信息与加权和相结合,得到最终的预测嵌入信息。整个模型简洁大方,不仅易于训练,而且比NGCF和像Mult-VAE其他先进方法具有更好的性能。

本文主要贡献:

  • 实证地表明,在GCN中,特征变换和非线性激活这两种常见的设计对协同过滤的有效性并没有积极的影响。

  • 提出LightGCN,它只包含了GCN推荐模型中最基本的组件,从而在很大程度上简化了模型设计。

  • 根据m同样的设置对LightGCN和NGCF进行了实证比较,并展示了显著的改进。从技术和经验的角度对LightGCN的合理性进行了深入的分析。

1.1 协同过滤

协同过滤(Collaborative Filtering, CF)是现代推荐系统中普遍采用的一种技术。CF模型的一个常见范例是将用户和项目作为嵌入参数化,并通过重构历史用户-项目交互来学习嵌入参数。例如,较早的CF模型,如矩阵分解(MF),将用户(或项目)的ID投影到嵌入向量中。最近的神经推荐模型如NCF和LRML使用了相同的嵌入组件,同时增强了与神经网络的交互建模。

除了仅仅使用ID信息之外,另一种类型的CF方法将历史记录项目视为用户的预先存在的特性,从而实现更好的用户表示。例如FISM和SVD++使用历史项目的ID嵌入的加权平均值作为目标用户的嵌入。最近,研究人员发现,历史物品在塑造个人兴趣方面有不同的贡献。为此目的,引入了注意机制来捕捉不同的贡献,例如ACF和NAIS,自动学习每个历史项目的重要性。当将历史交互作为用户-项目二部图重新访问时,性能的改进可以归因于本地邻域(一跳邻居)的编码,它改进了嵌入学习。

1.2 图神经网络为推荐

另一个相关的研究方向是利用用户-项目图结构进行推荐。之前的工作,如ItemRank,使用标签传播机制直接传播用户的偏好评分,即,鼓励连接的节点具有类似的标签。最近出现了图神经网络(GNNs)对建模图结构,特别是high-hop邻居进行了研究,以指导嵌入学习。早期的研究在谱域上定义了图的卷积,例如Laplacian特征分解和Chebyshev多项式,计算开销很大。之后,GraphSage和GCN在空间域重新定义了图的卷积,即,聚合邻居的嵌入,以细化目标节点的嵌入。由于其可解释性和高效性,它很快成为GNNs的一种普遍表述,并被广泛使用。在图卷积的强大推动下,NGCF、GC-MC和PinSage等最近的研究成果应用GCN到用户-项目交互图中,捕获CF信号在high-hop邻居中进行推荐。

值得一提的是,最近的几项工作对GNNs提供了深刻的见解认为GCN不必要的复杂性,通过消除非线性和将多个权重矩阵分解为一个,提出了SGCN模型。一个主要的区别是LightGCN和SGCN是针对不同的任务开发的,因此模型简化的合理性是不同的。具体来说,SGCN用于节点分类,对模型的可解释性和效率进行简化。相比之下,LightGCN则是协同过滤(CF),其中每个节点只有一个ID特性。因此,我们做简化是为了一个更强的理由:非线性和权重矩阵对于CF是无用的,甚至伤害模型训练。在节点分类精度方面,SGCN与GCN相当(有时弱于GCN)。而对于CF的准确性,LightGCN比GCN有很大的优势(比NGCF提高了15%)。最后,另一个工作在同一时间进行还发现,在NGCF非线性是不必要的并提出了线性GCN模型。相比之下,我们的LightGCN进一步,我们删除所有多余的参数,仅保留ID嵌入,使模型简单如MF。

2. NGCF消融探索

在这里插入图片描述

GCN的核心是通过传播来细化嵌入,所以对相同嵌入尺寸下的嵌入质量更感兴趣。因此,改变了从拼接中获得最终嵌入的方式(即 e u ∗ = e u ( 0 ) ∣ ∣ . . . ∣ ∣ e u ( L ) e_u^*=e_u^{(0)}||...||e_u^{(L)} eu=eu(0)...eu(L)),而使用求和( e u ∗ = e u ( 0 ) + . . . + e u ( L ) e_u^*=e_u^{(0)}+...+e_u^{(L)} eu=eu(0)+...+eu(L))值得注意的是,这一变化对NGCF的性能影响不大,但却使后续消融研究更能说明GCN改进的嵌入质量。
我们实现了NGCF的三个简化版本:

  • NGCF-f,删除了 W 1 W_1 W1 W 2 W_2 W2的特征转换。
  • NGCF-n,消除了非线性激活函数 σ \sigma σ
  • NGCF-fn,该方法去掉了特征变换矩阵和非线性激活函数。

对于这三个变体,保持所有的超参数(如学习率、正则化系数、dropout率等)与NGCF的最优设置相同。去掉特征变换(NGCF-f)对所有三个数据集进行了一致的改进。相比之下,去除非线性激活对准确度的影响并不大。但是,如果在去除特征变换的基础上去除非线性激活(即,NGCF-fn),性能有明显提高。从这些观察中,得出结论:

  1. 添加特征变换会对其产生负面影响NGCF,因为在NGCF和NGCF-n两种模型中都将其去除,可以显著提高性能;

  2. 加入非线性激活对包含特征变换的影响较小,但禁用特征变换的影响较大。

  3. 从整体上看,特征变换和非线性激活对NGCF的影响是相当负面的,因为NGCF-fn同时去除特征变换和非线性激活后,有了很大的改进(召回率相对提高9.57%)。

3. LightGCN

在这里插入图片描述

GCN的基本思想是通过在图上平滑特征来学习节点的表示。为了实现这一点,它迭代执行图的卷积,即,将邻居的特征聚合为目标节点的新表示。这种邻居聚集可以抽象为:
e u ( k + 1 ) = A G G ( e u ( k ) , { e i ( k ) : i ∈ N u } ) (1) e_u^{(k+1)}=AGG(e_u^{(k)},\{e_i^{(k)}:i\in\mathcal{N}_u\})\tag{1} eu(k+1)=AGG(eu(k),{ei(k):iNu})(1)
AGG是一个聚合函数,是图数据卷积的核心-考虑第k层对目标节点及其邻居节点的表示。

3.1 轻量化图卷积

3.1.1 NGCF

在NGCF中卷积形式表示为
e u ( k + 1 ) = σ ( W 1 e u ( k ) + ∑ i ∈ N u 1 ∣ N u ∣ ∣ N i ∣ ( W 1 e i ( k ) + W 2 ( e i ( k ) ⊙ e u ( k ) ) ) ) e_u^{(k+1)}=\sigma(W_1e_u^{(k)}+\sum_{i\in\mathcal{N}_u}\frac{1}{\sqrt{|\mathcal{N}_u||\mathcal{N}_i|}}(W_1e_i^{(k)}+W_2(e_i^{(k)} \odot e_u^{(k)}))) eu(k+1)=σ(W1eu(k)+iNuNuNi 1(W1ei(k)+W2(ei(k)eu(k))))
e i ( k + 1 ) = σ ( W 1 e i ( k ) + ∑ u ∈ N i 1 ∣ N u ∣ ∣ N i ∣ ( W 1 e u ( k ) + W 2 ( e u ( k ) ⊙ e i ( k ) ) ) ) (2) e_i^{(k+1)}=\sigma(W_1e_i^{(k)}+\sum_{u\in\mathcal{N}_i}\frac{1}{\sqrt{|\mathcal{N}_u||\mathcal{N}_i|}}(W_1e_u^{(k)}+W_2(e_u^{(k)} \odot e_i^{(k)}))) \tag{2} ei(k+1)=σ(W1ei(k)+uNiNuNi 1(W1eu(k)+W2(eu(k)ei(k))))(2)

其中 e u ( k ) e_u^{(k)} eu(k) e i ( k ) e_i^{(k)} ei(k)分别表示在 k k k层传播后用户 u u u和项目 i i i的嵌入, σ \sigma σ是非线性激活函数, N u \mathcal{N}_u Nu表示用户 u u u交互过的项目集, N i \mathcal{N}_i Ni表示交互过项目 i i i的用户集, W 1 W_1 W1 W 2 W_2 W2 是可训练的权重矩阵在每一层执行特征转换。通过传播 L L L层,NGCF获得 L + 1 L+1 L+1个嵌入来描述一个用户 ( e u ( 0 ) , e u ( 1 ) , . . . e u ( L ) ) (e_u^{(0)},e_u^{(1)},...e_u^{(L)}) (eu(0),eu(1),...eu(L))和一个项目 ( e i ( 0 ) , e i ( 1 ) , . . . e i ( L ) ) (e_i^{(0)},e_i^{(1)},...e_i^{(L)}) (ei(0),ei(1),...ei(L))然后,它将这些 L + 1 L+1 L+1嵌入串联起来,以获得最终的用户嵌入和项目嵌入,并使用内积生成预测分数。

NGCF基本上遵循标准GCN,包括使用非线性激活函数 σ ( ⋅ ) \sigma(\cdot) σ()和特征转换矩阵 W 1 W_1 W1 W 2 W_2 W2。然而,文中认为这两种操作对于协同过滤并不那么有用。在半监督节点分类中,每个节点都有丰富的语义特征作为输入,如文章的标题和摘要等。因此,进行多层非线性变换有利于特征学习。然而,在协同过滤中,交互图的每个节点只有一个ID作为输入,没有具体的语义。在这种情况下,执行多个非线性转换将无助于更好地学习特征;更糟糕的是,这可能会增加训练的难度。

3.1.2 LightGCN(LGC)

在LightGCN中,采用了简单的加权和聚集器,放弃了特征变换和非线性激活。LightGCN中图卷积运算
e u ( k + 1 ) = ∑ i ∈ N u 1 ∣ N u ∣ ∣ N i ∣ e i ( k ) , e i ( k + 1 ) = ∑ i ∈ N i 1 ∣ N i ∣ ∣ N u ∣ e u ( k ) (3) e_u^{(k+1)}=\sum_{i\in\mathcal{N}_u}\frac{1}{\sqrt{|\mathcal{N}_u||\mathcal{N}_i|}}e_i^{(k)} ,e_i^{(k+1)}=\sum_{i\in\mathcal{N}_i}\frac{1}{\sqrt{|\mathcal{N}_i||\mathcal{N}_u|}}e_u^{(k)}\tag{3} eu(k+1)=iNuNuNi 1ei(k),ei(k+1)=iNiNiNu 1eu(k)(3)

值得注意的是,在LGC中,我们只聚合已连接的邻居,而不集成目标节点本身(即,selfconnection)。 这不同于大多数现有的图数据卷积操作。因为层组合操作本质上捕获了与自连接相同的效果。因此,LGC中不需要包含自连接。

3.1.3 层组合和模型预测

在LightGCN中,唯一可训练的模型参数是0层的嵌入,即 e u ( 0 ) e_u^{(0)} eu(0) 表示所有用户, e i ( 0 ) e_i^{(0)} ei(0)表示所有项目。当给定它们时,就可以通过公式(3)中定义的LGC计算更高层的嵌入。经过 K K K层LGC之后,我们进一步结合在每一层得到的嵌入,形成一个用户(一个项目)的最终表示:
e u = ∑ k = 0 K a k e u ( k ) , e i = ∑ k = 0 K a k e i ( k ) (4) e_u=\sum_{k=0}^Ka_ke_u^{(k)},e_i=\sum_{k=0}^Ka_ke_i^{(k)}\tag{4} eu=k=0Kakeu(k),ei=k=0Kakei(k)(4)

其中 α k ≥ 0 αk≥0 αk0表示 k k k层嵌入构成最终嵌入的重要性。它可以作为一个超参数进行手动调整,也可以作为一个模型参数(例如,注意力网络的输出)进行自动优化。在实验中,发现设置 a k a_k ak统一为 1 / ( K + 1 ) 1/(K+1) 1/(K+1)的性能较好。因此我们不设计特殊的组件优化 a k a_k ak ,避免不必要的LightGCN复杂化并保持保持它的简单性。我们执行层组合以获得最终表示的原因有三方面。

  • (1)随着层数的增加,嵌入式会出现过平滑的。因此,简单地使用最后一层是有问题的。
  • (2)不同层的嵌入捕获不同的语义。例如,第一层对具有交互的用户和项目进行平滑处理,第二层对具有重叠交互项(用户)的用户(项)进行平滑处理,更高的层捕获更高阶近似。因此,将它们结合起来将使表现更加全面。
  • (3)将不同层的嵌入与加权和相结合,可以捕捉到图卷积与自连接的效果,这是GCNs中的一个重要技巧.

模型预测定义为用户和项目最终表示的内积:
y ^ u i = e u T e i (5) \hat{y}_{ui}=e_u^{T}e_i\tag{5} y^ui=euTei(5)作为推荐生成的排名分数。

3.1.4 矩阵形式

令用户-项目交互矩阵 R ∈ R M × N R\in\mathbb{R}^{M\times N} RRM×N,其中 M M M N N N分别表示用户数量和项目数量,如果 u u u i i i交互,则 R u i R_{ui} Rui为1,否则为0。然后得到用户-项图的邻接矩阵为:
A = [ 0 R R T 0 ] (6) A=\left[ \begin{matrix} 0 & R\\ R^T & 0\\ \end{matrix} \right]\tag{6} A=[0RTR0](6)
设第0层的嵌入矩阵 E ( 0 ) ∈ R ( M + N ) × T E^{(0)}\in\mathbb{R}^{(M+N)\times T} E(0)R(M+N)×T其中 T T T为嵌入大小。则可以得到LGC的矩阵等价形式为:
E ( k + 1 ) = ( D − 1 2 A D − 1 2 ) E ( k ) (7) E^{(k+1)}=(D^{-\frac{1}{2}}AD^{-\frac{1}{2}})E^{(k)}\tag{7} E(k+1)=(D21AD21)E(k)(7)其中 D D D是一个 ( M + N ) × ( M + N ) (M+N)×(M+N) (M+N)×(M+N)的对角矩阵,其中每个元素 D i i D{ii} Dii表示邻接矩阵 A A A的第 i i i行向量中非零项的个数(也称为度矩阵)。最后,我们得到最终用于模型预测的嵌入矩阵为:
E = α 0 E ( 0 ) + α 1 E ( 1 ) + α 2 E ( 2 ) + . . . + α K E ( K ) = α 0 E ( 0 ) + α 1 A ~ E ( 0 ) + α 2 A ~ 2 E ( 0 ) + . . . + α K A ~ K E ( 0 ) (8) \begin{aligned} E &= \alpha_0E^{(0)} +\alpha_1E^{(1)} +\alpha_2E^{(2)}+...+\alpha_KE^{(K)}\\ &= \alpha_0E^{(0)} +\alpha_1\widetilde{A}E^{(0)} +\alpha_2\widetilde{A}^2E^{(0)}+...+\alpha_K\widetilde{A}^KE^{(0)} \end{aligned}\tag{8} E=α0E(0)+α1E(1)+α2E(2)+...+αKE(K)=α0E(0)+α1A E(0)+α2A 2E(0)+...+αKA KE(0)(8)
A ~ = D − 1 2 A D − 1 2 \widetilde{A}=D^{-\frac{1}{2}}AD^{-\frac{1}{2}} A =D21AD21为对称归一化矩阵。

3.2 LightGCN and SGCN

SGCN:这是一个最近的将自连接集成到图卷积的线性GCN模型,它通过消除非线性和将权重矩阵压缩为一个权重矩阵来简化GCN。SGCN中的图形卷积定义为:
E ( k + 1 ) = ( D + I ) − 1 2 ( A + I ) ( D + I ) − 1 2 E ( k ) (9) E^{(k+1)}=(D+I)^{-\frac{1}{2}}(A+I)(D+I)^{-\frac{1}{2}}E^{(k)}\tag{9} E(k+1)=(D+I)21(A+I)(D+I)21E(k)(9)
其中 I ∈ R ( M + N ) × ( M + N ) I\in \mathbb{R}^{(M+N)\times(M+N)} IR(M+N)×(M+N)是一个单位矩阵,它向 A A A上添加了自连接。在接下来的分析中,我们省略了 ( D + I ) − 1 2 (D+I)^{-\frac{1}{2}} (D+I)21表示简单性,因为它们只是重新缩放嵌入。在SGCN中,最后一层得到的嵌入用于下游预测任务,可以表示为:
E = ( A + I ) E ( K − 1 ) = ( A + I ) K E ( 0 ) = [ K 0 ] E ( 0 ) [ K 1 ] A E ( 0 ) [ K 2 ] A 2 E ( 0 ) + . . . + [ K K ] A K E ( 0 ) (10) \begin{aligned} E &= (A+I)E^{(K-1)}=(A+I)^KE^{(0)}\\ &= \left[ \begin{matrix} K \\ 0 \\ \end{matrix} \right]E^{(0)}\left[ \begin{matrix} K \\ 1 \\ \end{matrix} \right]AE^{(0)}\left[ \begin{matrix} K \\ 2 \\ \end{matrix} \right]A^2E^{(0)}+...+\left[ \begin{matrix} K \\ K \\ \end{matrix} \right]A^KE^{(0)} \end{aligned}\tag{10} E=(A+I)E(K1)=(A+I)KE(0)=[K0]E(0)[K1]AE(0)[K2]A2E(0)+...+[KK]AKE(0)(10)
上面的推导表明,在 A A A中插入自连接并在其上传播嵌入,本质上等于在每个LGC层上传播的嵌入的加权和。

3.3 LightGCN and APPNP

APPNP:它可以长期传播,而不会有过平滑的风险。受个性化PageRank中转移设计的启发,APPNP用初始特征(即,第0层嵌入)补充每个传播层,这样能平衡局部性保护的需要(即,保持接近于根节点,以减轻过平滑),并利用来自大型社区的信息。APPNP中的传播层定义为:

E ( k + 1 ) = β E ( 0 ) + ( 1 − β ) A ~ E ( k ) (11) E^{(k+1)}=\beta E^{(0)}+(1-\beta)\widetilde{A}E^{(k)}\tag{11} E(k+1)=βE(0)+(1β)A E(k)(11)
其中 β \beta β是控制传播过程中起始特征保留的转移概率, A ~ \widetilde{A} A 是归一化邻接矩阵表示。在APPNP中,最后一层用于最终预测,即
E K = β E ( 0 ) + ( 1 − β ) A ~ E ( K − 1 ) = β E ( 0 ) + β ( 1 − β ) A ~ E ( 0 ) + ( 1 − β ) 2 A ~ 2 E K − 2 = β E ( 0 ) + β ( 1 − β ) A ~ E ( 0 ) + β ( 1 − β ) 2 A ~ 2 E K − 2 + . . . + ( 1 − β ) K A ~ K E ( 0 ) (12) \begin{aligned} E^{K} &= \beta E^{(0)} +(1-\beta)\widetilde{A}E^{(K-1)}\\ &= \beta E^{(0)} +\beta(1-\beta)\widetilde{A}E^{(0)}+(1-\beta)^2\widetilde{A}^2E^{K-2}\\ &= \beta E^{(0)} +\beta(1-\beta)\widetilde{A}E^{(0)}+\beta(1-\beta)^2\widetilde{A}^2E^{K-2}+...+(1-\beta)^K\widetilde{A}^KE^{(0)} \end{aligned}\tag{12} EK=βE(0)+(1β)A E(K1)=βE(0)+β(1β)A E(0)+(1β)2A 2EK2=βE(0)+β(1β)A E(0)+β(1β)2A 2EK2+...+(1β)KA KE(0)(12)

我们可以通过设置 a k a_k ak调整公式(8)得到。因此,LightGCN可以完全恢复APPNP的预测嵌入。因此,因此,LightGCN与APPNP在对抗过平滑方面具有相同的优势——通过设置正确的 α \alpha α,我们就可以在可控的过平滑下使用较大的 K K K进行远距建模。

另一个小的区别是APPNP在邻接矩阵中加入了自连接。然而,正如我们之前所展示的,由于采用不同层的加权和,这是多余的。

3.4 二阶嵌入平滑

由于LightGCN的线性和简单性,我们可以更深入地了解它是如何平滑嵌入的。这里,我们分析一个两层的LightGCN来证明它的合理性。以用户端为例,直观地,第二层平滑了交互项目上有重叠的用户。更具体地说,我们有:
e u ( 2 ) = ∑ i ∈ N i 1 ∣ N u ∣ ∣ N i ∣ , e i 1 = ∑ i ∈ N u 1 ∣ N i ∣ ∑ v ∈ N i 1 ∣ N u ∣ ∣ N u ∣ e v ( 0 ) (13) e_u^{(2)}=\sum_{i\in\mathcal{N}_i}\frac{1}{\sqrt{|\mathcal{N}_u|}\sqrt{|\mathcal{N_i}|}},e_i^{1}=\sum_{i\in\mathcal{N_u}}\frac{1}{|\mathcal{N_i}|}\sum_{v\in\mathcal{N_i}}\frac{1}{\sqrt{|\mathcal{N_u}}|\sqrt{|\mathcal{N_u|}}}e_v^{(0)}\tag{13} eu(2)=iNiNu Ni 1,ei1=iNuNi1vNiNu Nu 1ev(0)(13)
可以看出,如果另一个用户 v v v与目标用户 u u u有共同交互关系,则 v v v u u u的平滑强度用系数表示(否则为0):
c v − > u = 1 ∣ N u ∣ ∣ N v ∣ ∑ i ∈ N u ∩ N v 1 N i (14) c_{v->u}=\frac{1}{\sqrt{|\mathcal{N_u}|}\sqrt{|\mathcal{N_v}|}}\sum_{i\in\mathcal{N_u}\cap\mathcal{N}_v}\frac{1}{\sqrt{\mathcal{N}_i}}\tag{14} cv>u=Nu Nv 1iNuNvNi 1(14)
这个系数是可以解释的:二阶邻居 v v v u u u的影响

  • 1)共交互项目数越多,影响越大;
  • 2)交互项目的受欢迎程度越低(即交互物品的受欢迎程度越低,更能体现用户个性化偏好)影响越大;
  • 3) v v v的活跃度,活跃度越低,影响越大。这种可解释性很好地满足了CF在度量用户相似性时的假设,并证明了LightGCN的合理性。由于LightGCN的对称公式,我们可以在项目端得到类似的分析。

3.5 模型训练

LightGCN的可训练参数只是第0层的嵌入,即, Θ = { E ( 0 ) } Θ=\{E^{(0)}\} Θ={E(0)};换句话说,模型的复杂性与标准矩阵分解(MF)相同。采用贝叶斯个性化排名(BPR)损失,这是一个成对的损失,鼓励预测一个观察到的项目要高于它的未观察到的项目:
L B P R = − ∑ u = 1 M ∑ i ∈ N u ∑ j ∉ N u l n σ ( y ^ u i − y ^ u j ) + λ ∣ ∣ E ( 0 ) ∣ ∣ 2 L_{BPR}=-\sum_{u=1}^M\sum_{i\in\mathcal{N}_u}\sum_{j\notin\mathcal{N}_u}ln\sigma(\hat{y}_{ui}-\hat{y}_{uj})+\lambda||E^{(0)}||^2 LBPR=u=1MiNuj/Nulnσ(y^uiy^uj)+λE(0)2

其中 λ \lambda λ控制L2正则化的权重。我们采用Adam优化器,并以mini-batch的方式使用它。我们知道还有其他一些先进的负采样策略,比如硬负抽样和对抗性抽样,它们可能会改善LightGCN培训。我们将这个扩展留在将来,因为它不是这个工作的重点。

值得注意的是,我们不引入在GCNs和NGCF中常用的dropout机制。原因是LightGCN中没有特征变换权重矩阵,因此在嵌入层上强制L2正则化就足以防止过拟合。这展示了LightGCN简单的优点——它比NGCF更容易训练和调优,NGCF还需要调优两个dropout比率(节点dropout和消息dropout),并将每个层的嵌入归一化到单位长度。

此外,学习层组合系数 { α k } k = 0 K \{\alpha_k\}_{k=0}^K {αk}k=0K,或者用一个注意力网络参数化在技术上是可行的,。然而,我们发现学习 α \alpha α训练数据不会获得改善。这可能是因为训练数据不包含足够的信号得到可以泛化到未知数据的好的 α \alpha α。受在验证数据上学习超参数的启发,尝试从验证数据中学习 α \alpha α。性能略有提高(不到1%)。我们将为不同的用户的 α \alpha α最佳设置(例如,个性化不同的用户和项目)的探索作为未来的工作。

4. 实验

在这里插入图片描述

为了减少实验工作量,保证比较的公平性,我们严格按照NGCF工作]的设置。使用的Gowalla和Amazon-Book与NGCF论文完全相同,所以我们直接使用NGCF论文中的结果。唯一的例外是Yelp2018数据,它是一个修订版。据作者说,以前的版本没有过滤掉测试集中的冷启动项。因此,我们在Yelp2018数据上重新运行了NGCF。评估指标为recall@2020和ndcg@2020,所有不与用户交互的项目都是候选项目。

4.1 方法

与之竞争的主要方法是NGCF,它已经证明比其他几种方法表现更好,包括基于GCN的GC-MC和PinSage模型,基于神经网络的NeuMF和CMN模型,以及基于分解的MF和HOP-Rec。由于比较是在相同的数据集上,在相同的评估协议下进行的,我们不进一步与这些方法进行比较。在NGCF的基础上,我们进一步对比了两种相关且具有竞争力的CF方法:

  • Mult-VAE 。这是一个基于变分自动编码器(VAE)的项目CF方法。它假定数据是由一个多项式分布生成的,并使用变分推论进行参数估计运行作者发布的代码、在 [ 0 , 0.2 , 0.5 ] [0,0.2,0.5] [0,0.2,0.5]调优dropout ratio, [ 0.2 , 0.4 , 0.6 , 0.8 ] [0.2,0.4,0.6,0.8] [0.2,0.4,0.6,0.8]调优 β \beta β,模型体系结构为文章中建议的:600→200→600。
  • GRMF。该方法通过加入图拉普拉斯正则化因子来平滑矩阵分解。为了公平比较项目推荐,我们将评级预测损失改为BPR损失。GRMF的目标函数为:
    L = − ∑ u = 1 M ∑ i ∈ N u ( ∑ j ∉ N u l n σ ( e u T e i − e u T e j ) + λ g ∣ ∣ e u − e i ∣ ∣ 2 ) + λ ∣ ∣ E ∣ ∣ 2 L=-\sum_{u=1}^M\sum_{i\in\mathcal{N}_u}(\sum_{j\notin\mathcal{N}_u}ln\sigma(e_u^Te_i-e_u^Te_j)+\lambda_g||e_u-e_i||^2)+\lambda||E||^2 L=u=1MiNu(j/Nulnσ(euTeieuTej)+λgeuei2)+λE2其中 λ g \lambda_g λg 在[1e−5,1e−4,…,1e−1]的范围内搜索。此外,我们也和添加了归一化的图拉普拉斯 λ g ∣ ∣ e u ∥ N u ∣ − e i ∣ N i ∣ ∣ ∣ 2 \lambda_g||\frac{e_u}{\sqrt{\|\mathcal{N}_u|}}-\frac{e_i}{\sqrt{|\mathcal{N}_i|}}||^2 λgNu euNi ei2的变体GRMF-norm进行了比较。其他超参数设置与LightGCN一致。这两种GRMF方法通过拉普拉斯正则化器对嵌入平滑的性能进行了测试,而LightGCN在预测模型中实现嵌入平滑。
    在这里插入图片描述
    在这里插入图片描述

5. 结论和未来工作

在本文工作中,讨论了不必要的复杂设计并进行了实证研究,以证明这一论点。提出了由轻量图卷积和层组合两部分组成的LightGCN。在轻量图卷积中,我们抛弃了GCNs中的特征变换和非线性激活这两个标准操作,他们不可避免地增加了训练的难度。在层组合中,我们将节点的最终嵌入作为节点在所有层上的嵌入的加权和来构造,证明该方法包含了自连接的影响,有助于控制过平滑。我们通过实验来证明LightGCN简单的优点:更容易被训练,更好的泛化能力,更有效。

我们相信LightGCN的见解对推荐模型的未来发展具有启发意义。随着关联图数据在实际应用中的普及,基于图的模型在推荐中变得越来越重要;通过显式地利用预测模型中实体之间的关系,它们比传统的监督学习方案(如分解机)更有利,后者隐式地对这些关系进行建模。例如,最近的一个趋势是利用辅助信息,如项目知识图谱,社交网络和多媒体内容进行推荐,其中GCNs已经建立了新的最先进水平。但是,这些模型也可能会遇到类似NGCF的问题,因为用户-项目交互图也是由相同的可能不必要的神经操作建模的。我们计划在这些模型中探索LightGCN的思想。另一个未来的方向是个性化权重 α k \alpha_k αk层组合,为不同的用户,以便自适应平滑(例如,稀疏的用户可能需要更多的信号从高阶的邻居而活跃用户需要更少)。最后,我们将进一步探索LightGCN的简单性的优点,研究对于非采样回归损失是否存在快速解决方案,并将其用于在线工业场景。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值