首页 > 其他分享 >A Unified View on Graph Neural Networks as Graph Signal Denoising

A Unified View on Graph Neural Networks as Graph Signal Denoising

时间:2022-09-28 14:58:48浏览次数:98  
标签:Unified frac Neural Graph sum alpha tilde mathcal lambda

目录

Ma Y., Liu X., Zhao T., Liu Y., Tang J. and Shah N. A unified view on graph neural networks as graph signal denoising. In International Conference on Information and Knowledge Management (CIKM), 2021.

往常的 GNN 所使用的 feature aggregation 部分可以看成是对之前 feature transformation 结果的一个去噪, 而去噪的方式决定了不同的网络: GCN, GAT, PPNP ...

符号说明

  • \(\mathcal{G} = (\mathcal{V}, \mathcal{E})\), 图;
  • \(|\mathcal{V}| = N\);
  • \(A \in \mathbb{R}^{N \times N}\), 邻接矩阵;
  • \(D\), diagonal degree matrix;
  • \(L = D - A\), Laplacian matrix, 此外 \(L = I - D^{-\frac{1}{2}}AD^{-\frac{1}{2}}, L = I - D^{-1}A\) 通常称为 normalized matrix;
  • \(N(v)\), \(v\) 的邻居结点;
  • \(\tilde{N}(v) = N(v) \cup \{v\}\);
  • \(X \in \mathbb{R}^{N \times d_{in}}\), 每个 GNN Layer 的输入;
  • \(H \in \mathbb{R}^{N \times d_{out}}\), 每个 GNN Layer 的输出;

Feature transformation and aggregation

大部分的 GNN 都可以归结为 feature transformation and aggregation 两个部分.

