今天给大家介绍的是TAMU的Hao Yuan等人的一篇论文,该研究针对目前的大多数图池化技术忽略了图结构这一可能会引起重要特征丢失的信息,巧妙地利用可以捕获不同节点之间的关系的条件随机场,并进一步将能量函数和图拓扑信息结合起来完成结构化的预测问题。作者提出的StructPool在多个数据集上的实验结果显示了有效性
1
背景
学习图的高级表示形式对于图分析任务非常重要。面对很多大型图数据,除了图卷积之外,图池化也是一个很重要的研究领域。在卷积神经网络(CNN)中池化层夹在连续的卷积层中间,用于压缩数据和参数的量,并且,池化操作在许多图像和自然语言处理任务中都显示了其有效性,所以很自然地池化操作就被引入到了图数据处理中。一些性能比较好的图池化方法例如SORTPOOL,TOPKPOOL, DIFFPOOL和SAGPOOL都未明确地对不同节点之间的关系建模,因此可能会忽略重要的结构信息。
这篇文章的任务是图层面的表征学习。作者从Graph pooling的角度出发,指出现有的很多方法并没有显示的考虑图结构的信息,并将Graph pooling的过程转化为节点分类,从而其目标变为学习一个聚类分配矩阵(cluster assignment matrix)。对于一个节点的分类不仅与这个节点的特征有关,还与其他节点的分类有关,于是作者采用条件随机场的方法来建模这种关系,并结合图结构信息设计吉布斯(Gibbs)能量方程。
2
模型
当原图中节点i和j经过
跳是可达的时候取值为1,其余情况为0,充分考虑了在图中的拓扑信息,即每个可达节点之间的关系。这两部分的特征函数都可以通过神经网络获得,其中一元关系可由GCN得到,在传统的图像处理任务中,高斯核可以得到两元关系,但是计算效率低下,所以作者引入注意力机制,注意力矩阵反映了不同向量之间的相似性,用注意力矩阵可以度量成对能量,并且计算量大大降低。
理论上,在经过m次迭代,含有n个节点的大型图,并且设置i个层的GCN,STRUCTPOOL的时间复杂度约为
3
实验
实验是在八个数据集上进行评估STRUCTPOOL,包括五个生物信息学蛋白质数据集,ENZYMES,PTC,MUTAG,PROTEINS,D&D以及三个社交网络数据集,COLLAB,IMDB-B,IMDB-M。选取的大多数数据集规模较大,因此适合评估深图模型。
将STRUCTPOOL与通过学习节点表示和节点排序的PATCHYSAN、通过GCN并进行全局池化的DCNN,对子结构的潜在表示进行建模的DGK、节点特征和边缘信息执行GCN调节的ECC、通过采用和聚合进行节点嵌入以及采用全局池化的GRAPHSAGE、利用聚合方法来替代深图网络中的全局池化操作的SET2SET、利用SORTPOOL的池化策略的DGCNN、基于GRAPHSAGE体系结构构建的DIFFPOOL进行比较。此外,将STRUCTPOOL与三个图卷积核进行了比较:Graphlet,Shortest-path,WeisfeilerLehman subtree。比较结果如下图所示:
上表中STRUCTPOOL在6个数据集中的5个都获得了最佳性能。对于这5个数据集,文章提出的方法的分类结果明显优于所有比较方法。值得注意的是,STRUCTPOOL在这5个数据集上的表现均比第二好,平均高出3.58%。
为了证明STRUCTPOOL的有效性,将STRUCTPOOL与现有的几种图池化技术进行比较。
在六个数据集中的五个中达到了最佳性能,并且明显优于所有图池化池技术。
并且在实验中设置不同的迭代次数m观察其如何影响预测精度,
我们可以观察到性能通常随着m的增加而增加,尤其是对于大规模数据集D&D。我们还观察到m=5是时间复杂度和预测性能之间的良好折中。值得注意的是,当m=1时,STRUCTPOOL甚至可以胜过其他方法。此外, STRUCTPOOL的运行时间在大型数据集D&D对于m=1,m=3,m=5,花费时间分别为0.049秒,0.053秒和0.058秒。DIFFPOOL的时间成本为0.042秒,而即使STRUCTPOOL具有相对较高的计算成本,但鉴于其优越的性能,其时间成本可以忽略。
4
总结
作者提出了一种新的图池化技术,称为STRUCTPOOL,它是基于条件随机场而开发的。整体是将图池化视为一个节点聚类问题,并使用CRF在不同节点的分配之间建立关系。此外,通过结合图拓扑信息来推广这个方法,使得STRUCTPOOL可以控制CRF中的成对团集。