文章链接:https://www.cse.wustl.edu/~muhan/papers/AAAI_2018_DGCNN.pdf
源码链接:https://github.com/muhanzhang/pytorch_DGCNN

TL;DR

文章中对于图分类的问题提出了一个新的神经网络模型,能够处理任意结构的图。存在两个问题:1)如何有效的提取图中的特征?2)如何有意义的顺序读取图中节点?对于第一个问题,文中提出了一个局部图卷积模型并比较graph kernel。对于第二种问题,文中设计了一个SortPooling layer将顶点进行排序。在图分类数据集上结果比基于graph kernel 和其它dl方法稍微好一点。两点是可以直接end2end训练。

Algorithm/Model

文章提出的模型如下所示:

主要包含三个阶段:

  1. graph convolution layers extract vertices’ local substructure features and define a consistent vertex ordering;
    卷积层定义如下:

Zt+1=f(D~1A~ZtWt)\mathbf{Z}^{t+1}=f\left(\tilde{\mathbf{D}}^{-1} \tilde{\mathbf{A}} \mathbf{Z}^{t} \mathbf{W}^{t}\right)

形式和谱图卷积相类似,但是文中又通过与Weisfeiler-Lehman (WL) algorithm相类比证明与kipf提出GCN之间的不同点,个人感觉相差不多。

  1. SortPooling layer sorts the vertex features under the previously defined order and unifies input sizes;

  2. traditional convolutional and dense layers read the sorted graph representations and make predictions.

Experiment Detail

与graph kernels方法比较结果如下:

与其它深度学习方法相比较如下:

Thoughts

文中 graph convolutional layer解释有点牵强,个人感觉和kipf提出的GCN相比,只是使用了不同的标准化方法。文中的sortpooling layer感觉没说太明白。

联系作者