GCN

  1. Feature Transformation:

    \[X' = XW; \]

  2. Feature Aggregation:

    \[\tag{2} H = \tilde{A}X', \\ \tilde{A} = \hat{D}^{-\frac{1}{2}}\hat{A}\hat{D}^{-\frac{1}{2}}, \: \hat{A} = A + I. \]

GAT

  1. Feature Transformation:

    \[X' = XW; \]

  2. Feature Aggregation:

    \[\tag{4} H_i = \sum_{j \in \tilde{N}(i)} \alpha_{ij}X_j', \]

    其中

    \[\alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k \in \tilde{N}(i)}\exp(e_{ik})}, \\ e_{ij} = \text{LeakyReLU}([X_i' \| X_j']\bm{a}). \]

PPNP

  1. Feature Transformation:

    \[X' = \text{MLP}(X); \]

  2. Feature Aggregation:

    \[\tag{6} H = \alpha (I - (1 - \alpha)\tilde{A})^{-1} X', \]

    aggregation 的逆通常通过如下的多步迭代逼近 (此时称该方法为 APPNP):

    \[\tag{7} H^{(k)} = (1 - \alpha)\tilde{A}H^{(k-1)} + \alpha X' \: k = 1,\ldots, K. \]

Graph Signal Denoising

作者认为, 上述方法的 aggregation 实际上就是下列问题的一个特例:

\[\tag{8} \text{argmin}_F \: \mathcal{L} = \|F - S\|_F^2 + c \cdot \text{tr}(F^TLF), \]

即 \(S \leftarrow X'\), 而我们所追求的 \(H\) 就是 denoise 后的 \(F\).

  • 首先来看为什么 (8) 是一个 graph signal denosing 问题:

    1. 注意到 \(\|F - S\|_F^2\) 实际上是在要求 \(F\) 逼近 \(S\), 即 \(H\) 逼近 \(X'\);
    2. \(\text{tr}(F^TLF) = \frac{1}{2} \sum_{i \in \mathcal{V}} \sum_{j \in \mathcal{\tilde{N}}(i)} \|F_i - F_j\|_2^2\), 实际上就是一个结点和它邻居间的一个 smoothness 的限制 (注意, 公式成立要求 \(A\) 是二元的).
  • 接下来我们看看如何 GCN, GAT, PPNP 改写为 (8) 的形式.

GCN

  • 注意到

    \[\nabla_F \mathcal{L}|_{F=S} = 2cLS, \]

    所以倘若我们采用梯度下降求解 (8), 的第一步迭代 (初始化 \(F^{(0)} = S\)) 为:

    \[F \leftarrow S - \lambda \cdot (2cLS) = (1 - 2\lambda c) S + 2\lambda c \tilde{A}S, \]

    当 \(\lambda = 1 / 2c, S = X'\) 的时候

    \[F \leftarrow \tilde{A} X', \]

    此为 (2).

  • 故 GCN 的 aggregation 部分就是 (8) 的一步下降.

PPNP

  • 首先, 令 \(\nabla_F \mathcal{L} = 0\) 可得

    \[F^* = (I + cL)^{-1}S = \frac{1}{1 + c}(I - \frac{c}{1 + c} \tilde{A})^{-1} S, \]

    取 \(c=\frac{1}{\alpha} - 1, S = X'\) 即为 (6);

  • 考虑 (8) 的多步迭代:

    \[\begin{array}{ll} F^{(k)} &\leftarrow F^{(k-1)} - \lambda \nabla_{F}|_{F=F^{(k-1)}} \\ &= (1 - 2\lambda - 2\lambda c) F^{(k-1)} + 2\lambda S + 2\lambda c \tilde{A}F^{(k-1)}, \end{array} \]

    当 \(\lambda = \frac{1}{2 + 2c}\) 的时候有

    \[F^{(k)} \leftarrow \frac{1}{1 + c}S + \frac{c}{1 + c}\tilde{A}F^{(k-1)}, \]

    取 \(S = X', c = \frac{1}{\alpha} - 1\) 即为 (7).

GAT

  • GAT 较为复杂, 它实际上是一种自适应的 smoothness 方法, 它对于的 graph signal denoising 问题实际上是:

    \[\tag{17} \text{argmin}_F \: \mathcal{L} = \|F - S\|_F^2 + \frac{1}{2} \sum_{i \in \mathcal{V}} c _i\sum_{j \in \mathcal{\tilde{N}}(i)} \|F_i - F_j\|_2^2. \]

  • 注意到

    \[\nabla_{F_i}\mathcal{L}|_{F_i = S_i} = \sum_{j \in \tilde{N}(i)} (c_i + c_j)(S_i - S_j); \]

  • 故 (17) 的一步迭代为:

    \[\begin{array}{ll} F_i &\leftarrow S_i - \lambda_i \cdot \nabla_{F_i} \mathcal{L}|_{F_i = S_i} \\ &= (1 - \lambda_i \sum_{j \in \tilde{N}(i)} (c_i + c_j)) S_i + \sum_{j \in \tilde{N}(i)} \lambda_i (c_i + c_j) S_j, \end{array} \]

    取 \(\lambda_i = 1 / \sum_{j \in \tilde{N}(i)} (c_i + c_j)\), 等价于

    \[F_i \leftarrow \sum_{j \in \tilde{N}(i)} \frac{c_i + c_j}{\sum_{k \in \tilde{N}(i)} (c_i + c_k)} S_j. \]

    我们可以把 \(\alpha_{ij}\) 理解为 \(\frac{c_i + c_j}{\lambda_i}\).

UGNN

如此一来, 我们可以把 aggregation 归结对如下的问题的求解或者近似:

\[\text{argmin}_F \: \mathcal{L} = \|F - S\|_2^2 + r(\mathcal{C}, F, \mathcal{G}), \]

其中 \(r(\cdot, \cdot, \cdot)\) 是一个正则化项, 用以引入 smoothness.

  • 作者认为, GAT 成功的一个原因就是它不是完完全全的 global-smoothness, 它是带有自适应的局部的一个 smoothness;

  • 于是作者采取了一个类似的正则化项:

    \[r(\mathcal{C}, F, \mathcal{G}) = \frac{1}{2}\sum_{i \in \mathcal{V}}c_i \sum_{j \in \tilde{N}(i)} \|\frac{F_i}{\sqrt{d_i}} - \frac{F_j}{\sqrt{d}_j}\|_2^2; \]

  • 类似上面的做法, 可以推出如下的 aggregation function (一个 GNN Layer 共 \(K\) 次迭代用以逼近上述问题):

    \[H_i^{(k)} \leftarrow 2\lambda_i X_i' + \lambda_i \sum_{v_j \in \tilde{N}(v_i)} (c_i + c_j) \frac{H_j^{(k-1)}}{\sqrt{d_id_j}}, \: k=1,\ldots, K, \]

    其中

    \[\lambda_i = 1 / (2 + \sum_{j \in \tilde{N}(i)} (c_i + c_j) / d_i). \]

  • 特别地, \(c_i\) 用如下方式拟合:

    \[c_i = s \cdot \sigma(h_1(h_2(\{X_j'|j \in \tilde{N}(i)\}))), \]

    \(h_1, h_2\) 是一些函数.

代码

[official]

标签:Unified,frac,Neural,Graph,sum,alpha,tilde,mathcal,lambda
From: https://www.cnblogs.com/MTandHJ/p/16738008.html

相关文章

  • Neural Message Passing for Quantum Chemistry
    目录概符号说明框架GilmerJ.,SchoenholzS.S.,RileyP.F.,VinyalsO.andDahlG.E.Neuralmessagepassingforquantumchemistry.InInternationalConferen......
  • Facebook – Reviews (Graph API)
    前言企业网站经常需要放customerreviews来增加conversion.常见的Reviews平台有FacebookReviews和GoogleReviews.这篇,我将介绍如果通过ASP.NETCorecalli......
  • tigergraph
    Tigergraph单机版部署由于tigergraph是闭源的,需要自行向官网申请安装包:https://www.tigergraph.com.cn/安装命令如下./install.sh在执行install.sh的同时,指定选项可......
  • Mac安装graphviz报错Error: No such file or directory @ rb_sysopen
    一、背景在学习使用golang性能分析工具proof时,安装可视化工具graphviz的时候报错Error:Nosuchfileordirectory@rb_sysopen。二、异常Error:Nosuchfileordi......
  • GraphQL 的工程应用
    在之前的例子中,所有的Schema合成在一个字符串上。这显然是不符合现在大型项目分模块的开发方式。GraphQLSchemaLanguage​ 在之前的例子中,所有的Schema合成在一个......
  • GraphQL概述
    一种用于API的查询语言GraphQL既是一种用于API的查询语言也是一个满足你数据查询的运行时。GraphQL对你的API中的数据提供了一套易于理解的完整描述,使得客户端......
  • GraphQL 中的基础概念
    字段(Fields)​ 指请求对象上特定的字段,类似于JS中的变量、Object中的key。用于指代特定的标识符。{hero{name}}​ 其中hero和name都是字段。Sch......
  • [WSDM 2021]Bipartite Graph Embedding via Mutual InformationMaximization
    总结利用生成对抗网络实现无监督的二部图嵌入方法,聚合时先聚合二跳邻居到一跳再聚合到自己身上以规避不同类型的问题二部图嵌入方式随机游走法重构法,包含协同过滤......
  • [TKDE 2021]Fast Semi-Supervised Learning WithOptimal Bipartite Graph
    总结损失函数中保证结构接近的同时让目标图中的标签和真实标签拟合,而结构接近的判断依据是顶点和锚点之间的关联程度普通图上的半监督学习亲和力矩阵:\(W_{ij}=\left\{......
  • [AAAI 2022]Graph Convolutional Networks with Dual Message Passing for Subgraph I
    总结GNN实现子图匹配。利用线图(边变点)让模型训练时将点和边的特征反复映射到对方领域参与训练。定义常规符号Graph,Edge,Vertex,。X,Y表示点标签和边标签:\(\mathca......