图神经网络(四)图分类(1)基于全局池化的图分类

图神经网络(四)图分类(1)基于全局池化的图分类

第四章 图分类

 图分类问题是一个很重要的图层面的学习任务。与节点层面的任务不同,图分类需要关注图数据的全局信息,既包含图的结构信息,也包含各个节点的属性信息。给定多张图,以及每张图对应的标签,图分类任务需要通过学习得出一个由图到相应标签的图分类模型,模型的重点在于如何通过学习得出一个优秀的全图表示向量 [0]

 图分类任务与视觉图像中的分类任务一样,二者都需要对全局的信息进行融合学习。在CNN模型中,通常采用的做法是通过层次化池化(Hierarchical Pooling)机制来逐渐提取全局信息。得益于图数据中规则的栅格结构,固定大小与步长的滑窗使得最大值池化挥着平均值池化等简单操作都能够比较高效地抽取出高阶信息。然而,对于非规则结构的图数据,这类池化操作的直接迁移变得不可行。在图分类任务中实现层次化池化的机制,是GNN需要解决的基础问题。

 本章的内容包括3个部分:基于一次性全局池化的图分类、基于层次化池化的图分类,以及基于SAGPool的图分类模型实战。

4.1 基于全局池化的图分类

 再上一章中介绍的MPNN,处理为图中节点的表示学习提出了一般框架外,作者也设计了一个读出(readout)机制对经过K轮迭代的所有节点进行一次性聚合操作,从而输出图的全局表示:
y = R ( { h i ( k ) │ ∀ v i ∈ V } ) \boldsymbol y=R(\{\boldsymbol h_i^{(k)}│∀v_i∈V\}) y=R({ hi(k)viV})
 读出机制与CNN模型中常用的紧跟最后一个卷积层的全局池化(Global Pooling)操作如出一辙。二者都是通过对所有输入的一次性聚合得到全局表达,且与池化的常见类型一样,读出机制也可以取Sum、Mean、Max等类型的函数。

 与读出机制十分相似的一种做法是,引文 [1] 通过引入一个与所有节点都相连的虚拟节点,将全图的表示等价于这个虚拟节点的表示。这种思路同时也在GN中全局表示u的更新过程中得到了体现。

 显而易见,读出机制的处理方式丢失了图数据里面丰富的结构信息。其本质上是将输入数据看作一种平整且规则的结构数据,所有的节点都被同等看待,这与图数据本身是相违背的。从这个角度来看,读出机制更能适应的是对小图数据中的结构信息相对单一;另一方面是因为经过K轮消息传播机制的迭代之后,图中各个节点的表达会更加接近全局表达,此时读出机制也能比较好地提取全局信息。另外,从实际工程层面来看,读出机制抑郁实现,非常适合作为图分类的基准模型。

参考文献

[0] 刘忠雨, 李彦霖, 周洋.《深入浅出图神经网络: GNN原理解析》.机械工业出版社.

[1] Pham T,Tran T,Dam H,et al.Graph classification via deep learning with virtual nodes[J].arXiv preprint arXiv:1708.04357,2017.

猜你喜欢

转载自blog.csdn.net/weixin_43360025/article/details/124496348
今日推荐