图卷积网络(GCNS)在推荐方面显示出巨大的潜力。这归功于他们通过利用来自高阶邻居的协作信号来学习好的用户和项目嵌入的能力。与其他GCN模型一样,基于GCN的推荐模型也存在一个臭名昭著的过度平滑问题–当堆叠更多层时,节点嵌入会变得更加相似,最终无法区分,从而导致性能下降。最近提出的LightGCN和LR-GCN在一定程度上缓解了这一问题,然而,我们认为它们忽略了推荐中过度平滑问题的一个重要因素,即没有用户共同兴趣的高阶相邻用户也可以参与用户在图形卷积操作中的嵌入学习。因此,多层图卷积将使兴趣不同的用户具有相似的嵌入。本文提出了一种新的兴趣感知消息传递GCN推荐模型(IMP-GCN),该模型在子图内部进行高阶图卷积。子图由具有相似兴趣的用户及其交互项目组成。为了形成子图,我们设计了一个无监督的子图生成模块,通过利用用户特征和图结构,可以有效地识别具有共同兴趣的用户。为此,我们的模型可以避免将来自高阶邻居的负信息传播到嵌入学习中。在三个大规模基准数据集上的实验结果表明,我们的模型可以通过堆叠更多的层来提高性能,并且性能明显优于现有的基于GCN的推荐模型。
但我们认为它们仍然是从图卷积的角度来设计模型,而没有很好地考虑推荐领域的过平滑问题。
基于GCN的推荐模型建立在用户项图的基础上,其中用户和项根据用户与项的历史交互进行链接。用户嵌入是通过迭代聚合从相邻(用户和项目)节点传递的消息来学习的。请注意,传递的消息是从相邻节点的嵌入中提取的。当堆叠K层时,通过项目和用户间接连接的K顺序邻居的信息也参与到目标节点的嵌入学习中。一个潜在的假设是,来自高阶邻居的协作信号有利于嵌入学习。然而,并非所有来自高阶邻居的信息在现实中都是积极的。在用户-项目交互图中,高阶相邻用户可能与目标用户没有共同甚至矛盾的兴趣。这是非常可能的,特别是当图表是基于隐式反馈(例如,点击)构建的时候。事实上,在现代推荐系统中,隐式反馈比显式反馈被更广泛地使用。协作过滤背后的核心理念是相似的用户喜欢相似的项目。因此,我们想要利用的协作信号应该来自相似的用户(即兴趣相似的用户)。然而,现有的基于GCN的推荐模型并没有区分高阶邻居,而只是简单地聚合所有这些邻居的消息来更新用户嵌入。因此,不同用户的嵌入也会参与到目标用户的嵌入学习中,从而对性能产生负面影响。这也是基于GCN的推荐模型中过度平滑效应的一个原因–使得不同用户的嵌入是相似的。
基于上述考虑,本文提出了一种新的兴趣感知消息传递GCN推荐模型(IMP-GCN),该模型将用户及其交互项目分组到不同的子图中,并在子图中进行高阶图卷积运算。更具体地说,我们采用了LightGCN的简化网络结构,因为它的有效性已经在[14]中得到了很好的证明,并且它可以在一定程度上缓解过平滑问题。一阶图卷积与LightGCN的卷积相同。**对于高阶图卷积,只利用来自同一子图中节点的消息来学习节点嵌入。子图由提出的图生成模块生成,该模块结合用户特征和图结构来识别具有相似兴趣的用户,然后通过保留这些用户及其交互项来构造子图。**为此,我们的模型可以过滤掉高阶图卷积运算中的负面信息传播进行嵌入学习,从而通过堆叠更多的图卷积层来保持用户的唯一性。在三个大规模的真实数据集上进行了大量的实验,以验证该模型的有效性。结果表明,我们的模型比现有的方法有很大的优势,并且在更多的层(直到7层)的情况下可以获得更好的性能1。这表明我们的模型可以通过排除负节点而受益于更高阶的邻居。此外,通过对结果的深入分析,我们发现嵌入传播中的负面信息是现有的基于GCN的深层次推荐模型性能下降的主要原因。我们发布了代码和相关的参数设置,以方便其他人重复此工作2。
综上所述,本工作的主要贡献如下:
将上述信息作为GCN模型的输入,通过迭代聚合二部图中相邻节点的特征来学习用户和项目表示。
这里我们以LightGCN为例来描述基于GCN的推荐模型,因为它以非常轻巧的设计实现了最先进的性能。我们的模型也是在其设计的基础上开发的。
N u N_{u} Nu:与用户U交互的项目集, N i N_{i} Ni是与项目I交互的用户集
是对称归一化项,它可以避免嵌入规模随着图形卷积运算的增加而增加。
然后把每一层得到的embedding聚合到一起。
其中 a k a_{k} ak≥0是分配给第k层的超参数。它表示这一层在构成最终嵌入中的重要性。从方程。2、预计在对高阶邻域特征进行迭代聚合后,节点将不能保持自身的独特特征,并且它们的嵌入变得越来越相似,从而导致过平滑问题。此外,它没有区分高阶节点在聚合过程中的异构性。来自高阶邻居的噪声信息会影响嵌入学习。例如,将高阶邻居中没有共同兴趣甚至是相互矛盾兴趣的用户的嵌入聚合在一起,通过图卷积操作来学习目标用户的嵌入。
图1显示了通过将不同数量的层堆叠到图中的所有节点,目标节点在传播过程中到达的节点数的平均覆盖率。可以看出,在嵌入传播过程中,经过6层或7层图卷积后,一个节点几乎可以接收到来自所有其他节点的信息。因此,通过聚合所有连通高阶邻居的信息,在现有的基于GCN的模型中,在堆叠更多的层之后,节点嵌入变得同构是不可避免的,特别是对于密集连通的模型,其嵌入将变得越来越相似。在推荐场景中,这意味着在深层次上忽略了用户的唯一性
实际上,目前基于GCN的推荐模型最多只能达到3到4层的峰值性能[14,37]。除了过平滑效应外,我们认为节点在嵌入传播过程中还会携带噪声或负信息,这会损害最终的性能。这是因为用户的兴趣通常跨越一系列项目。不同的用户可能对某些项目有非常不同的兴趣,甚至表现出相互矛盾的态度。在不区分这些用户的情况下,嵌入传播可以在具有非常不同兴趣的用户之间执行,以了解他们在图形卷积运算中的嵌入。为了避免这种情况并缓解过平滑问题,重要的是将具有相似兴趣的用户(及其交互项目)分组到子图中,并约束嵌入传播在子图中进行操作。为了实现这一目标,我们提出了兴趣感知消息传递GCN模型。
通过构造子图,我们希望一个子图中传播的所有信息都能有助于该子图中所有节点的嵌入学习。换言之,我们的目标是利用子图排除图卷积运算中的负信息传播。为了实现这一目标,我们依靠用户节点在用户-项目二部图中形成子图。其基本思想是将兴趣更相似的用户分组到一个子图中,与这些用户直接链接的项目也属于这个子图。因此,每个用户只属于一个子图,一个项目可以关联多个子图。
接下来,我们将在我们的模型中引入图的卷积运算。
由于用户与物品之间的直接交互提供了最重要、最可靠的用户兴趣信息,因此在一阶传播中,所有的一阶邻居都参与了图的卷积运算。(这是说一阶的时候不划分子图,全部放入到GCN中吗)
对于高阶图卷积,为了避免引入噪声信息,子图中的节点只能利用该子图中相邻节点的信息。因为用户交互的项目都属于该用户的子图,所以用户仍然可以从所有链接的项目接收信息。但是,对于项目节点,其直接用户邻居可以分布在不同的子图中。为了了解项i的嵌入,对于它所属的每个子图 G s G_{s} Gs,我们学习该项的嵌入。 e i s k e^{k}_{is} eisk表示项i经k层图卷积后嵌入到子图s中,其高阶传播定义为:
通过这种方式,我们保证在子图中学习的节点的嵌入只有助于该子图中其他节点的嵌入学习。这可以避免从无关节点传播的噪声信息。 e i s . e^{.}_{is} eis.可以被认为是从对子图 G s G_{s} Gs具有相似兴趣的用户学习的特征.这是有道理的,因为有相似兴趣的用户通常更喜欢同一项目的相同特征。项i在k层图形卷积之后的最终表示是其在不同子图中学习的嵌入的组合,即,
我们将在每一层获得的嵌入组合在一起,以形成用户u和项i的最终表示为Eq。2.与LightGCN类似, a k a_{k} ak统一设置为1/(k+1)[14]。
内积计算用户对物品的喜爱度。请注意,还可以应用其他交互函数,例如欧几里得距离。由于本工作的重点是研究基于GCN的推荐模型中图形卷积对区分用户兴趣的影响,因此在实证研究中,我们采用与前人工作相同的内积[2,33,42]进行公平比较。
我们使用矩阵形式的传播规则来实现我们的算法(更多细节见[33]),通过它我们可以以一种相当有效的方式同时更新所有用户和项目的表示。使图卷积网络适用于大规模图是一种常用的方法[26,33]。
我的理解就是L就是一个卷积。
当我们涉及高阶图卷积层中的子图时,子图上的嵌入传播公式如下:
优化:在这项工作中,我们以TOP-K推荐为目标,旨在推荐一组符合目标用户偏好的K排名靠前的项目。与评级预测相比,这在真实的商业系统中是一项更实际的任务[27]。类似于其他面向排名的推荐工作[33,42],我们采用成对学习方法进行优化。
在本节中,我们将介绍我们提出的子图生成模块,该模块用于从给定的输入图G构造子图。请注意,在我们的模型中,子图用于对具有共同兴趣的用户进行分组。我们将用户分组描述为一个分类任务,即每个用户被分类到一个组中。具体地说,每个用户由一个特征向量表示,该特征向量是图结构和ID嵌入的融合:
采用LeakyReLU[24],因为它既可以对正信号进行编码,也可以对小的负信号进行编码。为了将用户分类到不同的子图中,我们使用两层神经网络将获得的用户特征映射到预测向量。
预测向量维度的维度与子图的数量相同,子图是预先选择的超参数。
请注意,这是一种将用户分类到不同组的无监督方法,因此不需要地面事实标签。对于具有类似嵌入的用户,公式为:14将生成相似的预测向量,即,它们将被归入同一组。子图生成的目的是根据用户分组结果和原始用户-项目图的拉普拉斯矩阵,构造一个矩阵来表示子图中的用户-项目邻接关系。对于每个子图的矩阵,如果对应的用户不在用户组中,则根据获取的用户组信息,过滤出原始用户-项目图的拉普拉斯矩阵中的用户-项目邻接关系。
为了评估IMP-GCN的有效性,我们在亚马逊Kindle商店、Amazon-Home&Kitchen和Gowalla三个基准数据集上进行了实验。前两个数据集来自公开的Amazon Review数据集4,该数据集在以前的研究中被广泛用于推荐评估。第三个数据集是从Gowalla收集的签到数据集,在Gowalla,用户通过签到共享他们的位置。我们遵循推荐中的一般设置来过滤交互较少的用户和项目。对于所有数据集,我们使用10个核心设置,即保留至少有10个交互的用户和项目。表1显示了三个数据集的统计数据,我们可以看到,这些数据集的大小和稀疏程度不同,这对于分析我们的方法和竞争对手在不同情况下的性能是很有用的。
对于每个数据集,我们将其随机分为训练集、验证集和测试集,每个用户的比率为80:10:10。观察到的用户-项目交互被视为正面实例。对于采用成对学习策略的方法,我们随机抽取一个用户以前没有消费过的负实例,与每个正实例进行配对
对于测试集中的每个用户,我们将用户未交互的所有项目视为负面项目。我们的评估采用了两个广泛使用的TOP-K推荐评估指标:召回率和归一化折扣累积收益[13]。对于每个指标,性能都是根据前20个结果计算的。请注意,报告的结果是所有测试用户的平均值
我们使用Tensorflow 5实现了我们的模型,并仔细调整了关键参数。对于所有模型,嵌入大小固定为64,并且嵌入参数用Xavier方法[39]初始化。我们使用ADAM[17]优化了我们的方法,并使用默认学习率0.001和默认小批量大小1024(在Gowalla上,我们将小批量大小增加到2048以提高速度)。l2正则化系数휆在{1e−6,1e−5,···,1e−2}的范围内搜索。早期停止和验证策略与LightGCN中的相同
在这一部分中,我们首先评估了我们的IPM-GCN模型在图形卷积中堆叠不同层时的性能。这是为了检验我们的利益感知信息传递策略是否能够缓解过度平滑的问题。接下来,我们研究了子图数目对模型性能的影响。
为了考察IMP-GCN在更深层结构中的有效性,我们增加了模型深度,并与LightGCN进行了详细的比较。由于所采用的消息传递策略在一阶卷积层与LightGCN相同,因此我们将层数从2层增加到7层。实验结果如图3所示,其中IMP-GCN2、IMPGCN3和IMP-GCN4分别用2、3和4个子图表示模型。由于空间限制,我们省略了home&kitchen上的结果,因为它们显示了完全相同的趋势。从结果中,我们发现了一些有趣的观察结果。
首先,当两个数据集叠加超过2或3层时,IMP-GCN的性能一致优于LightGCN。这表明我们的模型可以通过兴趣感知消息传递策略学习更好的嵌入。其次,LightGCN的性能在堆叠3层或4层时达到峰值,增加更多的层会导致性能急剧下降,说明LightGCN在深层结构中存在过平滑问题。相比之下,IMP-GCN继续以更深的结构获得更好的性能(请注意,当堆叠超过7层时,一个节点已经从几乎所有节点聚合了信息,见图1。结果表明我们的模型在缓解过度平滑问题方面的能力。此外,它还证明了我们的观点,即不加区别地利用所有节点的信息会导致基于GCN的推荐模型中的过度平滑,以及2)验证了我们的子图生成算法在对具有共同兴趣的用户进行分类方面的有效性。
图3还可以观察到不同子图数目(即{2,3,4})的IPM-GCN的性能。从结果可以看出,(1)具有2个子图的IMP-GCN2在堆叠不超过3层时可以获得最好的结果。这是因为在嵌入传播操作中,IMP-GCN2的子图中的节点可以比IMP-GCN3或IMP-GCN4中的ON在短距离内到达更多的节点。(2)当叠加3层以上时,IMP-GCN3的性能最好。经过三层图卷积后,嵌入传播中涉及的节点数急剧增加(参见图1中的示例)。平均而言,IMP-GCN2中的每个节点应该比IMP-GCN3和IMP-Gcn4中的节点到达更多的节点,但是IMP-GCN2的性能提高(在Kindle商店上)比IMP-GCN3和IMP-Gcn4要小,甚至是负的。这表明在粗略水平(即2个子图)区分用户兴趣的嵌入传播中仍然存在噪声信息,从而对性能产生负面影响。请注意,IMP-GCN3仍然可以受益于高阶邻居。(3)IMP-GCN4具有更多的子图,一方面可以在更精细的层次上区分兴趣相似的用户,从而更好地从高阶邻居中提取信息;另一方面,它还切断了与其他节点的连接,特别是距离较短的节点,为嵌入学习提供了更有价值的信息。因此,当堆叠更多层时,其性能仅可与IMP-GCN2相媲美。因此,在选择子图的数量时需要权衡。基于LightGCN和我们的IPM-GCN模型,通过分析每个节点的平均复盖率和相应的性能,进一步研究了子图的影响。由于篇幅所限,我们仅在Kindle Store上提供搜索结果,并省略了与召回趋势相似的ndcg。在本实验中,我们使用了4层的LightGCN和3个子图6层的IPM-GCN,这是它们在Kindle商店上的最佳设置。图4(A)和图4(B)分别显示了基于LightGCN和IPM-GCN的子图中每个用户的平均召回率和平均覆盖率。值得注意的是,通过将对子图有相似兴趣的用户分组,使信息只在子图中传播,IPM-GCN可以受益于更多层的图卷积,并从高阶邻居中提取正信息。相反,LightGCN受到来自高阶邻居的负面信息的限制,只能在4层上获得改善。通过比较不同子图的性能可以看出,随着覆盖率的提高,IPM-GCN的性能明显提高。
另一个有趣的发现是,通过堆叠6层,子图中的一个用户节点几乎连接到整个图中的所有其他节点。这表明一个子图中的用户几乎交互了该图中的所有项目(否则,覆盖率不可能那么高)。更重要的是,IPM-GCN在没有过度平滑的情况下,仍然可以在如此高的覆盖率下实现改进。这表明在图中学习的项的嵌入有助于用户在该图中的嵌入学习,而在图卷积过程中在子图中提取的信息对于该子图中所有节点的嵌入学习是有用的。验证了兴趣感知消息传递策略和子图生成算法的有效性。
在本节中,我们通过将IMP-GCN与以下两种变体进行比较,研究了模型中不同组件对最终性能的贡献:
这部分是公式的替换,还要仔细看看文章了