Understanding Convolution on Graphs via Energies

Giovanni F. D., Rowbottom J., Chamberlain B. P. and Bronstein M. M. Understanding Convolution on Graphs via Energies. TMLR, 2023.

从能量角度理解 GNN, 虽然角度不是最新的, 但是写得非常好.

符号说明

  • \(\mathsf{G} = (\mathsf{V, E})\), 图;
  • \(n := |\mathsf{V}|\), 结点个数;
  • \(\mathsf{E} \subset \mathsf{V \times V}\), edge set;
  • \(\mathbf{A}\), adjacency matrix \(a_{ij} = 1 \text{ if } (i, j) \in \mathsf{E}\);
  • \(\mathbf{F} \in \mathbb{R}^{n \times d}\), node features;
  • \(\mathbf{f}_i \in \mathbb{R}^d, i \in \mathsf{V}\), 行向量;
  • \(\mathbf{f}^r \in \mathbb{R}^n, r = 1, 2, \ldots, d\), 列向量;
  • \(\text{vec}(\mathbf{F}) \in \mathbb{R}^{nd}\), stacking all columns;
  • \(\mathbf{D} \in \mathbb{R}^{n \times n}\), 度矩阵;
  • \(\mathbf{\tilde{A}} := \mathbf{D}^{-1/2} \mathbf{A} \mathbf{D}^{-1/2}\), normalized adjacency matrix;
  • \(\mathbf{\tilde{L}} := \mathbf{I} - \mathbf{D}^{-1/2} \mathbf{A} \mathbf{D}^{-1/2}\), normalized graph Laplacian;

Dirichlet energy and Gradient-flow

  • Dirichlet energy 常常被用来衡量 node features 关于图 \(\mathsf{G}\) 的平滑度:

    \[\tag{1} {\Large \varepsilon}^{\text{Dir}} (\mathbf{F}) := \text{trace}(\mathbf{F}^T \Delta \mathbf{F}) = \frac{1}{2} \sum_{(i, j) \in \mathsf{E}} \| (\nabla \mathbf{F})_{ij} \|^2, \quad (\nabla \mathbf{F})_{ij} := \frac{\mathbf{f}_i}{ \sqrt{d_j} } - \frac{ \mathbf{f}_i }{ \sqrt{d_i} }. \]

  • 假设我们结点的特征 \(\mathbf{F}(t)\) 与时刻 \(t\) 有关, 很自然地我们会希望监控它的一个变换情况:

    \[\tag{2} \dot{\mathbf{F}}(t) = \mathcal{F}(\mathbf{F}(t)). \]

    特别地, 我们称上述的 evolution equation 为 gradient flow, 当

    \[\mathcal{F}(\mathbf{F}(t)) = -\nabla {\Large \varepsilon}(\mathbf{F}(t)). \]

    注: 这里包括之后 \(\nabla {\Large \varepsilon}\) 都是 \(\nabla_{\mathbf{F}} {\Large \varepsilon}\) 的缩写. 这里 \({\Large \varepsilon}\) 是某种 energy 形式, 比如上述的 Dirichlet energy.

  • 在这种情况下, 我们有:

    \[\begin{array}{ll} \dot{\Large \varepsilon} (\mathbf{F}(t)) &= \dot{\mathbf{F}}^T \nabla {\Large \varepsilon} \\ &= (-\nabla {\Large \varepsilon})^T \nabla {\Large \varepsilon} \\ &= -\|\nabla {\Large \varepsilon}\|^2. \end{array} \]

  • 故而可以发现, gradient flow 会导致 \(\mathbf{F}(t)\) 朝着降低 energy \({\Large \varepsilon}\) (注意, 这里 energy 不限定是 Dirichlet energy) 的方向演变.

Heat equation

  • 让我们来看看当 energy 为 Dirichlet energy 的例子, 此时我们有

    \[\tag{3} \dot{\mathbf{F}}(t) = -\nabla {\Large \varepsilon}^{\text{Dir}}(\mathbf{F}(t)) =- 2\mathbf{\tilde{L}} \mathbf{F}, \]

    由上述分析可知, 这种演变方式会促使 \({\Large \varepsilon}^{\text{Dir}} \rightarrow 0\).

  • 当我们用 Euler 方法对上述 gradient flow 进行离散的时候, 有:

    \[\mathbf{F}(t + \Delta t) = \mathbf{F}(t) - 2 \Delta \mathbf{F}(t) \Delta t, \]

    \(\Delta t = 1/2\), 便有

    \[\mathbf{F}(t + \frac{1}{2}) = \mathbf{\tilde{A}} \mathbf{F}(t), \]

    这就是最一般的 GCN (不带 weight matrix). 故而最一般的 GCN 会导致 over-smoothing.

注: 作者在讨论这一点的时候, (3) 是不带系数 \(2\) 的, 此时 (3) 就是个 heat equation. 不过我感觉这样顺下来逻辑会更加顺畅一点.

Gradient flows on graphs: th learnable case

  • 现在让我们看一下比较复杂的情况:

    \[\mathbf{F}_{t+1} = \mathbf{F}_t + \sigma \big( - \mathbf{F}_t \Omega_t + \mathbf{\tilde{A}} \mathbf{F}_t \mathbf{W}_t -\mathbf{F}_0 \mathbf{\tilde{W}}_t \big). \]

  • 它实际上是如下 evolution equation 的离散化 (step size = 1):

    \[\tag{4} \dot{\mathbf{F}}(t) = \sigma \big( - \mathbf{F}(t) \Omega(t) + \mathbf{\tilde{A}} \mathbf{F}(t) \mathbf{W}_t -\mathbf{F}(0) \mathbf{\tilde{W}}_t \big) \]

  • 当且仅当 \(\Omega, \mathbf{W}\) 对称的时候, (4) 是一个 gradient flow, 所对应的 energy 为 (实际上应该整体乘上 1/2):

    \[\tag{5} {\Large \varepsilon}_{\theta} (\mathbf{F}) = \underbrace{ \sum_{i} \langle \mathbf{f}_i, \Omega \mathbf{f}_i \rangle }_{{\Large \varepsilon}_{\Omega}^{\text{ext}}} - \underbrace{ \sum_{i, j} \mathbf{\tilde{A}}_{ij} \langle \mathbf{f}_i, \mathbf{W} \mathbf{f}_i \rangle }_{{\Large \varepsilon}_{\mathbf{W}}^{\text{pair}}} + \underbrace{ \varphi^0 (\mathbf{F}, \mathbf{F}(0)) }_{{\Large \varepsilon}_{\varphi^0}^{\text{source}}} \]

    其中

    \[\varphi^0(\mathbf{F}, \mathbf{F}(0)) = 2 \sum_i \langle \mathbf{f}_i, \mathbf{\tilde{W}} \mathbf{f}_i (0) \rangle. \]

  • 我们有:

    \[\dot{\mathbf{F}}(t) = -\frac{1}{2} \nabla_{\mathbf{F}} {\Large \varepsilon}_{\theta}(\mathbf{F}(t)) = - \mathbf{F}(t) \Big( \frac{\Omega + \Omega^T}{2} \Big) + \mathbf{A} \mathbf{F}(t) \Big( \frac{\mathbf{W} + \mathbf{W}^T}{2} \Big) - \mathbf{F}(0) \mathbf{\tilde{W}}. \]

    这也是为什么要求 \(\Omega, \mathbf{W}\) 对称的原因.

Attraction and repulsion

  • 让我们简化一下 (5), 将 \(\varphi^0\) 移除, 并且定义:

    \[\mathbf{W} = \Theta_+^T \Theta_+ - \Theta_-^T \Theta_-, \]

    由此, 我们可以得到

    \[{\Large \varepsilon}_{\theta} (\mathbf{F}) = \underbrace{ \sum_i \langle \mathbf{f}_i, (\Omega - \mathbf{W}) \mathbf{f}_i \rangle }_{graph-independent} + \underbrace{ \frac{1}{2} \sum_{i,j \in \mathsf{E}} \|\Theta_+ (\nabla \mathbf{F})_{ij}\|^2 }_{attraction} - \underbrace{ \frac{1}{2} \sum_{i,j \in \mathsf{E}} \|\Theta_- (\nabla \mathbf{F})_{ij}\|^2 }_{repulsion}. \]

  • 即, gradient flow, 分为了与 graph 无关的项, 以及 attraction 项和 repulsion 项, 前者使得结点从周围邻居吸收信息, 后者促使结点排斥邻居信息. 这两部分信息, 实际上决定了 GNN 是 smoothing 还是 sharpening 特征.

