Linear-Time Graph Neural Networks for Scalable Recommendations
概
在大图上的一种高效的训练方式.
符号说明
- , node set;
- , edge set;
- , 图;
- , 边的数量;
- , 结点的数量;
- , 邻接矩阵;
- , diagonal degree matrix;
- , normalized adjacency matrix;
- 表示结点 的一阶邻居;
- , 为 embedding matrix;
Motivation
- 如上图所示, 一般的图方法, 如 LightGCN 每个 epoch 的计算复杂度与边集大小 成二次关系.
- 一些近似方法如 PinSAGE 可以缓解这一点, 通过对每个结点采样 个邻居, 可以把复杂度将为 . 但是显然, 这种方式和 MF 的线性复杂度依然有很大的差距, 而且这种近似往往会导致一些不可避免的误差.
- 故而, 本文希望提出一种新的训练方法, 一方面降低计算复杂度, 另一方面能够降低由于采样所导致的近似误差.
LTGNN
-
LTGNN 的主要步骤分为前向和后向传播两部分.
-
Forward:
-
Backward:
-
其中 表示 Efficient Variance Reduction. 代表第 次迭代时的 embedding. 历史的输入 embedding, 而 . 诚然, 这两部分是隔一段 iterations 更新一次的, 否则又回到了 LightGCN 的复杂度了.
-
(21) 启发自 VR-GCN 和 MVS-GNN, 能够降低近似误差.
注: 实验结果, LTGNN 会比 LightGCN 还要好上一些, 这让我很费解, 因为我没看出来哪部分的设计会导致更好的性能.
代码
[原文代码]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?