《LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation》
1、问题描述
问题:NGCF中的GCN操作存在冗余。
对于user-item二部图,如果输入为ID embedding的时候,GNN的feature transform以及非线性操作没什么用,只保留GNN最核心的邻居聚合操作就行了(对比NGCF)。
Input node feature:
- 包含title/abstract等语义信息时,feature transform以及非线性操作有必要
- CF场景下,仅为ID embedding时,feature transform以及非线性操作可以去掉
2、LightGCN
2.0 Input node feature
LightGCN网络中唯一的参数:embedding。
2.1 邻居聚合
只保留了对称归一化和邻居聚合。
| 问题 | 解释 |
|---|---|
| 去掉W_2的同时,为什么把 也去掉了? | |
| 去掉W_1的同时,self-connection 也去掉了? | 最后JK连接,有类似的效果,所以去掉了 |
2.2 层组合(类似jumping knowledge)
相当于把每一层进行加权求和/mean。注意,从0层原始特征开始。
2.3 损失函数
点积表示分数,bayes personalized ranking loss希望u和i如果是邻居,分越高越好。后面是L2正则化,防止过拟合。
3、实验
3.1 数据集
和NGCF的一样:
- Gowalla
- Amazon-book
- Yelp2018
3.2 baseline
- NGCF (其他比如GCMC, PinSage)
- Mult-VAE:CF方法
- GRMF:矩阵分解方法
3.3 评估指标
-
recall@k(item集合评估指标)
- 可以简单理解为,user的推荐集合中,和真实的user行为比较,相关的item所占的比例
-
NDCG@k(item排序评估指标)
- 按照排名依次衰减权重
3.4 实验结果
最主要的还是对于NGCF的消融实验,发现左乘W和leakyrelu没什么用。
- NGCF-f:去掉W_1, W_2
- NGCF-n:去掉leakyrelu
- NGCF-fn:都去掉
不同层数:
和其他baseline的比较: