首页 > 其他分享 >Graph Neural Networks for Link Prediction with Subgraph Sketching

Graph Neural Networks for Link Prediction with Subgraph Sketching

时间:2023-04-05 21:00:12浏览次数:46  
标签:mathbf Subgraph Neural Graph uv varphi bm mathcal sim

目录

Chamberlain B. P., Shirobokov S., Rossi E., Frasca F., Markovich T., Hammerla N., Bronstein M. M. Hansmire M. Graph neural networks for link prediction with subgraph sketching. In International Conference on Learning Representations (ICLR), 2023.

本文分析了原先的 MPNN 架构以及 subgraph GNN 在 link prediction 任务上的局限性, 以此提出了 ELPH (Efficient Link Prediction with Hashing) 用以结合二者.

符号说明

  • \(\mathcal{V}\), nodes;

  • \(\mathcal{E}\), edges;

  • \(G = (\mathcal{V, E})\), undirected graph;

  • \(d(u, v)\), shortest walk length;

  • \(S = (\mathcal{V}_S, \mathcal{E}_S)\), subgraph, 满足

    \[\mathcal{E}_S = \{(u, v) \in \mathcal{E}| u, v \in \mathcal{V}_S\}. \]

  • \(S_{uv}^k = (\mathcal{V}_{uv}, \mathcal{E}_{uv})\), 由边 \((u, v)\) 引出的 \(k\)-hop subgraph, 其中 \(\mathcal{V}_{uv}\) 是 \(u, v\) 的 \(k\)-hop neighbors.

必要的定义

同构与自同构-graph-level (\(G_1 \cong G_2\)): 假设 \(G_1 = (V_1, E_1), G_2 = (V_2, E_2)\) 为两个简单图, 称它们是同构的若存在一双射 \(\varphi: V_1 \rightarrow V_2\) 满足:

\[(u, v) \in E_1 \Leftrightarrow (\varphi(u), \varphi(v)) \in E_2, \quad \forall u, v \in V_1. \]

进一步, 若 \(G_1 = G_2\), 则称它们为自同构的.

直观上来讲, 两个图同构, 就是存在一一对应的点具有相同的结构.

G-自同构-node-level (\(u \sim_G v\)): 假设 \(G = (V, E)\) 为一简单图, \(u, v\) 为其中的两个点, 称它们是等价的若存在一双射 \(\varphi: V \rightarrow V\) 满足:

\[(a, b) \in E \Leftrightarrow (\varphi(a), \varphi(b)) \in E, \quad \forall a, b \in V. \]

\[u = \varphi(v). \]

G-自同构-edge-level (\((u_1, v_1) \sim_G (u_2, v_2)\)): 假设 \(G = (V, E)\) 为一简单图, \((u_1, v_1), (u_2, v_2)\) 为其中的两条边, 称它们是等价的若存在一双射 \(\varphi: V \rightarrow V\) 满足:

\[(a, b) \in E \Leftrightarrow (\varphi(a), \varphi(b)) \in E, \quad \forall a, b \in V. \]

\[u_2 = \varphi(u_1), v_2 = \varphi(v_1). \]

