Interest-aware Message-Passing GCN for Recommendation(个人笔记)

论文:兴趣感知信息传递GCN(WWW.2021)

文章链接:https://arxiv.org/abs/2102.10044

代码链接:GitHub - liufancs/IMP_GCN (原版-tensorflow1.x)     

                   https://github.com/PTMZ/IMP_GCN(Pytorch版)


1. 前言

1.1 提出的问题:

(1)现有基于GCN的推荐模型中存在的过度平滑问题。

(2)不加区分地利用高阶邻域会使具有不同兴趣的用户的嵌入变得相似。

(3)聚合邻居信息未考虑是否有交集的爱好,负面信息会严重干扰推荐结果。

1.2 做出的贡献:

(1)我们提出了一个IMP-GCN模型,该模型利用同一子图中的高阶邻居,其中用户节点比其他子图中的节点有更多相似的兴趣。实践证明,该方法能有效地解决过平滑问题。

(2)我们设计了一个子图生成模块来对用户进行分组,并根据用户特征和图结构信息从用户项二部图生成子图。

(3)我们对三个基准数据集进行了实证研究,以评估所提出的IPM-GCN模型。结果表明,IPMGCN可以通过叠加更多层和学习更好的用户/项目嵌入来获得改进,从而大大优于基于SOTA GCN的推荐模型。


2. 模型介绍

2.1 基于GCN模型不同聚合层数的节点平均覆盖率

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第1张图片

该图显示出了不同数量的层聚合到图中的所有节点,目标节点在传播中达到的节点数量的平均覆盖率。可以看出,经过6层或7层图卷积后,在嵌入传播中,一个节点几乎可以从所有其他节点接收信息。因此,通过聚集所有连接的高阶邻居的信息,在当前基于GCN的模型中,在叠加更多层后,节点嵌入不可避免地变得相似。在推荐场景中,这意味着在深层结构中将忽略用户的唯一性。事实上,目前基于GCN的推荐模型在最多3层或4层的情况下达到了峰值性能。

除了过平滑效应,我们认为节点在嵌入传播过程中也会产生噪声或负信息,这会影响最终的性能。在不区分这些用户的情况下,嵌入传播可以在具有不同兴趣的用户之间执行,以在图卷积运算中学习他们的嵌入。为了避免这种情况并缓解过度平滑问题,重要的是将具有相似兴趣(及其交互项)的用户分组到子图中,并限制嵌入传播在子图中操作。

2.2 Light-GCN model

具体的算法这里不在赘述,简要的说明一下在LCN 中各层信息的嵌入和最后的各层加权求和公式。

 各层的嵌入公式:

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第2张图片

 加权求和公式:

2.3 IMP-GCN  model

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第3张图片

2.3.1 信息传递策略

为了减轻信息传播过程中的负信息的影响,需要依靠用户节点在用户项二部图中形成子图。一般的想法是,兴趣更相似的用户被分组到一个子图中,与这些用户直接链接的项目也属于这个子图。因此,每个用户只属于一个子图,一个项目可以与多个子图关联。由于用户和项目之间的直接交互提供了用户兴趣最重要、最可靠的信息,因此在一阶传播中,所有一阶邻居都参与了图卷积运算。即第一层的信息聚合和 LCN 的一致,聚合公式为:

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第4张图片

 对于高阶图卷积,为了避免引入噪声信息,子图中的节点只能利用该子图中相邻节点的信息。对于项目节点,其链接的用户是分布在不同的子图中的。IMP-GCN中的高阶传播定义为:

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第5张图片

 其中, e_{is} 表示在子图 Gs中项目 i 的嵌入,也可以看作是从子图中有相似性趣的用户那学习的特征信息。一个项目嵌入的最终表示为在不同子图中嵌入的组合,即:

 2.3.2 层组合和预测

结合每一层获得的嵌入来得到最后的 u 和 i 的嵌入表示,参数 \alpha _{k} 统一设置为 1/ (K+1),这里的K指的是总的层数,即各层的所占的比例是一样的。最后的评分由 u 和 i 的嵌入内积计算得出:

2.4 子图生成模块

每个用户都由一个特征向量表示,该特征向量是图形结构和ID嵌入的融合(each user is represented by a feature vector, which is a fusion of the graph structure and the ID embedding)

 其中,Fu 是通过特征融合获得的用户特征,W1 和 b1 分别是融合方法的权重矩阵和偏差向量,\sigma 这里用的是 LeakyReLU。为了将用户划分为不同的子图,我们使用两层神经网络将获得的用户特征转换为预测向量:

 其中,Uo 表示预测向量(用于分组,而不是评分),对于具有相似嵌入的用户,等式14将生成相似的预测向量,即,它们将被分类到相同的组中。(这里用的是无监督学习)


3. 实验

3.1 数据集和性能指标

AmazonKindle Store, Amazon-Home&Kitchen 和 Gowalla. 对于所有的数据集,使用10核心设置,即保留至少10个交互的用户和项目。处理后的参数见下图:

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第6张图片

 对于每个数据集,我们随机将其分为培训、验证和测试集,每个用户的比例为80:10:10。

 在TOP-20上使用 Recall 和 NGCG,都是广泛使用的推荐指标。

3.2 层数研究

由于采用的消息传递策略与一阶卷积层中的LightGCN相同,我们将层数从2增加到了7。实验结果如下图所示,其中IMP-GCN2、IMP-GCN3和IMP-GCN4分别用2、3和4个子图表示模型。

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第7张图片

 首先,当在两个数据集上叠加超过2或3层时,建议的IMP-GCN始终优于LightGCN。其次,LCN在堆叠3层或4层时达到峰值性能,增加更多层会导致性能急剧下降,表明其在深层结构中存在过度平滑问题。相反IMP-GCN继续通过更深层的结构实现更好的性能。

3.3 子图数量的研究

上图中还可以观察到具有不同子图数(即{2,3,4})的IPM-GCN的性能。

(1)当叠加不超过3层时,具有2个子图的IMP-GCN2可以获得最佳结果。这是因为在嵌入传播操作中,IMP-GCN2子图中的节点可以在短距离内到达比IMP-GCN3或IMP-GCN4中的on更多的节点。

(2) 当堆叠超过3层时,IMP-GCN3的性能最佳。经过三层图卷积后,嵌入传播中涉及的节点数量急剧增加。平均而言,IMP-GCN2中的每个节点应该比IMP-GCN3和IMP-GCN4中的节点到达更多的节点,然而,IMP-GCN2的性能改善比IMP-GCN3和IMP-GCN4更小,甚至是负面的。这表明,通过粗略级别的(即2个子图)区分用户兴趣,在嵌入传播中仍然存在噪声信息,从而对性能产生负面影响。

(3) 随着子图的增多,IMP-GCN4一方面可以更精细地区分具有相似兴趣的用户,从而更好地从高阶邻域中提取信息;另一方面,它也减少了与其他节点的连接,特别是短距离感兴趣的消息传递。

3.4 实验对比                              

Interest-aware Message-Passing GCN for Recommendation(个人笔记)_第8张图片

                                                                                                 提示:图中的数据省略了%

实验使用了3个子图6和6层的IPM-GCN

你可能感兴趣的:(深度学习,推荐算法)