首页 > 其他分享 >Linear-Time Graph Neural Networks for Scalable Recommendations

Linear-Time Graph Neural Networks for Scalable Recommendations

时间:2024-02-23 16:35:19浏览次数:29  
标签:mathbf Linear Neural Graph 复杂度 bm mathcal matrix

目录

Zhang J., Xue R., Fan W., Xu X., Li Q., Pei J. and Liu X. Linear-time graph neural networks for scalable recommendations. WWW, 2024.

在大图上的一种高效的训练方式.

符号说明

  • \(\mathcal{V}\), node set;
  • \(\mathcal{E}\), edge set;
  • \(\mathcal{G} = (\mathcal{V}, \mathcal{E})\), 图;
  • \(|\mathcal{E}|\), 边的数量;
  • \(|\mathcal{V}| = n+m\), 结点的数量;
  • \(\mathbf{A} \in \mathbb{R}^{(n + m) \times (n + m)}\), 邻接矩阵;
  • \(\mathbf{D} \in \mathbb{R}^{(n + m) \times (n + m)}\), diagonal degree matrix;
  • \(\mathbf{\tilde{A}} = (\mathbf{D} + \mathbf{I})^{-1/2} (\mathbf{A} + \mathbf{I}) (\mathbf{D} + \mathbf{I})^{-1/2}\), normalized adjacency matrix;
  • \(\mathcal{N}(v)\) 表示结点 \(v\) 的一阶邻居;
  • \(\mathbf{E} = [\bm{e}_1, \ldots, \bm{e}_n, \bm{e}_{n+1}, \ldots, \bm{e}_{n+m}]^T \in \mathbb{R}^{(n+m) \times d}\), 为 embedding matrix;

Motivation

  • 如上图所示, 一般的图方法, 如 LightGCN 每个 epoch 的计算复杂度与边集大小 \(|\mathcal{E}|\) 成二次关系.
  • 一些近似方法如 PinSAGE 可以缓解这一点, 通过对每个结点采样 \(D\) 个邻居, 可以把复杂度将为 \(\mathcal{O}(|\mathcal{E} D^L d^2)\). 但是显然, 这种方式和 MF 的线性复杂度依然有很大的差距, 而且这种近似往往会导致一些不可避免的误差.
  • 故而, 本文希望提出一种新的训练方法, 一方面降低计算复杂度, 另一方面能够降低由于采样所导致的近似误差.

LTGNN

  • LTGNN 的主要步骤分为前向和后向传播两部分.

  • Forward:

  • Backward:

  • 其中 \(EVR\) 表示 Efficient Variance Reduction. \(\mathbf{E}^k\) 代表第 \(k\) 次迭代时的 embedding. \(\mathbf{M}_{in}\) 历史的输入 embedding, 而 \(\mathbf{M}_{ag} := \mathbf{\tilde{A}} \mathbf{M}_{in}\). 诚然, 这两部分是隔一段 iterations 更新一次的, 否则又回到了 LightGCN 的复杂度了.

  • (21) 启发自 VR-GCN 和 MVS-GNN, 能够降低近似误差.

注: 实验结果, LTGNN 会比 LightGCN 还要好上一些, 这让我很费解, 因为我没看出来哪部分的设计会导致更好的性能.

代码

[原文代码]

标签:mathbf,Linear,Neural,Graph,复杂度,bm,mathcal,matrix
From: https://www.cnblogs.com/MTandHJ/p/18029848

相关文章

  • OpenSceneGraph环境搭建
    OpenSceneGraph开发环境搭建环境说明windows10visualstudio2019qt5.15预编译库与资源这是最省事的方式,本人懒得走cmake编译那套,而且有现成的为何不用,省点时间研究OSG不香吗?下载预编译库,点此进入,可看到如下页面,点击StableReleasesStableReleases页面如下:......
  • Multi-behavior Recommendation with Graph Convolutional Networks论文阅读笔记
    Abstract传统的推荐模型通常只是要一种类型的用户-项目交互,但是却有着严重的数据稀疏或者冷启动问题。使用多种类型的用户-项目交互的多行为推荐,如点击和收藏,可以作为一种有效的解决方案。早期队多行为推荐的努力未能捕捉到行为对目标行为的不同影响强度。它们还忽略了多行为数据......
  • SciTech-Mathmatics-LinearAlgebra-特征值和特征向量
    1基本定义将\(n\)阶方阵\(M\)分解出如下式的非零n维向量\(v\)作为特征向量和\(\lambda\)作为特征向量;$\largeMv=\lambdav,\v\neq0$上式不仅可以分解出,甚至还可以分解出多个特征向量与特征值;实例:对物体施加作用力F产生运动,运动可以分解到3D空间......
  • 百度搜索exgraph图执行引擎设计与实践
    导读百度搜索exgraph图执行引擎设计重点分成三个部分:图描述语言、图执行引擎、对接扩展。图描述语言是一种基于文本可读的图描述语言,用于描述任务中的算子以及算子之间的依赖关系,即让人可以理解,也可以被计算机理解并执行。图执行引擎是exgraph的核心,负责根据图描述语言生成的......
  • Qt 使用QCryptographicHash做简单的数据加密
    在编写程序的时候经常会使用到一些加密的方法,在Qt中,提供了一些常用的加密方法:Md4,Md5,Sha1,Sha224,Sha256,Sha384,Sha512,Sha3_224,Sha3_256,Sha3_384,Sha3_512,如果我们需要使用这些加密方法时,可以直接使用Qt中的QCryptographicHash类进行加密。1#include<QCryptographic......
  • Qt 哈希加密 QCryptographicHash
    QCryptographicHash类提供了生成密码散列的方法。该类可以用于生成二进制或文本数据的加密散列值。目前支持MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。共有类型枚举QCryptographicHash::Algorithm:公共函数voidaddData(constchar*data,intlength)......
  • A trip through the Graphics Pipeline 2011: Index
    原文地址https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/Welcome.ThisistheindexpageforaseriesofblogpostsI’mcurrentlywritingabouttheD3D/OpenGLgraphicspipelinesasactuallyimplementedbyGPUs.Alot......
  • [ARC165C] Social Distance on Graph
    转化题意,对图进行黑白染色,求最大的\(X\)满足所有\(u,v\)间最短路径小于\(X\)的\(u,v\)异色。很明显是二分答案,假设现在二分到\(mid\),转化为判定型问题。直接\(n^2\)枚举点肯定不对。发现性质:如果\(u,v\)的最短路径长度小于\(X\)且最短路径上经过的边数大于\(......
  • 《SagDRE: Sequence-Aware Graph-Based Document-Level Relation Extraction with Ada
    代码原文地址关键参考文献:Document-LevelRelationExtractionwithAdaptiveThresholdingand LocalizedContextPooling摘要关系抽取(RE)是许多自然语言处理应用的重要任务,它的目标是从文档中抽取出实体之间的关系。文档级RE任务面临着许多挑战,因为它不仅需要跨句子......
  • 安装FlameGraph工具
    目的:用window10远程在debian12安装FlameGraph1、https://github.com/brendangregg/FlameGraph下载zip2、用xftp将刚才下载得zip拖到debian123、unzip解压即可使用4、举例使用FlameGraph分别执行:perfrecord-F99-a-g--sleep60perfscript|FlameGraph-mas......