Motivation

  • 首先给出一个事实, 即 \(u_1 \sim_G u_2 \wedge v_1 \sim v_2 \not \Rightarrow (u_1, v_1) \sim_G (u_2, v_2)\), 如上图所示:

    1. 所有的点都是自同构的;
    2. 比如取 \(u_1 = u_2 = n_0, v_1 = n_1, v_2 = n_2\), 若 \((u_1, v_1) \sim_G (u_2, v_2)\), 则有 \((n_0, n_2) \in E\), 这是错的.
  • 但是现在的 MPNN, 强调自己具有和 WL-Test 相当的表达能力, 恰恰意味着不能够很好地解决这个问题 (对于 link prediction 而言).

  • 如上图所示, 依赖 WL 算法, 倘若我们连接 (1, 2), 那么必定也要连接 (1, 4):

    1. 因为倘若两个结点 \(v_2 \sim_G v_4\) 那么 WL 算法会为两个上同样的色, 可以看成是赋予相同的特征, 不妨设为 \(\bm{z}_2 = \bm{z}_4 = \bm{z}\);

    2. 此时, 一般的 link prediction 会通过:

      \[s_{uv} = \phi(\bm{z}_u, \bm{z}_v) \]

      计算 score, 就会有

      \[s_{12} = s_{14} = \phi(\bm{z}_1, \bm{z}). \]

    3. 此时, 若 (1, 2) 被连接, 那么 (1, 4) 也应当被连接, 但是这和直观上的理解是不符的.

  • 当然了, 需要说明的是, 上面的例子有其特殊性, 在实际中, 每个结点都有它的结点 (或者赋予 embedding), 这就导致实际上很难出现 \(\bm{z}_u = \bm{z}_v\) 的情况 (不考虑 over-smoothing).

  • 现有的一些基于 subgraph 的方法通过为结点排序来解决这一问题 (见 Palette-WL, SEAL), 但是 subgraph 的提取是复杂的, 且不易并行计算.

ELPH

  • 定义

    \[\mathcal{A}_{uv}[d_u, d_v] := |\{n \in \mathcal{V}: d(n, u) = d_u, d(n, v) = d_v\}|, \\ \mathcal{B}_{uv}^k[d] := \sum_{d_v = k+1}^{\infty} \mathcal{A}_{uv}[d, d_v]. \]

  • ELPH 的每一层为 (共 \(k\) 层):

    \[\mathbf{e}_{u, v}^{(l)} = \{\mathcal{B}_{uv}[l], \mathcal{A}_{uv}[d_u, l], \mathcal{A}_{uv}[l, d_v] : \forall d_u, d_v < l\}, \\ \mathbf{x}_u^{(l)} = \gamma^{(l)} (\mathbf{x}_u^{(l-1)}, \Box_{v \in \mathcal{N}(u)}\Big\{ \phi^{(l)}(\mathbf{x}_u^{(l-1)}, \mathbf{x}_v^{(l-1)}, \mathbf{e}_{u, v}^{(l)}) \Big\} ), \]

    其中 \(\Box\) 是某种 permutation-invaiant aggregation function, 比如 (sum, mean, max). \(\mathbf{x}\) 是结点特征.

  • 最后通过如下方式进行 link prediction:

    \[p(u, v) = \psi(\mathbf{x}_u^{(k)} \odot \mathbf{x}_v^{(k)}, \{\mathcal{B}_{uv}[d]\}) \]

  • 总的来说, ELPH 既有 node features, 也有 'edge' features.

  • 需要注意的是, 在实际中, \(\mathcal{A, B}\) 的计算是比较复杂的, 所以作者采用的是一种近似方法, 首先注意到:

    \[\mathcal{A}_{u,v}[d_u, d_v] = |\mathcal{N}^{d_u}(u) \cap \mathcal{N}^{d_v}(v)| - \sum_{x \le d_u} \sum_{x \not= y \le d_v} |\mathcal{N}^x(u) \cap \mathcal{N}^y(v)|, \\ \mathcal{B}_{uv}^k[d] = |\mathcal{N}^d(u)| - \mathcal{B}^k_{uv}[d-1] - \sum_{i=1}^d \sum_{j=1}^d \mathcal{A}_{uv}[i, j], \]

    其中 \(\mathcal{N}^d(u) := \{v \in \mathcal{V}: d(v, u) \le d\}\). 注: 说实话, 我不是很能理解为什么 \(\mathcal{B}\) 有这样的迭代公式, 我自己推导出来的结果是:

    \[\mathcal{B}_{uv}^k = |\mathcal{N}^d(u)| - |\mathcal{N}^{d-1}(u)| - \sum_{j=1}^k \mathcal{A}_{uv}[d, j]. \]

  • 注意, 即使如此, \(|\mathcal{N}^d(u)|\) 和 \(|\mathcal{N}^{d_u}(u) \cap \mathcal{N}^{d_v}(v)|\) 的计算依然是复杂的, 作者通过 MinHash 和 HyperLogLog 来近似它们.

  • 通过 HyperLogLog 近似任意集合的大小 \(|S|\):

  • 通过 MinHash 近似 Jaccard similarity.

