#Reading Paper# LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation

#论文题目:LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation(LightGCN: 简化和增强图卷积网络的推荐)
#论文地址:https://dl.acm.org/doi/10.1145/3397271.3401063
#论文源码开源地址:https://github.com/gusye1234/LightGCN-PyTorch
#论文所属会议:SIGIR 20

一、创新点

作者提出一个简化GCN的模型LightGCN,只包含GCN最重要的组成部分,例如领域的聚合,多层传播,抛弃了GCN最常见的设计-特征转换非线性激活两个步骤,并且通过在用户-项目交互图上线性传播用户和项目的嵌入来学习它们,最后将所有层上学习到的用户和项目嵌入加权和算作最后的预测得分。

本质:传统GCN的方法被改进成为NGCF方法,LightGCN方法是在NGCF方法上进行二次改进得到的一种新方法。

二、NGCF方法导读

2.1 NGCF方法简介

我们在将用户和项目从ID嵌入成向量后,然后利用用户-项目二部图来进行传播,传播算法如下:
#Reading Paper# LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation_第1张图片
其中eu(k)和 ei(k) 分别表示用户u的向量表示和项目i的向量表示,k表示传播的层数, σ \sigma σ 表示非线性激活函数, N \Nu Nu表示与用户u交互的项目i的集合, N \Nu Ni表示与项目i交互的用户u的集合,W1和 W2 是训练的权重矩阵。
之后我们得到了(eu(0), eu(1), …, eu(L))和(ei(0), ei(1), …, ei(L)),最后将这两部分进行嵌入串联,最终利用内积生成预测得分。

2.2 NGCF的实验探索

#Reading Paper# LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation_第2张图片

  • NGCF-f,它删除了特征转换矩阵W1和W2。
  • NGCF-n,它消除了非线性激活函数σ。
  • NGCF-fn,它删除了两个特征转换矩阵和非线性激活函数。

可以看到NGCF-fn的召回率和loss都有明显改善。所以通过准备阶段的实验研究,我们发现特征转换矩阵和非线性激活函数对我们的结果影响不大,反而性能还有所下降,于是下面提出我们的模型LightGCN。

个人感想:可能作者是看到此论文中删除某些变换矩阵得到的灵感进行下面LightGCN方法的改进

三、LightGCN方法

3.1 基本思想

GCN的基本思想是通过平滑图上的特征来学习节点的表示。 为了实现这一点,它迭代地执行图卷积,即,将邻居的特征聚合为目标节点的新表示。 这种邻域聚合可以抽象为:
在这里插入图片描述
AGG是一个聚合函数(图形卷积的核心),它考虑了目标节点及其邻居节点的第k层表示形式。 例如GIN 中的加权和聚合器,GraphSAGE 中的LSTM聚合器和BGNN 中的双线性交互聚合器等。但是,大多数都具有转换或非线性激活的功能。 具有AGG功能。 尽管它们在具有语义输入功能的节点或图分类任务上表现良好,但是它们对于协作过滤可能很繁琐。
#Reading Paper# LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation_第3张图片

3.2 Light Graph Convolution(轻量级的图卷积)

在LightGCN中,我们采用简单的加权和聚合器,而不使用特征变换和非线性激活。 LightGCN中的图卷积运算定义为:
#Reading Paper# LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation_第4张图片
值得注意的是,在LGC中,只聚合已连接的邻居,而不整合目标节点本身(即自连接)。这不同于大多数现有的图卷积操作(它们通常聚合扩展的邻居,需要专门处理自连接。将在下一小节中介绍的层组合操作,本质上捕获了与自连接相同的效果。因此,在LGC中不需要包含自我连接。)

3.3 层组合和模型预测

在这里插入图片描述
在该模型中,唯一可以进行人为训练的就是eu(0)和ei(0),当此两个参数给定的时候,盛夏的就可以用模型自动生成。
其中,αk≥0表示第k层嵌入在构成最终嵌入中的重要性。 可以将其视为要手动调整的超参数,也可以将其视为要自动优化的模型参数。 在我们的实验中,我们发现将αk统一设置为1 /(K +1)通常可获得良好的性能。 因此,我们无需设计特殊组件来优化αk,从而避免不必要地使LightGCN复杂化并保持其简单性。

我们执行图层组合以获得最终表示的原因有三点:

  1. 随着层数的增加,嵌入会变得更加平滑。 因此,仅使用最后一层是有问题的。
  2. 不同层的嵌入具有不同的语义。 例如,第一层对具有交互作用的用户和项目强制执行平滑操作,第二层对在交互的项(用户)上重叠的用户(项目)进行平滑操作,更高的层则捕获较高级别的邻近度。
    因此,将它们结合起来将使表示更加全面。
  3. 将不同层的嵌入与加权和结合起来,可以捕获图卷积和自连接的效果。

模型预测被定义为用户和项目最终表示的得分:
在这里插入图片描述
原文还有用矩阵形式进行LightGCN表示的介绍,若有兴趣可以自行观看。

3.4 模型训练

LightGCN的可训练参数只是第0层的嵌入,即,Θ = { E(0) };换句话说,模型的复杂性与标准矩阵分解(MF)相同。我们采用贝叶斯个性化排名(BPR)损失,这是一个成对的损失,鼓励预测一个观察到的项目要高于它的未观察到的项目:
在这里插入图片描述
其中λ 控制L2正则化的权重。我们采用Adam优化器,并以mini-batch的方式使用它。

四、实验结果

该方法依次改变图卷积网络的层数,正则参数,以及与最新方法对比,都显示此方法有更为显著的效能提升。
#Reading Paper# LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation_第5张图片
#Reading Paper# LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation_第6张图片

你可能感兴趣的:(图嵌入,推荐算法,链路预测,算法,聚类,机器学习)