赞
踩
[Henaff M, 2015, 1] 提出通过层次图聚类的方式达到池化的效果。
[Defferrard M, 2016, 2] 提出了将顶点构成一颗完全二叉树,不足部分补充虚拟顶点(类似于填充padding),经行分层池化。见下图。
[Zhang M, 2018, 3] 提出了一种SortPooling的方法。
论文中将每层GCN的输出拼接在一起,作为SortPooling池化的输入。
SortPooling池化的想法是对顶点排序,取top-k个,多裁少补。
如果对顶点排序?论文提出使用顶点的拓扑信息排序。
如何获得顶点的拓扑信息?使用WL \cite{Shervashidze2011Weisfeiler}算法。
论文认为每一层GCN都可以是看成一次WL的迭代过程,那么越靠后的GCN输出结果越接近最后的WL着色。
因此,排序的第一序,是从最后一层的输出到第一层的输出。
第二序则是每层输出的顶点特征的最后一维到第一维度。
由于输入到池化的张量为 Z 1 : h = [ z 1 , … , Z j ] = R ∣ V ∣ × ∑ i = 1 h c i Z^{1:h}=[z^1, \dots, Z^j] = \mathbb{R}^{|\mathcal{V}| \times \sum_{i=1}^{h} c_i } Z1:h=[z1,…,Zj]=R∣V∣×∑i=1hci,其中 c i c_i ci是第 i i i层GCN输出的顶点特征长度。那么整体过程,对行(每行对应一个顶点)排序,排序准则则是 Z 1 : h Z^{1:h} Z1:h最后一列到第一列。
[Ying R, 2018, 4] 提出的池化方法可以微分可以学习。主要思想是通过GCN同时生成嵌入矩阵
Z
(
l
)
Z^{(l)}
Z(l)和assignment matrix(分配矩阵)
S
(
l
)
S^{(l)}
S(l):
Z
(
l
)
=
GNN
l
,
embed
(
A
(
l
)
,
X
(
l
)
)
,
S
(
l
)
=
GNN
l
,
pool
(
A
(
l
)
,
X
(
l
)
)
.
(4.1)
再利用嵌入矩阵
Z
(
l
)
Z^{(l)}
Z(l)和assignment matrix(分配矩阵)
S
(
l
)
S^{(l)}
S(l)生成新的图,新的特征矩阵和邻接矩阵为:
X
(
l
+
1
)
=
S
(
l
)
T
Z
(
l
)
∈
R
n
l
+
1
×
d
,
A
(
l
+
1
)
=
S
(
l
)
T
A
(
l
)
S
(
l
)
∈
R
n
l
+
1
×
n
l
+
1
.
(4.2)
[Gao H, 2019, 5] 提出了图数据上的U-net,其中的gPooling方法,对于第 l l l层:
上图是gPooling池化过程。原文还有gUpooling,即上采样。在下采样的过程中,记录新图的顶点在原图的位置,在上采样时将根据这个位置信息将小图的顶点“还原”到大图上,见下图。
[Lee J, 2019, 6] 提出了一种自注意力池化方法SAGPool。
原文对自注意力
Z
Z
Z的获得给出了多种变体:
Z
=
σ
(
GNN
(
X
,
A
)
)
,
Z
=
σ
(
GNN
(
X
,
A
+
A
2
)
)
,
Z
=
σ
(
GNN
2
(
σ
(
GNN
1
(
X
,
A
)
)
,
A
)
)
,
Z
=
1
M
∑
m
σ
(
GNN
m
(
X
,
A
)
)
.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。