概
本文通过理论分析剖析怎么样结构的 GNN 是和 WL-Test 有相同的表达能力的, 从而设计出了 GIN.
符号说明
- \(G = (V, E)\), 图;
- \(X_v, v \in V\), node features;
- \(\mathcal{N}(v)\), 一阶邻居结点;
- \(\{\!\{\cdot \}\!\}\), multiset;
- 一般的 GNN 的结构可以归纳为:\[a_v^{(k)} = \text{AGGREGATE}^{(k)} (\{h_u^{(k-1)}: u \in \mathcal{N}(v)\}) \\ h_v^{(k)} = \text{COMBINE}^{(k)}(h_v^{(k-1)}, a_v^{(k)}), \]倘若, GNN 是用于区分图的, 则最后的输出还对结点进行整合:\[h_G = \text{READOUT} (\{h_v^{(K)}: v \in G\}), \]并最终用于分类 (否则 \(h_v^{(K)}\) 即可用于 node 的分类了).
本文思路
我没看证明, 所以细节是不懂的, 甚至是错的, 因为觉得有趣, 这里只是记录下本文的思路.
-
Lemma2 证明凡是 GNN 能够区分的异构图, 通过 WL-Test 一样能够区分, 这就说明了 GNN 的表达能力的上限是 WL-Test;
-
Theorem 3 证明, 当 GNN 为如下形式
\[h_v^{(k)} = \phi(h_v^{(k-1)}, g(\{\!\{h_u^{(k-1)}: u \in \mathcal{N}(v)\}\!\})), \]的时候, 且 \(\phi\) 为单射, \(g\) 是作用在 multiset 上的映射, 此外, 最后的 \(\text{READOUT}\) 同样是定义在 multiset 上的单射, 则倘若该 GNN 足够深, 它的表达能力和 WL-TEST 一致;
-
Corollary 6 证明了, 定理 3 中的单射 \(\phi\) 是存在的, 事实上存在 \(f\) 和无穷多的 \(\epsilon\) (包括所有无理数) 使得
\[h_v^{(k)} = (1 + \epsilon) \cdot f(h_v^{(k-1)}) + \sum_{w \in X} f(h_w^{(k-1)}), \forall v \in V \]都是不同的, 我们也可以搞得更加复杂一点, 变成:
\[h_v^{(k)} = \varphi((1 + \epsilon) \cdot f(h_v^{(k-1)}) + \sum_{w \in X} f(h_w^{(k-1)})), \forall v \in V, \]注意到,
\[f^{(k+1)}(h_v^{(k)}) = f^{(k+1)} \circ \varphi^{(k)} (\cdots), \]故我们可以用 MLP 来拟合 \(f^{(k+1)}\circ \varphi^{(k)}\), 于是可以记作
\[h_v^{(k)} = \text{MLP}^{(k)}((1 + \epsilon) \cdot h_v^{(k-1)} + \sum_{w \in X} h_w^{(k-1)}), \forall v \in V. \] -
对于基于图的分类, 最后采用如下的
\[h_G = \text{CONCAT(READOUT}(\{h_v^{k}|v \in G\}) | k = 0,1,2,\ldots, K ), \]\(\text{READOUT}\) 采用 summing.
代码
[official]