结构图池化
摘要
学习图的高级表示对于图分析任务非常重要。除了图卷积之外,图池化也是一个重要但探索较少的研究领域。特别是,大多数现有的图池化技术没有明确考虑图的结构信息。我们认为这些信息很重要,并在这项工作中开发了一种新的图池化技术,称为STRUCTPOOL。我们将图池视为一个节点聚类问题,需要学习聚类分配矩阵。我们建议将其表述为结构化预测问题,并使用条件随机场来捕捉不同节点的分配之间的关系。我们还将我们的方法推广到在设计吉布斯能量函数时纳入图拓扑信息。在多个数据集上的实验结果证明了我们提出的STRUCTPOOL的有效性。
1.引言
对于节点分类和链路预测等多个图形任务,图神经网络已经取得了最先进的结果。这些结果证明了图神经网络学习节点表示的有效性。然而,图分类任务也需要学习良好的图级表示。由于池化操作在许多图像和自然语言处理任务中都是有效的,因此研究图数据的池化技术是很自然的。最近的工作通过简单地求和或平均所有节点特征,将全局和/平均池化操作扩展到图模型。然而,这些复杂的全局池化操作可能会丢失重要的功能并忽略结构信息。此外,全局池化不是分层的,因此我们无法将其应用于需要多个池化操作的地方,例如Graph U-Net。最近提出了几种先进的图池化方法,如SORTPOOL、TOPKPOOL、DIFFPOOL和SAGPOOL,并在图分类任务中取得了良好的性能。然而,它们都没有明确建模不同节点之间的关系,因此可能会忽略重要的结构信息。我们认为这些信息很重要,应该在图池中显式捕获。
在这项工作中,我们提出了一种新的图池化技术,称为STRUCTPOOL,它将图池化描述为一个结构化预测问题。在DIFFPOOL之后,我们将图池化视为节点聚类问题,每个簇对应于池化后新图中的一个节点。直观地说,具有相似特征的两个节点被分配到同一类的概率应该更高。因此,给定节点的分配应取决于输入节点特征和其他节点的分配。我们将其表述为结构化预测问题,并使用条件随机场(CRF)来捕捉不同节点分配之间的高阶结构关系。此外,我们通过结合图拓扑信息来推广我们的方法,以便我们的方法可以控制CRF中的团集。我们使用平均场近似来计算赋值,并描述如何将其合并到图网络中。然后,网络可以以端到端的方式进行训练。实验表明,我们提出的STRUCTPOOL显著且一致地优于现有方法。我们还表明,STRUCTPOOL由于其优越的性能而产生了可接受的计算成本。
2.背景和相关工作
2.1 图卷积网络
图可以由其邻接矩阵和节点特征表示。形式上,对于由
n
n
n个节点组成的图
G
G
G,其拓扑信息可以由邻接矩阵
A
∈
{
0
,
1
}
n
×
n
A∈ \{0,1\}^{n×n}
A∈{0,1}n×n表示,假设每个节点都有一个c维特征向量,则节点特征可以表示为
X
∈
R
n
×
c
X∈ R^{n×c}
X∈Rn×c。深度图神经网络(GNN)使用这些矩阵学习不同节点的特征表示。提出了几种研究深度GNN的方法,它们通常遵循邻域信息聚合方案。在每一步中,通过聚合其邻居的表示来更新节点的表示。图卷积网络(GCN)是GNN的常见变体,其灵感来自一阶图拉普拉斯方法。图卷积运算的形式定义为:
2.2 图池化
最近提出了一些用于图模型的高级池化技术,如SORTPOOL、TOPKPOOL、DIFFPOOL和SAGPOOL,并在多个基准数据集上实现了良好的性能。所有SORTPOOL、TOPKPOOL和SAGPOOL都将学习从原始图中选择重要节点,并使用这些节点构建新图。他们都有相似的想法,使用GCNs学习基于节点表示的排序向量,表示不同节点的重要性。然后只选取最上面的k个重要节点组成新的图,而忽略其他节点。但是,被忽略的节点可能包含重要的特性,这些信息在池化过程中会丢失。DIFFPOOL将图池化视为一个节点聚类问题。原始图中的节点簇被合并,形成新图中的新节点。DIFFPOOL提出对节点特征执行GCN,得到节点聚类分配矩阵。直观地说,给定节点的集群分配应该依赖于其他节点的集群分配。然而,DIFFPOOL没有明确考虑这样的高阶结构关系,我们认为这对图池化很重要。在这项工作中,我们提出了一种新的结构化图池化技术,称为STRUCTPOOL,用于有效地学习高级图表示。与现有方法不同的是,我们的方法通过条件随机场显式地捕捉不同节点之间的高阶结构关系。此外,通过结合图拓扑信息A来控制CRF中包含哪些节点对,我们的方法得到了推广。
2.3 CRF和GNN的结合
最近的工作是研究如何结合CRFs与GNNs。
- CGNF是一种用于图节点分类的GNN架构,它通过CRF显式地对整个节点标签集的联合概率进行建模,并通过动态规划进行推理。
- GMNN专注于半监督目标分类任务,并利用CRF对目标属性条件下的目标标签联合分布进行建模。提出了一种伪似然变分EM框架用于模型学习和推理。
- 最近的研究通过提出CRF层来鼓励相似节点具有相似的隐藏特征,从而将CRF和GNN集成在一起,从而可以明确地保留相似性信息。所有这些方法都是针对节点分类任务提出的,并以不同的方式合并了CRF。
与现有的工作不同,我们的STRUCTPOOL是针对图池化操作提出的,通过平均场近似优化能量。我们的STRUCTPOOL中的所有操作都可以通过GNN操作来实现,因此我们的STRUCTPOOL可以轻松地在任何GNN中使用,并以端到端方式进行训练。
3.结构图池化
3.1 节点聚类的图池化
尽管池化技术可以促进深度模型的训练,并在许多图像和NLP任务中显著提高它们的性能,但局部池化操作不能直接应用于图任务。原因是图节点之间不存在空间局部性信息。全局最大/平均池化操作可以用于图任务,但它们可能会导致信息丢失,因为它们大大减少了表示的大小。具有n个节点的图G可以用特征矩阵 X ∈ R n × c X∈R^{n×c} X∈Rn×c和邻接矩阵 A ∈ { 0 , 1 } n × n A∈\{0,1\}^{n×n} A∈{0,1}n×n表示。图池化操作的目的是减少图节点的数量和学习新的表示。假设图池化生成一个有k个节点的新图˜G。˜G的表示矩阵被表示为 ˜ X ∈ R k × ˜ c ˜X∈R^{kטc} ˜X∈Rkטc和 ˜ A ∈ { 0 , 1 } k × k ˜A∈\{0,1\}^{k×k} ˜A∈{0,1}k×k。
图池化的目标是学习X, A和˜X,˜A之间的关系。在这项工作中,我们考虑了通过节点聚类的图池化。特别地,原始图G的节点被分配到k个不同的簇中。然后每个簇被转换为新图˜G中的一个新节点。聚类分配可以表示为分配矩阵M∈Rn×k。对于硬分配,
m
i
,
j
∈
{
0
,
1
}
m_{i,j}∈\{0,1\}
mi,j∈{0,1}表示图G中的节点i是否属于簇j。对于软分配,
m
i
,
j
∈
[
0
,
1
]
m_{i,j}∈[0,1]
mi,j∈[0,1]表示图G中的节点i属于簇j的概率,且
∑
j
m
i
,
j
=
1
\sum_{j}m_{i,j=1}
∑jmi,j=1。
然后,新图˜G可以被计算为
3.2 通过条件随机场学习簇分配
直观地说,节点特征描述了不同节点的属性。然后,具有相似特征的节点应该有更高的机会被分配到同一个簇。也就是说,对于原始图G中的任意一个节点,其簇分配不仅要依赖于节点特征矩阵
X
X
X,还应取决于其他节点的簇分配。我们相信这样的高阶结构信息对于图池化是有用的,并且应该在学习簇分配时被明确捕获。为此,我们提出了一种新的结构图池化技术,称为STRUCTPOOL,该技术通过考虑特征矩阵
X
X
X和不同节点的分配之间的关系来生成分配矩阵。我们建议将其表述为一个条件随机场(CRF)问题。CRFs在全局观测的基础上,建立了一组具有马尔可夫随机场(MRF)的随机变量模型(Lafferty et al., 2001)。我们正式定义
Y
=
{
Y
1
,
⋅
⋅
⋅
,
Y
n
}
Y = \{Y_1,···,Y_n\}
Y={Y1,⋅⋅⋅,Yn}为一个随机场,其中
Y
i
∈
{
1
,
⋅
⋅
⋅
,
k
}
Y_i∈\{1,···,k\}
Yi∈{1,⋅⋅⋅,k}是一个随机变量。每个
Y
i
Y_i
Yi表示节点
i
i
i被分配到哪个簇。这里特征表示
X
X
X被视为全局观测。我们在
Y
Y
Y上建立一个图模型,定义为
G
′
G'
G′。则对
(
Y
,
X
)
(Y, X)
(Y,X)可以定义为CRF,其特征是吉布斯分布为
其中
c
c
c表示团,
C
G
′
C_{G'}
CG′是
G
′
G'
G′上团的集合,
Z
(
X
)
Z(X)
Z(X)是分配函数,
ψ
c
(
⋅
)
ψ_c(·)
ψc(⋅)是由
c
c
c诱导的势函数 (Krähenbühl & Koltun, 2011; Lafferty et al., 2001)。
对于分配
y
=
{
y
1
,
⋅
⋅
⋅
,
y
n
}
y = \{y_1,···,y_n\}
y={y1,⋅⋅⋅,yn}的所有变量,吉布斯能量函数可以写成
找到最优分配等同于最大化P (Y |X),也可以解释为最小化吉布斯能量。
3.3 具有拓扑信息的吉布斯能量
现在我们在
G
′
G'
G′中定义团的集合
C
G
′
C_{G'}
CG′。与现有的CRF模型 (Krähenbühl & Koltun, 2011)类似,我们在
C
G
′
C_{G'}
CG′中包含了所有的一元团,因为我们需要计算分配每个节点的能量。对于成对团,我们归纳了通过结合图拓扑信息
A
A
A来控制成对团集合的方法。我们考虑基于
A
A
A的
l
l
l-
h
o
p
hop
hop 连通性来定义成对团,从而在不同节点之间建立成对关系。设
A
l
∈
{
0
,
1
}
n
×
n
A^l∈\{0,1\}^{n×n}
Al∈{0,1}n×n表示图
G
G
G的
l
l
l-
h
o
p
hop
hop 连通性,其中
a
i
,
j
l
=
1
a^l _{i,j} = 1
ai,jl=1表示节点
i
i
i和节点
j
j
j在
G
G
G上
l
l
l 跳内可达。然后,如果
a
i
,
j
l
=
1
a^l _{i,j} = 1
ai,jl=1,我们在
C
G
′
C_{G'}
CG′中包含所有成对团
(
i
,
j
)
(i, j)
(i,j)。总的来说,一个簇分配的吉布斯能量可以写成
ψ
u
(
y
i
)
ψ_u(y_i)
ψu(yi)表示节点
i
i
i被分配到簇
y
i
y_i
yi 的一元能量。
ψ
p
(
y
i
,
y
j
)
ψ_p(y_i, y_j)
ψp(yi,yj)为成对能量,表示节点
i
i
i,
j
j
j分别被分配到簇
y
i
y_i
yi,
y
j
y_j
yj的能量。注意,为了简单起见,我们省略了公式(6)中的条件信息。如果
l
l
l 足够大,我们的CRF就相当于密集CRF。如果
l
l
l 等于1,我们有
A
l
=
A
A ^l = A
Al=A,因此只考虑邻接矩阵中的1跳信息。这两种能量可以通过神经网络直接获得(Zheng et al., 2015)。给定全局观测
X
X
X和拓扑信息
A
A
A,我们使用多个图卷积层来获得一元能量
Ψ
u
∈
R
n
×
k
Ψ_u∈R^{n×k}
Ψu∈Rn×k。现有的图像任务工作(Krähenbühl & Koltun, 2011)提出使用高斯核来测量成对能量。然而,由于计算效率低,我们不能直接将其应用于我们的CRF模型。在(Krähenbühl & Koltun, 2011)中提出的成对能量可以写成
其中
k
(
m
)
(
⋅
,
⋅
)
k^{(m)}(·,·)
k(m)(⋅,⋅)表示第
m
m
m个高斯核,
x
i
x_i
xi是
X
X
X中节点
i
i
i的特征向量,
w
(
m
)
w^{(m)}
w(m)表示可学习的权值,
µ
(
y
i
,
y
j
)
µ(y_i, y_j)
µ(yi,yj)是一个兼容函数,用来模拟不同分配对之间的兼容性。然而,准确计算高斯核的输出结果的计算效率很低,尤其是对于特征向量为高维的图数据。因此,在这项工作中,我们建议使用注意力矩阵作为成对能量的测量。直观地说,高斯核表示不同特征向量之间的联系有多强。同样,注意力矩阵反映了不同特征向量之间的相似性,但其计算成本显著降低。其中,如果
(
i
,
j
)
(i, j)
(i,j)对存在于团集
C
G
′
C_{G'}
CG′中,则每个特征向量
x
i
x_i
xi都与任何其他特征向量
x
j
x_j
xj相关。因此,成对能量可以由以下公式获得:
它可以通过矩阵乘法和归一化有效地计算。将式(6)中的吉布斯能量最小化,可以得到给定图
G
G
G中最可能的聚类分配。然而,这种最小化是难以实现的,因此提出了一种平均场近似(Krähenbühl & Koltun, 2011),这是一种迭代更新算法。我们遵循平均场近似来获得最可能的簇分配。总之,我们提出的
S
T
R
U
C
T
P
O
O
L
STRUCTPOOL
STRUCTPOOL的步骤在算法1中显示。我们提出的
S
T
R
U
C
T
P
O
O
L
STRUCTPOOL
STRUCTPOOL中的所有操作都可以作为
G
N
N
GNN
GNN操作实现,因此
S
T
R
U
C
T
P
O
O
L
STRUCTPOOL
STRUCTPOOL可以用于任何深度图模型,并以端到端方式进行训练。将几层
G
C
N
GCN
GCN叠加得到一元能量矩阵,算法1中的归一化操作(step3 &9)相当于
s
o
f
t
m
a
x
softmax
softmax操作。所有其他步骤都可以通过矩阵计算来计算。值得注意的是,兼容函数
µ
(
y
i
,
y
j
)
µ(y_i, y_j)
µ(yi,yj)可以实现为一个可训练矩阵
N
∈
R
k
×
k
N∈R^{k×k}
N∈Rk×k,并在训练过程中自动学习。因此,设计兼容函数不需要先验的领域知识。我们在图1中说明了我们提议的
S
T
R
U
C
T
P
O
O
L
STRUCTPOOL
STRUCTPOOL,其中我们在有6个节点的图
G
G
G上执行
S
T
R
U
C
T
P
O
O
L
STRUCTPOOL
STRUCTPOOL,并获得一个有4个节点的新图
˜
G
˜G
˜G。
Figure 1:我们提议的 S T R U C T P O O L STRUCTPOOL STRUCTPOOL的示例。给定一个有6个节点的图,每个节点的颜色代表它的特征。我们执行图池化,以获得k=4个节点的新图。使用 X X X和 A A A可以由多层 G C N GCN GCN得到一元能量矩阵,使用节点特征 X X X和拓扑信息 A A A通过注意力矩阵计算成对能量,然后进行迭代更新,平均场近似得到最可能的分配矩阵。最后,我们获得了有4个节点的新图,可由 ˜ X ˜X ˜X和 ˜ A ˜A ˜A表示。
3.4 计算复杂度分析
我们从理论上分析了我们提出的 S T R U C T P O O L STRUCTPOOL STRUCTPOOL的计算效率。由于计算效率对大规模图数据集特别重要,我们假设 n > k , c , ˜ c n > k, c,˜c n>k,c,˜c。一个GCN层的计算复杂度是 O ( n 3 + n 2 c + n c ˜ c ) ≈ O ( n 3 ) O(n^3 + n^2c + nc˜c)≈O(n^3) O(n3+n2c+nc˜c)≈O(n3)。假设我们使用 i i i层 G C N s GCNs GCNs来获取一元能量,其计算代价为 O ( i n 3 ) O(in^3) O(in3)。假设我们的更新算法有 m m m次迭代,计算复杂度为 O ( m ( n 2 c + n 2 k + n k 2 ) ) ≈ O ( m n 3 ) O(m(n^2c + n^2k + nk2))≈O(mn^3) O(m(n2c+n2k+nk2))≈O(mn3)。计算 ˜ A ˜A ˜A和 ˜ X ˜X ˜X的最后一步需要 O ( n k c + n 2 k + n k 2 ) ≈ O ( n 3 ) O(nkc + n^2k + nk^2)≈O(n^3) O(nkc+n2k+nk2)≈O(n3)计算复杂度。 S T R U C T P O O L STRUCTPOOL STRUCTPOOL复杂度为 O ( ( m + i ) n 3 ) O((m + i)n^3) O((m+i)n3),接近 G C N s GCNs GCNs叠加 m + i m + i m+i层的复杂度。
3.5 用于图分类的深度图网络
在本节中,我们研究需要良好的节点级和图级表示的图分类任务。对于大多数最先进的深度图分类模型,它们共享一个类似的管道,首先使用 G N N GNN GNN生成节点表示,然后执行池化操作以获得高级表示,最后使用全连接层来执行分类。注意,高级表示可以是一个向量,也可以是k个向量的组合。对于一组具有不同节点数的图,有一个预定义的 k k k,我们提出的 S T R U C T P O O L STRUCTPOOL STRUCTPOOL可以为每个图产生 k k k个向量。因此,我们的方法可以很容易地推广和耦合到任何深度图分类模型。特别地,我们的图分类模型是基于DGCNN开发的(Zhang et al., 2018)。给定任何输入图,我们的模型首先使用几层 G C N s GCNs GCNs(式(2))来聚合来自邻居的特征并学习节点的表示。接下来,我们执行一个 S T R U C T P O O L STRUCTPOOL STRUCTPOOL层来为每个图获取 k k k个向量。最后,利用一维卷积层和全连通层对图进行分类。
4.实验研究
4.1 数据集和实验设置
我们在8个基准数据集上评估了我们提出的STRUCTPOOL,包括5个生物信息学蛋白质数据集:酶、PTC、MUTAG、蛋白质、D&D,以及3个社交网络数据集:COLLAB、IMDB-B、IMDB-M。它们中的大多数是相对大规模的,因此适合于评估深度图模型。我们在补充表6中报告了它们的统计数据和属性。实验设置请参见补充部分A。
我们将我们的方法与几种最先进的深度GNN方法进行了比较。PATCHYSAN学习节点表示和规范的节点排序来进行分类。DCNN通过扩散图卷积学习多尺度子结构特征,并进行全局和池化。DGK对图中子结构的潜在表示进行建模,这与学习单词嵌入相似。ECC对节点特征和边缘信息进行GCNs条件处理,并在最终分类器前使用全局和池化。GRAPHSAGE是一个归纳框架,它通过从局部邻居中采样和聚合特征来生成节点嵌入,它采用全局均值池化。SET2SET提出了一种聚合方法来取代深度图网络中的全局池化操作。DGCNN提出了一种名为SORTPOOL的池化策略,通过学习对所有节点进行排序,并选择前k个节点组成一个新的图。DIFFPOOL是基于GRAPHSAGE架构构建的,但使用了他们提出的可微池。注意,对于这些方法中的大多数,使用池化操作在最终分类器之前获得图级表示。此外,我们将STRUCTPOOL与三个图核进行比较:Graphlet、Shortest-path和WeisfeilerLehman子树核(WL)。
4.2 分类结果
我们在6个基准数据集上评估了我们提出的方法,并与几种最先进的方法进行了比较。结果报告在表1中,最好的结果以粗体显示,第二好的结果以下划线显示。对于我们的STRUCTPOOL,我们执行10次交叉验证,并报告每个数据集的平均精度。10倍分裂与DGCNN相同。对于所有比较方法,结果均来自现有工作(Ying等人,2018;Zhang et al., 2018)。我们可以观察到,我们的STRUCTPOOL在6个基准数据集中的5个上获得了最好的性能。对于这5个数据集,我们的方法的分类结果明显优于所有的比较方法,包括先进模型DGCNN和DIFFPOOL。值得注意的是,我们的模型在这5个数据集上的平均性能比第二好的性能高出3.58%。此外,图核方法WL在COLLAB数据集上的性能最好,这些深度模型都无法达到类似的性能。与次优模型相比,我们的模型可以获得具有竞争力的性能。这是因为COLLAB中的许多图只有简单的结构,而深度模型可能过于复杂而无法捕获它们。
Table 1:六个基准数据集的分类结果。注意,这些深度方法在COLLAB上都不能超过传统方法WL。我们认为原因是COLLAB中的图只有单层结构,而深层模型过于复杂,无法捕获它们。
4.3 不同池化方法的比较
为了证明我们提出的池化技术的有效性,我们比较了相同网络框架下的不同池化技术。具体来说,我们将STRUCTPOOL与全局sum池、SORTPOOL、TOPKPOOL、DIFFPOOL和SAGPOOL进行比较。在3.5节介绍的网络框架中使用了所有的池化方法。此外,来自DGCNN的相同10倍交叉验证用于所有池方法。我们在表2中报告了结果,最好的结果以粗体显示。显然,我们的方法在6个数据集中的5个上获得了最佳性能,并显著优于所有比较池化技术。对于酶类数据集,我们得到的结果是有竞争力的,因为SAGPOOL只比我们提出的方法略好0.34%。这样的观察表明,图中的结构信息对于图池化很有用,并且应该显式地建模不同节点之间的关系。
4.4 计算复杂度研究
如第3.4节所述,我们提出的结构池化产生
O
(
(
m
+
i
)
n
3
)
O((m+i)n^3)
O((m+i)n3)计算复杂度。如果我们假设DIFFPOOL使用
G
C
N
s
GCNs
GCNs的
j
j
j层来获得分配矩阵,那么它的复杂度是
O
(
j
n
3
)
O(jn^3)
O(jn3)。在我们的实验中,
i
i
i通常设置为2或3,这比
n
n
n小得多。我们进行了实验,以显示不同的迭代次数
m
m
m如何影响预测精度,结果如表3所示。注意,我们对所有不同的
m
m
m采用了密集CRF形式。我们可以观察到,性能通常随着
m
m
m的增加而增加,尤其是对于大规模数据集
D
&
D
D\&D
D&D。我们还观察到,
m
=
5
m=5
m=5是时间复杂度和预测性能之间的一个很好的权衡。值得注意的是,当
m
=
1
m=1
m=1时,我们的方法甚至可以优于其他方法。此外,我们评估了STRUCTPOOL的运行时间,并将其与DIFFPOOL进行了比较。对于来自大规模数据集
D
&
D
D\&D
D&D的500个图,我们将
i
=
j
=
3
i=j=3
i=j=3,并显示每个图执行池化的平均时间成本。DIFFPOOL的时间开销为0.042秒,而对于m=1、m=3、m=5,我们的STRUCTPOOL分别需要0.049秒、0.053秒和0.058秒。尽管我们的STRUCTPOOL具有相对较高的计算成本,但鉴于其优越的性能,它仍然是合理和可接受的。
4.5 拓扑信息的影响
接下来,我们进行了实验,以展示拓扑信息
A
l
A^l
Al如何影响预测性能。我们使用不同的
l
l
l 值评估我们的STRUCTPOOL,并将结果报告在表4中。注意,当
l
l
l 足够大时,我们的STRUCTPOOL考虑所有节点之间的所有成对关系,它相当于密集CRF。对于IMDB-M和蛋白质数据集,我们可以观察到,预测精度通常随着
l
l
l 的增加而增加。随着
l
l
l 的增加,模型考虑了更多的成对关系,因此获得更好的性能是合理的。此外,对于数据集IMDB-B,结果在不同的情况下保持相似,即使
l
=
1
l=1
l=1也会产生与密集CRF具有竞争力的性能。一跳成对关系可能足以学习此类图类型的良好嵌入。总的来说,密集CRF持续产生有希望的结果,在实践中是一个合适的选择。
4.6 具有STRUCTPOOL的图同构网络
最近,提出了图同构网络(GIN),并证明其比传统GNN更强大(Xu等人,2019)。为了证明我们的STRUCTPOOL的有效性并展示其通用性,我们基于GIN构建了模型并评估了它们的性能。具体来说,我们使用GIN学习节点表示,并执行结构池化的一层密集形式,然后是一维卷积层和完全连接层作为分类器。结果见表5,其中我们采用了与GINs相同的10倍分裂(Xu等人,2019),GIN结果取自其发布的结果。这五个数据集包括生物信息数据和社交媒体数据,以及小规模数据和大规模数据。显然,在GINs中加入我们提出的STRUCTPOOL可以持续显著地提高预测性能。这导致平均4.52%的预测精度提高,这是有希望的。
5.总结
图池化是一种吸引人的学习良好的图级表示方法,并提出了几种先进的池化技术。然而,现有的图池化技术都没有明确考虑不同节点之间的关系。我们提出了一种新的图池化技术,称为STRUCTPOOL,它是基于条件随机场开发的。我们将图池化视为节点聚类问题,并使用CRF在不同节点的分配之间建立关系。此外,我们通过结合图拓扑信息来推广我们的方法,以便我们的方法可以控制CRF中的成对团集。最后,我们在几个基准数据集上评估了我们提出的STRUCTPOOL,我们的方法可以在六个数据集中的五个数据集上获得最新的结果。
附录
Ⅰ.数据集和实验设置
我们在补充表6中报告了八个基准数据集的统计数据和性质。对于我们的STRUCTPOOL,我们使用Pytorch(Paszke等人,2017)实现了我们的模型,并在一个GeForce GTX 1080 Ti GPU上进行了实验。该模型使用随机梯度下降(SGD)和ADAM优化器进行训练(Kingma&Ba,2014)。对于第4.2、4.3、4.4、4.5节中基于DGCNN(Zhang等人,2018)构建的模型,我们使用GCN获得节点特征和一元能量矩阵。这些部分中的所有实验都进行了10倍交叉验证,我们报告了平均结果。10倍分裂与DGCNN完全相同(张等人,2018年)。对于非线性函数,我们对GCN使用tanh,对1D卷积层使用relu。对于第4.6节中基于GINs构建的模型,我们使用GINs学习节点特征和一元能量。这里的10倍分裂与GINs完全相同。我们将所有层的relu作为非线性函数。对于所有模型,在STRUCTPOOL之后使用1D卷积层和完全连接层。所有实验均采用硬聚类分配。
Ⅱ.成对能量的影响
我们通过实验证明了成对能量的重要性。如果去除成对能量,则不会明确考虑不同节点分配之间的关系。然后,该方法类似于DIFFPOOL。我们将我们的方法与消除成对能量的基线进行比较。实验结果见表7。网络框架与第3.5节中介绍的相同,使用了来自DGCNN的相同10倍交叉验证。显然,我们提出的方法始终显著优于排除成对能量的基线。它表明了合并成对能量和考虑不同节点分配之间的高阶关系的重要性和有效性。
Ⅲ.分层网络结构研究
为了证明网络深度和多池层如何影响预测性能,我们进行了实验来评估不同的分层网络结构。我们首先定义一个包含两个GCN层和一个STRUCTPOOL层的网络块。然后我们比较了三种不同的网络设置:1个块与最终分类器,2个块与最终分类器,以及3个块与最终分类器。结果见表8。对于数据集蛋白质,我们观察到具有一个块的网络可以获得比深度网络更好的性能。我们认为主要原因是数据集蛋白质是一个小规模的数据集,平均节点数等于39.06。相对简单的网络功能强大,足以了解其数据分布,而堆叠多个GCN层和池层可能会导致严重的过度拟合问题。对于数据集D和D,具有2个块的网络性能优于具有1个块的网络。由于D&D规模相对较大,堆叠2个块可以增加网络功率,从而提高性能。然而,如果深度过深,例如堆叠3个区块,将导致过度拟合问题。
Ⅳ.图池化速率的研究
我们遵循DGCNN(Zhang等人,2018年)选择聚类数k。具体来说,我们使用合并率r∈ (0,1)控制k。然后将k设置为整数,以便r×100%的图在当前数据集中具有小于该整数的节点。正如DGCNN中所建议的那样,一般来说,r=0.9是生物信息学数据集的合适选择,r=0.6是社交网络数据集的好选择。此外,我们还进行了实验,以显示在不同r值下的性能。我们设置r=0.1、0.3、0.5、0.7、0.9来评估在大规模社交网络数据集D&D上的性能。数据集D&D中的平均节点数为284.32,最大节点数为5748。结果如表9所示,其中第一行显示了不同的池化率,第二行报告了相应的k值,最后一行显示了结果。为了简单起见,我们采用了具有1个块和最终分类器的网络结构(如第a.3节所定义)。我们可以观察到,当r,k相对较大或较小时,性能下降。此外,当r设置为适当的范围(例如r)时,该模型可以获得具有竞争力的性能∈ [0.3,0.7]对于数据集D和D。