NeurIPS2020 | 图池化Rethinking pooling in graph neura...
点击上方 关注我们
Rethinking pooling in graph neural networks
论文链接:https://arxiv.org/abs/2010.11418
代码链接:https://github.com/AaltoPML/Rethinking-pooling-in-GNNs
Graph pooling是图神经网络(GNN)架构的重要组成部分。作为对传统CNN的继承,大多数方法将图池化定义为cluster assignment问题,从而将规则网格中的local patches的概念扩展到图上。尽管广泛遵循此设计选择,但尚无任何工作严格评估其对GNN成功的影响。在本文中,作者以具有代表性的GNN为基础,并引入了变体,这些变体通过使用随机图或在补图上进行聚类来挑战需要locality-preserving 的表示形式。令人惊讶的是,实验表明,使用这些变体不会导致性能下降。为了理解这种现象,作者研究了卷积层与后续池化层之间的相互作用。证明了卷积在学习的表示中起着主导作用。与普遍的看法相反,在相关的和广泛使用的基准上,local pooling 对图表示关系不大。
在本文中,作者研究了local pooling在GNN中的作用程度,选择目前流行的或具有代表性的代表性模型,并通过消除任何集群执行组件来简化其合并运算符。应用随机聚类分配,或对互补图进行操作。出乎意料的是,在所有实验中,非local GNN变体都表现出与原始方法相当的性能。原始方法和本文简化方法中的Pooling都会导致homogeneous嵌入, 作者认为这是因为GNN通常会在卷积的早期学习低通滤波器,使得节点平滑,然后开展了本文的研究...
本文的贡献
i)表面现具有代表性的GNN并不比基于随机和非local pooling的简单操作更好;
ii)解释了简化的GNN为何起作用并分析了发生这种情况的条件;
iii)讨论了在有效的GNN设计中pooling的总体影响。
一些重要信息
在所有任务中,GRACLUS和COMPLEMENT的性能均相似。结果表明,池化附近节点与获得成功的池化方案无关.
排列不变性是大多数GNN的重要属性,可确保不同图表示之间的一致性。但是,本文作者通过进行随机Pooling发现效果并不比DiffPool的差,可以推断DiffPool的结果并不来自DiffPool的这个设计. 如下面图所示黑色的框框是三个不同的随机Pooling的结果
为什么?
上的实验结果是违反直觉的。作者接下来分析导致这些结果的因素。
作者认为主要一点在于:GNN在早期层学习平滑的节点表示,所以随机池化并不会专门设计的池化差。为了实验证明这一点,本文删除了执行此早期平滑处理的卷积。结果,所有网络的性能都会大大下降。也就是说:local pooling对评估模型的准确性没有任何好处。
如果我们将卷积解释为在节点特征/信号上定义的滤波器,如果初始卷积层在图输入通道/嵌入分量上提取了低频信息,则可以解释这种现象。为了评估这种猜测,作者在第一个池化层之前和每个后续池化层之后计算激活量。图5显示了DIFFPOOL和GMN的随机池变体的激活,以及ZINC的COMPLEMENT方法。
非局部池化:在第一个池化层之前和之后激活三个任意图形。卷积层学习在同一图中输出相似的嵌入。实验发现结果相似:methods become approximately invariant to how embeddings are pooled
图5中的图验证了第一卷积层产生的节点特征在同一张图中相对均匀,特别是针对随机变量。即使基于局部池化的方法也倾向于学习同类表示。
从图6中可以注意到,DIFFPOOL和GMN在其初始池化层的输出中显示了平滑的模式。这种现象解释了为什么随机方法的性能与原始方法相匹配。结果表明,旨在实施局部聚类的loss term要么不利于学习任务,要么被监督loss所迷惑。
local pooling相对于全局池化策略是否具有任何优势
作者的实验表明,local pooling对GNN的性能没有重要作用。下一个自然要解决的问题是,local pooling相对于全局池化策略是否具有任何优势。在三个卷积层之上运行具有全局均值池的GNN,结果为:
79.65±2.07(NCI),
71.05±4.58(IMDB-B),
95.20±0.18(SMNIST)
0.443±0.03(ZINC)。
这些表现与先前使用GRACLUS,DIFFPOOL和GMN获得的结果相当,也就是没有优势。无论听起来多么令人吃惊,该发现与之前的一些研究结果一致。例如,在严格的评估协议中,GraphSAGE网络的性能优于DIFFPOOL。
总结
很少有论文会严格评估哪些设计选择对于有效学习至关重要。因此,很多误解可以广泛传播,导致大家根据自己错误的直觉设计模型,并通过一堆看似严谨的理论分析,强硬编故事。在本文中,作者研究了local pooling的作用及其对GNNs性能的影响。实验表明,大多数GNN架构采用卷积,可以快速导致平滑的节点表示。结果发现,pooling layers对于特定的cluster assignments.变得几乎不变。在严格的基准实验中,作者表明,提取local信息不是必要的。
本文希望以两种方式为社区做出贡献:i)为新颖的池策略提供简单的健全性检查;ii)deconstruct与图pooling好处有关的误解和错误的直觉。