Pooling in Graph Convolutional Neural Networks
该论文对结合不同网络结构对图神经网络上的池化操作做了评估。在图分类数据集上对图卷积神经网络中的图卷积操作和图池化操作进行评估。
池化操作
池化操作是卷积神经网络中一个重要的操作,是一种非线性的下采样操作。在卷积神经网络中,池化曾可以对特征降维,因此可以降低计算量、内存占用和参数数量。
正因为如此,池化也使得深层网络成为可能,并且有助于控制过拟合。
图池化层
Sort Pooling
SortPooling 不使用求和与平均计算特征,而是根据固定一致的顺序对节点进行排序,输出一个具有固定集合的表示以便可以使用 CNN 进行进一步的训练。
节点排序依据该节点在图结构上的角色。利用图卷积和 Weisfeiler-Lehman 子树核之间的连接,SortPool 对最后一层的节点特征进行单独排序,然后根据前一层将序排列,最后选择前 k 个节点。
Differentiable Pooling
DiffPool 是一个微分图池化模块,它通过多个池化层聚合节点来学习图的层次表示。
与 GraphSAGE、SortPool 和某些图核方法相比,DiffPool 的预测准确度显著提高,尤其是当全局特征对分类很重要时。
DiffPooling 更好地提取全图特征。
Top-k Pooling
Top-k Pool 使用可训练的投影向量进行池化,然后选择投影的 top-k 索引和相应的边做表示。
Top-k Pool 受到像 U-Nets 这样的编码解码结构的启发。
除了池化操作,也定义了反池化操作。这两者在图上创建了编码器-解码器模型,称为图 U-Nets.
Self-Attention Graph Pooling
SagPool 使用注意力机制来筛选重要节点,注意力得分是通过 GCN 计算的来,然后选择 k 个得分最高的节点。
SagPool 同时使用图特征和结构来学习自关注分数,有工作表明 SAGPool 在生化数据集上比 DiffPool 和 Top-k Pool 表现好。
数据集
- MUTAG 是关于化合物的数据集,每个化合物表示为一张图,节点表示元素,边表示化学键,任务是预测该化合物是否具有突变性。
- Proteins 是关于蛋白质的数据集,每个蛋白质表示为一张图,任务是预测该蛋白质是否具有酶的功能。
- IMDB-Binary 是电影明星的关系网络,节点是人,边是两个人参演同一部电影,任务是预测一部电影是动作片还是爱情片。
- Reddit-Binary 是 Reddit 论坛上的关系图,每张图表示一个话题,节点是用户,边是两个用户有问答关系,任务是预测一个话题是问答还是讨论。
结果
图卷积比较
TAGCN 在四个图分类数据集上表现比 GCN/GraphSAGE 要好,但是随着复杂度的增加,该网络具有较高的方差,特别是在密集的图结构上。因此,当图变得不那么稀疏时,即随着平均度数的增加,TAGCN 的表现会更好。
图卷积和图池化比较
在本文提到的池化操作中,DiffPool 通常比其他方法表现更好。Top-k 表现不佳,表明他需要自动编码器结构才能表现更好。并且只有 DiffPool 表现始终比没有池化好。
总结
图卷积的结果适用于图卷积的图池化。 带有池化的 TAGCN 通常比带有池化的 GCN 和 GraphSAGE 性能更好,并且更容易过度拟合,该情况可能是由于相同的原因。