目录
- Ⅰ 论文信息
- Ⅱ 论文框架
- 1 Introduction
- 2 The Challenges of Computation on Graphs
- 3 Problem Setting and Notation
- 4 Extending Convolutions to Graphs
- 5 Polynomial Filters on Graphs
- 6 Modern Graph Neural Networks
- 7 Interactive Graph Neural Networks
- 8 From Local to Global Convolutions
- 9 Learning GNN Parameters
- 10 Conclusion and Further Reading
Ⅰ 论文信息
本文链接:Understanding Convolutions on Graphs
本文是2021年9月发表在distill上的有关图卷积神经网络的文章,它的介绍图神经网络的姊妹篇A Gentle Introduction to Graph Neural Networks已经在B站听沐神讲过了,决定再看看这篇介绍图卷积的加深对图的认识。
Ⅱ 论文框架
1 Introduction
2 The Challenges of Computation on Graphs
3 Problem Setting and Notation
4 Extending Convolutions to Graphs
5 Polynomial Filters on Graphs
5.1 The Graph Laplacian
- The graph Laplacian
L
L
L is the square
n
×
n
n×n
n×n matrix defined as:
L
=
D
−
A
L = D - A
L=D−A.
- 其中 D D D为diagonal degree matrix, D v = ∑ u A v u D_v=\sum_{u}A_{vu} Dv=∑uAvu, A A A为0-1领接矩阵
- Laplacian L L L 仅与图的结构有关,与节点特征无关
- graph Laplacian具有很多有趣的性质,出现在许多与图有关的数学问题中,在后面的章节中会有所介绍
5.2 Polynomials of the Laplacian
-
polynomials of the Laplacian: p w ( L ) = w 0 I n + w 1 L + w 2 L 2 + . . . + w d L d = ∑ i = 0 d w i L i p_w(L) = w_0I_n+w_1L+w_2L^2+...+w_dL^d=\sum_{i=0}^dw_iL^i pw(L)=w0In+w1L+w2L2+...+wdLd=∑i=0dwiLi
- 每个此形式的多项式都可以用一组系数向量表示 w = [ w 0 , w 1 , . . . , w d ] w=[w_0,w_1,...,w_d] w=[w0,w1,...,wd]
-
These polynomials can be thought of as the equivalent of ‘filters’ in CNNs, and the coefficients w w w as the weights of the ‘filters’.
-
Once we have constructed the feature vector x x x, we can define its convolution with a polynomial filter p w p_w pw as: x ′ = p w ( L ) x x^′=p_w(L)x x′=pw(L)x
-
根据推导,当仅有 w 1 = 1 w1=1 w1=1,其余均为0时
Q:为什么 L v x L_vx Lvx就直接推到第二行邻居 u u u了呢, x u x_u xu怎么跑出来了呢
A:第二行的 u u u是图中所有节点,是经过第三行的计算之后,由于 D D D、 A A A的特性才推导至第四行的 u u u为 v v v的邻居节点 -
每个节点 v v v的特征都是与它的邻居 u u u们的特征有关(combination)
- 邻居与节点的最大距离代表 the degree of localization,由 d d d 表示
5.3 ChebNet
ChebNet中对 polynomial filters进行了重定义:
p
w
(
L
)
=
∑
i
=
1
d
w
i
T
i
(
L
~
)
p_w(L) = \sum_{i=1}^dw_iT_i(\widetilde{L})
pw(L)=i=1∑dwiTi(L
)
- T i T_i Ti 是 degree-i Chebyshev polynomial of the first kind
- L ~ \widetilde{L} L 是 normalized Laplacian : L ~ = 2 L λ m a x ( L ) − I n \widetilde{L}=\frac{2L}{\lambda_{max}(L)-I_n} L =λmax(L)−In2L
这样进行重定义的意义:
- L L L是半正定的, L ~ \widetilde{L} L 是 L L L的 scale-down version, L ~ \widetilde{L} L 的值在-1到1之间,从而防止 L ~ \widetilde{L} L 的幂的输入爆炸
- Chebyshev polynomials 具有一些有趣的性质,使插值在数值上更加稳定
5.4 Polynomial Filters are Node-Order Equivariant(节点顺序等价)
- The polynomial filters we considered here are actually independent of the ordering of the nodes. 这些多项式filters与图中节点的顺序是无关的。
- A similar proof follows for higher degree polynomials: the entries in the powers of LL are equivariant to the ordering of the nodes.
5.5 Embedding Computation
现在可以像CNN一样将 ChebNet 层堆叠起来,中间加入非线性层。
在这个网络中,对每个结点使用的filter weights都是相同的、共享的,这点也和CNN中的卷积核权重共享一样。
6 Modern Graph Neural Networks
如5.2中的公式图所示,我们可以认为这卷积由两步组成:
- Aggregating over immediate neighbour features x u x_u xu
- Combining with the node’s own feature x v x_v xv
KEY IDEA: What if we consider different kinds of ‘aggregation’ and ‘combination’ steps, beyond what are possible using polynomial filters?
这些卷积可以被认为是相邻节点之间的 meassage-passing :每一步之后,每个阶段都会收到来自邻居们的一些信息。
6.1 Embedding Computation
Message-passing 构成了如今许多GNN结构的脊柱,我们在此描述几种常用的GNN框架:
- Graph Convoluntional Networks (GCN)
- Graph Attention Networks (GAT)
- Graph Sample and Aggregate (GraphSAGE)
- Graph Isomorphism Network (GIN)
-
GCN
每一步 k k k的时候,可学习参数 W , B W,B W,B以及函数 f f f对所有节点都是共享的。这样使得GCN模型能够 scale well,因为参数的数量和图的size无关。
-
GAT
每一步 k k k的时候,可学习参数 W , B W,B W,B以及函数 f f f对所有节点都是共享的。这样使得GAT模型能够 scale well,因为参数的数量和图的size无关。
这里我们只用了单头注意力机制,多头注意力机制也是类似的。
3. GraphSAGE
原GraphSAGE论文中
A
G
G
u
∈
N
v
(
h
u
(
k
−
1
)
)
{AGG}_{u\in{\mathcal{N}}_v}({h_u^{(k-1)}})
AGGu∈Nv(hu(k−1))有三种choices:
- mean (与GCN相似)
- dimension-wise Maximum
- LSTM(在给邻居们排序之后)
在此,我们决定使用 RNN aggregator,因为它比LSTM更易于解释但是两者理念相似。
此外,原论文中还是用了 ‘neighbourhood sampling’ :无论一个节点的neighbourhood有多大,都从中进行固定大小的随机采样。这样可以增大映射的多样性,同时使得算法可以在大图上使用。
可学习参数对于所有节点共享。这样使得GraphSAGE模型能够 scale well,因为参数的数量和图的size无关。
4. GIN
可学习参数对于所有节点共享。这样使得GIN模型能够 scale well,因为参数的数量和图的size无关。
6.2 Thoughts
评估不同的 aggregation functions是很有趣的事情,论文How Powerful are Graph Neural Networks中通过他们怎样保留邻居节点的特征进行了比较。
我们只讨论了只在节点上进行运算的GNN,现在还要新的也在边上进行计算的GNN,但message passing的概念是相同的。
7 Interactive Graph Neural Networks
8 From Local to Global Convolutions
目前我们所讲到的方法都进行的是 ‘local’ convolutions:每个节点的特征都是用它 local neighbors 的特征的函数来更新的。
尽管经过足够步数的meassage-passing能够最终保证图中所有节点的信息都能被传递,但我们想要更直接的进行 ‘global’ convolutions 的方法。
8.1 Spectral Convolutions
KEY IDEA:Given a feature vector
x
x
x, the Laplacian
L
L
L allows us to quantify how smooth
x
x
x is, with respect to
G
G
G.
8.2 Spectral Representations of Natural Images
These visualizations should convince you that the first eigenvectors are indeed smooth, and the smoothness correspondingly decreases as we consider later eigenvectors.
For any image x x x, we can think of the initial entries of the spectral representation x ^ \hat{x} x^ as capturing ‘global’ image-wide trends, which are the low-frequency components, while the later entries as capturing ‘local’ details, which are the high-frequency components.
8.3 Embedding Computation
convolution in the spectral domain 需要的参数比 direct convolution in the natural domain 要少挺多。
此外,由于图中拉普拉斯特征向量的平滑度,使用光谱表示(spectral representation)会自动对相邻节点强制执行归纳偏差(inductive bias)以获得相似的表示。
Spectral Convolution 的执行过程:
8.4 Spectral Convolutions are Node-Order Equivariant
与拉普拉斯多项式filters相似,Spectral Convolutions 也是与节点顺序无关的。
Spectral Convolutions的缺点:
- 必须要从 L L L中计算特征矩阵 U m U_m Um,这对于大图而言是不可行的
- 即使算出了 U m U_m Um,计算效率也是很低的,因为 U m U_m Um和 U m T U_m^T UmT的重复乘法
- 学习到的filters是针对于所输入的图的,这意味着对于新的结构不同的图,它们并不适用
8.5 Global Propagation via Graph Embeddings
一个更简单的结合graph-level信息的方法是:compute embeddings of the entire graph by pooling node (and possibly edge) embeddings, and then using the graph embedding to update node embeddings, following an iterative scheme。但是这种方法忽略了图中潜在的拓扑。
9 Learning GNN Parameters
我们所讨论的embedding computations不论是spectral还是spatial的都是完全可微分的,这允许GNN以端到端的方式进行训练,只要设置一个合适的损失函数 L \mathcal{L} L:
-
Node Classification
传统的categorical cross-entropy:
GNN也适用于半监督的设置,可以只计算有标记的节点的loss:
-
Graph Classification
通过聚合点的表征,可以为整个图构建一个向量表征。这种图表征可被用于做包括分类在内的各种graph-level task。 -
Link Prediction
从相邻和不相邻的节点中采样节点对,并用这些节点对作为输入预测边是否存在。采用类似logistic regression的损失函数:
-
Node Clustering
仅仅把学习到的节点表征进行聚类。
另一种self-supervised方法是强制相邻的节点得到相似的embeddings,模仿random-walk方法如node2vec和DeepWalk:
10 Conclusion and Further Reading
-
GNNs in Practice
GCN中提出将update公式改为这种形式,一边在GPU上有效进行GNN的向量化实现:
Regularization技术如Dropout等也可以直接用于GNN中,此外还有图专用的正则化技术如DropEdge。 -
Different Kinds of Graphs
本文关注的是无向图,但是还有一些spatial convolution的简单变体可以用于有向图、时序图、异构图。 -
Pooling
为了graph-level task,pooling可用于学习图表征。
简单的方式就是将最后的节点表征聚合起来通过一个predict函数:
此外,还有医学更有力的POOLING的方式:SortPool,DiffPool,SAGPool。