GNN Pooling
1 Deep Convolutional Networks on Graph-Structured Data
[Henaff M, 2015, 1] 提出通过层次图聚类的方式达到池化的效果。
2 Convolutional neural networks on graphs with fast localized spectral filtering
[Defferrard M, 2016, 2] 提出了将顶点构成一颗完全二叉树,不足部分补充虚拟顶点(类似于填充padding),经行分层池化。见下图。

3 An End-to-End Deep Learning Architecture for Graph Classification
[Zhang M, 2018, 3] 提出了一种SortPooling的方法。简单地来说就是,使用WL算法[7]对顶点着色(赋值),在对顶点排序,截取部分得到池化的效果。


4 Hierarchical Graph Representation Learning with Differentiable Pooling
[Ying R, 2018, 4] 提出的池化方法可以微分可以学习。主要思想是通过GCN同时生成嵌入矩阵Z(l)和assignment matrix(分配矩阵)S(l):
Z(l)S(l)=GNNl,embed(A(l),X(l)),=GNNl,pool(A(l),X(l)).(4.1)
再利用嵌入矩阵Z(l)和assignment matrix(分配矩阵)S(l)生成新的图,新的特征矩阵和邻接矩阵为:
X(l+1)A(l+1)=S(l)TZ(l)∈Rnl+1×d,=S(l)TA(l)S(l)∈Rnl+1×nl+1.(4.2)
5 Graph U-Nets
[Gao H, 2019, 5] 提出了图数据上的U-net,其中的gPooling方法,对于第l层:
- 使用可学习的投影向量p对Xl投影:y=∥pl∥Xlpl;
- 截取前k个索引:idx=rank(y,k);
- 对保留部分**投影y:y~=tanh(y(idx));
- 根据索引idx截取Xl:X~l=Xl(idx,:);
- 对保留下来顶点获得新的邻接矩阵:Al+1=Al(idx,idx);
- 对保留下来的顶点生成新的特征矩阵:Xl+1=X~l⊙(y~1CT)。

上图是gPooling池化过程。原文还有gUpooling,即上采样。在下采样的过程中,记录新图的顶点在原图的位置,在上采样时将根据这个位置信息将小图的顶点“还原”到大图上,见下图。

6 Self-Attention Graph Pooling
[Lee J, 2019, 6] 提出了一种自注意力池化方法SAGPool。
- 利用卷积生成自注意力,参数Thetaatt可学习:Z=σ(D~−21A~D~−21XΘatt)∈RN×1;
- 根据超参池化率k∈(0,1],截取前⌈kN⌉,得到保留的索引idx和自注意力掩码Zmask:idx=top-rank(Z,⌈kN⌉),Zmask=Zidx;
- 根据索引idx和掩码Zmask获得新的特征和邻接矩阵:Xout=Xidx,:⊙Zmask,Aout=Aidx,idx。

原文对自注意力Z的获得给出了多种变体:
ZZZZ=σ(GNN(X,A)),=σ(GNN(X,A+A2)),=σ(GNN2(σ(GNN1(X,A)),A)),=M1m∑σ(GNNm(X,A)).
参考文献
-
1 Henaff M, Bruna J, Lecun Y, et al. Deep Convolutional Networks on Graph-Structured Data.[J]. arXiv: Learning, 2015.
-
2 Defferrard M, Bresson X, Vandergheynst P, et al. Convolutional neural networks on graphs with fast localized spectral filtering[C]. neural information processing systems, 2016: 3844-3852.
-
3 Zhang M, Cui Z, Neumann M, et al. An End-to-End Deep Learning Architecture for Graph Classification[C]. national conference on artificial intelligence, 2018: 4438-4445.
-
4 Ying R, You J, Morris C, et al. Hierarchical Graph Representation Learning with Differentiable Pooling[J]. arXiv: Learning, 2018.
-
5 Gao H, Ji S. Graph U-Nets[C]. international conference on machine learning, 2019: 2083-2092.
-
6 Lee J, Lee I, Kang J, et al. Self-Attention Graph Pooling[C]. international conference on machine learning, 2019: 3734-3743.
-
7 Shervashidze N, Schweitzer P, Van Leeuwen E J, et al. Weisfeiler-Lehman Graph Kernels[J]. Journal of Machine Learning Research, 2011: 2539-2561.