代码

datasketch: hyperloglog; hyperloglog++; minhash

标签:mathbf,Subgraph,Neural,Graph,uv,varphi,bm,mathcal,sim
From: https://www.cnblogs.com/MTandHJ/p/17290882.html

相关文章

  • 性能分析之FlameGraph火焰图的生成
    很多人觉得火焰图炫酷。如果只从操作上来说,真是没什么难度,只比大象放冰箱稍微难点。这里演示一下perf结果怎么放冰箱,不,是怎么生成火焰图!perf结果生成火焰图第一步:随便录点啥,我这里是所有操作,主要是生成perf.data文件。[root@7DGroupFlameGraph]#perfrecord-F99-a-g--sleep......
  • D. A Wide, Wide Graph
    D.AWide,WideGraphYouaregivenatree(aconnectedgraphwithoutcycles)with$n$vertices.Considerafixedinteger$k$.Then,thegraph$G_k$isanundirectedgraphwith$n$vertices,whereanedgebetweenvertices$u$and$v$existsifandonlyif......
  • Graph database concepts
    Graphdatabaseconcepts图数据结构由nodes(离散对象)组成,这些nodes可以通过relationships(关系)连接起来。Example1.图结构的概念.xxxxxxxxxx ​pycharm图数据库模型由一下属性组成:Nodes描述域的实体(离散对象).Nodes可以有零个或多个labels来定义(分类)它们是什么......
  • 卷积神经网络(Convolutional Neural Network)
    前置芝士:神经网络前言人脑视觉机理,是指视觉系统的信息处理在可视皮层是分级的,大脑的工作过程是一个不断迭代、不断抽象的过程。视网膜在得到原始信息后,首先经由区域V1初步处理得到边缘和方向特征信息,其次经由区域V2的进一步抽象得到轮廓和形状特征信息,如此迭代地经由更多更高层......
  • 连接 AI,NebulaGraph Python ORM 项目 Carina 简化 Web 开发
    作者:Steam&Hao本文整理自社区第7期会议中13‘21″到44’11″的PythonORM的分享,视频见https://www.bilibili.com/video/BV1s8411N7Cw在做业务开发时,Nebula......
  • 为什么场景图叫图(Graph)而不是叫树(Tree)?
    就如它的名字所说的一样,场景图是一个用于组织图形图像数据结构在计算机中显示的应用程序。一个通常的想法是场景往往被分为很多的部分,而出于某种通常的目的,这些部分最终都......
  • Coinc1dens's lessons for cryptography beginner
    Coinc1dens'slessonsforcryptographybeginner10分题懒得写,赛后浅写一下(有些还真写不出来)太屑了古典懒得写,相信都写的出来1.childexgcdi即为m在模p情况下的乘法逆......
  • Understanding plasticity in neural networks
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Arxiv 2023 Abstract可塑性是神经网络根据新信息快速改变预测的能力,对于深度强化学习系统的适应性和鲁......
  • neural-network-3b1b-watching-notes
    3B1B观看笔记Datetime:2023-03-26T23:20+08:00Categories:MachineLearningNeuralNetworksPlaylistonYoutubewhatismlp?costfunctionandparamsgradient......
  • Spatio-Temporal Representation With Deep Neural Recurrent Network in MIMO CSI Fe
    阅读文献《Spatio-TemporalRepresentationWithDeepNeuralRecurrentNetworkinMIMOCSIFeedback》​ 该文献的作者是天津大学的吴华明老师,在2020年5月发表于IEEE......