Low vs high frequency dominant dynamics: a new measure

  • 后面, 我们进一步假设 \(\Omega = 0\), 主要讨论 attraction 和 repulsion 对于低频和高频信息的影响.

  • \(\mathbf{\tilde{L}}\) 的特征值和特征向量为:

    \[\{(\lambda_k \in \mathbb{R}, \phi_k \in \mathbb{R}^d)\}_{k=0}^{n-1}, \]

    且满足

    \[0 = \lambda_0 \le \lambda_1 \le \cdots \le \lambda_{n-1}. \]

  • 我们定义:

    • Low-Frequercy-Dominant (LFD):

    \[{\Large \varepsilon}^{\text{Dir}}( \mathbf{F}(t)) / \|\mathbf{F}(t)\|^2 \mathop{\longrightarrow} \limits^{t \rightarrow \infty} 0. \]

    • High-Frequercy-Dominant (HFD):

    \[{\Large \varepsilon}^{\text{Dir}}( \mathbf{F}(t)) / \|\mathbf{F}(t)\|^2 \mathop{\longrightarrow} \limits^{t \rightarrow \infty} \lambda_{n-1}. \]

  • 换言之, 我们认为当 \(\mathbf{F}(t)\) 塌缩由 \(\phi_0\) 决定的时候, 就是主要由低频信号主导, 反之若塌缩到由 \(\phi_{n-1}\) 决定的时候, 就是主要由高频信号主导.

  • Theorem 4.3. 对于 \(\dot{\mathbf{F}}(t) = \mathbf{\tilde{A}} \mathbf{F}(t) \mathbf{W}\), 令 \(\mu_0 \le \mu_1 \le \ldots \le \mu_{d-1}\)\(\mathbf{W} \in \mathbb{R}^{d \times d}\) 的特征值. 若

    • \(|\mu_0| (\lambda_{n-1} - 1) > \mu_{d-1}\), 则对于几乎所有的 \(\mathbf{F}(0)\), 该 evolution 是 HFD 的;
    • \(|\mu_0|(\lambda_{n-1} - 1) < \mu_{d-1}\), 则对于几乎所有的 \(\mathbf{F}(0)\), 该 evolution 是 LFD 的.
  • Theorem 4.3 告诉我们, 通过 \(\mathbf{W}\) 可以控制整个过程是低频导向的或者高频导向的.

  • 证明这一点需要利用 Kronecker Product \(\otimes\):

    \[\mathbf{A} \otimes \mathbf{B} = \left [ \begin{array}{ccc} a_{11} \mathbf{B} & \cdots & a_{1n} \mathbf{B} \\ \vdots & \ddots & \vdots \\ a_{m1} \mathbf{B} & \cdots & a_{mn} \mathbf{B} \\ \end{array} \right ] \in \mathbb{R}^{mp \times nq}, \quad \mathbf{A} \in \mathbb{R}^{m \times n}, \mathbf{B} \in \mathbb{R}^{p \times q}. \]

  • 一些比较好的性质是:

    1. 向量化:

      \[\text{vec}(\mathbf{AXB}) = (\mathbf{B}^T \otimes \mathbf{A}) \text{vec}(\mathbf{X}) \]

    2. 特征值 (假设 \(\mathbf{A} \in \mathbb{R}^{m \times m}, \mathbf{B} \in \mathbb{R}^{n \times n}\) 是对称的), 若 \(\lambda_i^A, i=0,1,\ldots, m - 1\)\(A\) 的特征值, \(\mu_j^B, j=0,1,\ldots, n-1\)\(B\) 的特征值, 则

      \[\lambda_i^A \cdot \mu_j^B, \quad i=0,1,\ldots, m - 1, j=0,1,\ldots, n - 1 \]

      \(\mathbf{A} \otimes \mathbf{B}\) 的特征值.
      而且, 如 \(\mathbf{x}, \mathbf{y}\) 分别是 \(\lambda_i^A, \mu_j^B\) 所对应的特征向量, 则

      \[\mathbf{y} \otimes \mathbf{x} \]

      也是 \(\lambda_i^A \cdot \mu_j^B\) 所对应的特征向量.
  • 此时我们可以将 evolution equation 改写为:

    \[\dot{\mathbf{F}}(t) = \mathbf{\tilde{A}} \mathbf{F}(t) \mathbf{W} \\ \Rightarrow \text{vec}(\dot{\mathbf{F}}(t)) = (\mathbf{W}^T \otimes \mathbf{\tilde{A}}) \text{vec}(\mathbf{F}(t)). \]

  • 此时 \(\mathbf{W}^T \otimes \mathbf{\tilde{A}}\) 的特征值为:

    \[\mu_i (1 - \lambda_j), \quad i=0,1,\ldots, d-1, \: j=0,1,\ldots, n-1. \]

  • \(\psi, \phi\) 分别表示 \(\mathbf{W}, \mathbf{\tilde{A}}\) 的特征向量, 我们可以把上述的方程拆解为:

    \[\text{vec}(\dot{\mathbf{F}}(t)) = \sum_{r=0}^{d-1} \sum_{\ell=0}^{n-1} c_{r, \ell}(t) \psi_r \otimes \phi_{\ell}, \quad c_{r,\ell}(t) := \langle \text{vec}(\mathbf{F}(t)), \psi_r \otimes \phi_{\ell} \rangle. \]

  • 进一步我们可以求解得到它的显式表达式:

    \[\text{vec}(\mathbf{F}(t)) = \sum_{r=0}^{d-1} \sum_{\ell=0}^{n-1} e^{\mu_r(1 - \lambda_{\ell}) t} c_{r, \ell}(0) \psi_r \otimes \phi_{\ell}, \quad c_{r,\ell}(0) := \langle \text{vec}(\mathbf{F}(0)), \psi_r \otimes \phi_{\ell} \rangle. \]

  • 很显然, \(\mu_i (1 - \lambda_j)\) 的最大值如下几种可能性:

    \[\rho:= \max_{r, \ell} \: \mu_r(1 - \lambda_{\ell}) = \left \{ \begin{array}{ll} \mu_0 (1 - \lambda_{n-1}) & \mu_0 < 0, \mu_0(1 - \lambda_{n-1}) > \mu_{d-1}, \\ \mu_{d-1} & \text{else}. \end{array} \right . \]

  • 如此一来, 我们有:

    \[\begin{array}{ll} \text{vec}(\mathbf{F}(t)) &= e^{\rho t} \bigg(\sum_{r=0}^{d-1} \sum_{\ell=0}^{n-1} e^{[\mu_r(1 - \lambda_{\ell}) - \rho] t} c_{r, \ell}(0) \psi_r \otimes \phi_{\ell} \bigg) \\ &\approx \sum_{r, \ell: \mu_r(1 - \lambda_{\ell}) = \rho} e^{\mu_r(1 - \lambda_{\ell})t} c_{r, \ell}(0) \psi_r \otimes \phi_{\ell}. \end{array} \]

  • \[\frac{ \text{vec}(\mathbf{F}(t)) }{ \|\text{vec}(\mathbf{F}(t))\|^2 } \mathop{\longrightarrow} \limits^{t \rightarrow \infty} \text{Norm}\{\psi_{r} \otimes \phi_{\ell}\}_{r, \ell: (1 - \lambda_{\ell}) = \rho} . \]

  • 实际上, 只有两种可能, 一种是 \(\mathbf{F}(t)\) 的每一列往 \(\phi_0\), 即低频靠近 (此时, \(\mu_0 (1 - \lambda_{n-1}) < \mu_{d-1}\)), 反之往高频信号 \(\phi_{n-1}\) 靠近.

代码

[official]

posted @ 2024-06-19 17:11  馒头and花卷  阅读(84)  评论(0编辑  收藏  举报