LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation

本文研究了GCN在协同过滤中的有效性,发现特征转换和非线性激活对性能贡献不大,甚至可能降低推荐性能。作者提出LightGCN,简化了GCN模型,通过仅保留邻居聚合和对称归一化,显著提升了推荐性能。实验证明LightGCN在多项指标上优于NGCF和其他最新技术,并分析了模型的平滑嵌入效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from Xiangnan He ,
University of Science and Technology of China,
published in SIGIR‘20, July 25-30,Virtual Event, China.

研究背景

GCN(图卷积网络)成为协同过滤的最新技术,但是推荐的有效性原因不明确,现有工作缺乏对GCN的彻底的消融分析。GCN中最常见的两个设计-特征转换和非线性激活-对协作过滤的性能几乎没有贡献。更糟糕的是,包括它们会增加培训的难度并降低推荐性能。
GCN具体是做什么的?

研究目的

  • 简化GCN的设计,使其更简洁,更适合推荐

介绍

  • 研究的重要性:专注于利用过去的用户项目交互来实现预测的协作过滤(CF)仍然是实现有效个性化推荐的一项基本任务。
  • 用用户交互历史作为输入来增加用户ID可以提高嵌入质量。
  • NGCF: 设计相当繁重且繁重-许多操作没有理由就直接从GCN继承。结果,它们不一定对CF任务有用。在CF的用户-项目交互图中,每个节点(用户或项目)仅由一个ID来描述,ID除了是标识符外,没有其他具体的语义。在这种情况下,将ID嵌入作为输入,执行多层非线性特征变换(这是现代神经网络成功的关键[16])不会带来任何好处,但反过来会增加模型训练的难度。

贡献

  • 经验表明,GCN中的两个常见设计(特征变换和非线性激活)对协同过滤的有效性没有积极影响
  • 使用LightGCN,它通过仅在GCN中包含最重要的组件以供推荐,从而大大简化了模型设计。
  • 将LightGCN与NGCF进行经验比较,并展示出实质性的改进。

预备知识

NGCF简介

NGCF很大程度上遵循标准GCN [23],包括使用非线性激活函数σ(·)和特征转换矩阵W1和W2。但是,我们认为这两个操作对于协同过滤没有用。在半监督节点分类中,每个节点都具有丰富的语义特征作为输入,例如论文的标题和抽象词。因此,执行多层非线性变换有利于特征学习。然而,在协同过滤中,用户项交互图的每个节点仅具有ID作为输入,没有具体的语义。在这种情况下,执行多个非线性变换将不会有助于学习更好的功能;更糟的是,这可能会增加训练难度。

NGCF的经验探索

对相同嵌入大小下的嵌入质量更感兴趣,因此对NGCF的改动在于将获得最终嵌入的方式从concatenation 改为sum,【文中提到该改动对实验效果影响不大?为什么】
实现了以下模型:

  • NGCF-f:删除特征变换矩阵W1和W2
  • NGCF-n:去除非线性激活函数σ
  • NGCF-fn:删除特征变换矩阵和非线性激活函数
    超参设置保持与NGCF的最佳设置相同。
    在这里插入图片描述

实验分析:

  • 添加特征转换会对NGCF产生负面影响,因为在NGCF和NGCF-n两种模型中都将其删除会显着提高性能。
  • 当包括特征转换时,添加非线性激活的影响很小,但是当禁用特征转换时,它会带来负面影响。
  • 特征转换和非线性激活会对NGCF产生相当不利的影响,因为通过同时删除它们,NGCF-fn表现出比NGCF更大的改进(召回率相对提高了9.57%)。
    在这里插入图片描述
    NGCF的训练效果差的原因: 训练难度,从理论上讲,NGCF比NGCF-f具有更高的表示能力,为将权重矩阵W1和W2设置为恒等式I可以完全变为NGCF-f。

方法

模型架构 —LightGCN

在这里插入图片描述

LightGCN介绍

邻居聚合

聚合邻居的特征作为目标节点的新表示。这种邻域聚合可以抽象为:
在这里插入图片描述
AGG(*)就是图卷积的核心-聚合函数,用于考虑目标节点及其邻居节点的第k层表示。

Light Graph Convolution (LGC)

LightGCN的图卷积计算定义:

在这里插入图片描述
根据经验,我们发现这种对称归一化具有良好的性能,在LGC中,我们仅聚合已连接的邻居,而不集成目标节点本身。基于层组合操作基本上了获得了与自连接相同的效果。
对比NGCF:
在这里插入图片描述

层组合与模型预测

模型唯一需要训练的模型参数是第0层的嵌入,也就是对于所有用户的 e u ( 0 ) e^{(0)}_{u} eu(0) 和对于所有项目的 e i ( 0 ) e_{i}^{(0)} ei(0)
在这里插入图片描述
其中 α k ≥ 0 α_{k}≥0 αk0表示第k层嵌入在构成最终嵌入中的重要性。可以将其视为要手动调整的超参数,也可以将其视为要自动优化的模型参数.发现均匀地将α设置为1 /(K + 1)会产生良好的性能。因此,我们没有设计特殊的组件来优化αk,以避免不必要地使LightGCN复杂化并保持其简单性。
一般情况来说,使用超参定义不同层的重要性能够提升训练效果,但是在这里并没有起到作用,它的原因是什么?

  • 使用层聚合的原因:

    • 随着层数的增加,嵌入会变得过于光滑[27]。因此,仅使用最后一层是有问题的。
    • 不同层的嵌入具有不同的语义。
    • 将不同层的嵌入与加权和结合起来,可以捕获带有自连接的图卷积的效果,这是GCN中的一个重要技巧

模型预测定义为:在这里插入图片描述

矩阵运算形式【这里的公式只需要在复现该模型时使用】

令用户-项目交互矩阵为 R ∈ R M × N R∈R^{M×N} RR

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值