近年来,图神经网络(GNNs)通过有效地学习节点嵌入,使图表示学习领域发生了革命性的变化,并在节点分类和链路预测等方面取得了最新的成果。
然而,当前的GNN方法本质上是平坦的,并且不学习图的层次表示,这一限制对于图分类任务尤其有问题,其中目标是预测与整个图相关联的标签。
在这里,我们提出DIFFPOOL,一个可微图池模块,它可以生成图的层次表示,并且可以以端到端的方式与各种图神经网络结构相结合。DIFFPOOL为深度GNN的每一层的节点学习一个可微的软簇分配,将节点映射到一组簇,然后形成下一个GNN层的粗化输入。我们的实验结果表明,将现有的GNN方法与DIFFPOOL方法相结合,与所有现有的pooling方法相比,在图分类基准上平均提高了5-10%的准确率,在五分之四的基准数据集上实现了新的水平。
介绍
近年来,人们对开发图形神经网络(GNNs)产生了极大的兴趣,GNNs是一种通用的深度学习体系结构,可以对图形结构化数据进行操作,如社会网络数据[16,22,37]或基于图形的分子表示[7,11,15]。GNNs的一般方法是将基础图视为计算图,并学习神经网络原语,通过在图中传递、转换和聚合节点特征信息来生成单个节点嵌入[15,16]。然后,生成的节点嵌入可以用作任何可微预测层的输入,例如,用于节点分类[16]或链路预测[33],并且可以以端到端的方式训练整个模型。
然而,当前GNN架构的一个主要限制是它们本身是平坦的,因为它们只通过图的边传播信息,并且不能以分层的方式推断和聚合信息。例如,为了成功地对有机分子的图形结构进行编码,理想情况下需要对局部分子结构(例如单个原子和它的直接邻居)以及分子图的粗粒度结构进行编码(例如,代表分子中功能单元的原子群和键)
这种层次结构的缺乏对于图分类的任务尤其有问题,因为图分类的目标是预测与整个图相关联的标签。当将GNNs应用于图分类时,标准方法是为图中的所有节点生成嵌入,然后使用globally pool将所有这些节点嵌入集中在一起,例如,使用简单的求和或对集合进行操作的神经网络[7,11,15,26]。这种全局池方法忽略了图中可能存在的任何层次结构,并且阻止了研究人员为整个图上的预测任务建立有效的GNN模型。
在这里,我们提出DIFFPOOL,一个可微图池模块,它可以以分层和端到端的方式适应各种图神经网络结构(图1)。DIFFPOOL允许开发更深层次的GNN模型,这些模型可以学习对图的层次表示进行操作。我们开发了CNN中空间池操作的图形模拟[24],它允许深层CNN架构对图像的更粗糙和更粗糙的表示进行迭代操作。与标准CNN相比,GNN设置中的挑战在于,图不包含空间局部性的自然概念,即不能简单地将图上“m × m patch”中的所有节点汇集在一起,因为图的复杂拓扑结构排除了任何直接的、确定的“面片”定义。此外,与图像数据不同,图形数据集通常包含具有不同数量的节点和边的图,这使得定义一个通用的图池操作符更具挑战性。