A Unified View on Graph Neural Networks as Graph Signal Denoising

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]

posted @ 2022-09-28 14:42  馒头and花卷  阅读(231)  评论(0编辑  收藏  举报