An End-to-End Deep Learning Architecture for Graph Classifification 论文笔记

简要概述

论文提出了图卷积的方法,此处的图(Graph),指的是包含节点与边的二维图,与一般的图像卷积不同,图卷积有节点数和边数不固定,如何提取特征等难题,该论文构造图卷积神经网络DGCNN可用于图的回归和分类

论文核心

图卷积神经网络的结构如图:DGCNN论文笔记
输入是一张图

  • 过程1,Graph convolution layers:

    此阶段是提取图的特征,将输入从图结构转换成矩阵结构,毕竟神经网络要处理的依旧是矩阵。DGCNN通过以下算法提取图的特征。
    Z=f(D^1A^XW) Z=f(\hat{D}^{-1}\hat{A}XW)
    假设图G有n个节点,其中A^=A+I\hat{A}=A+IAA是图的邻接矩阵,加上单位矩阵相当于节点自身也有边相连,则ARnnA \in R^{n* n}XX是图的节点的信息,XRncX\in R^{n*c}cc为每个原子的特征纬度,WW为一个权重矩阵,需要学习,可以通过神经网络实现,WRcc1W\in R^{c*c_1}DD是标准化用的。这样一层得出来ZRnc1Z\in R^{n*c_1}

    解释A^X\hat{A}X可以理解为更新后的节点信息为原节点信息与其邻接节点信息的和

    当然这只是一层,继续有:
    Zi+1=f(D^1A^ZiW) Z_{i+1}=f(\hat{D}^{-1}\hat{A}Z_{i}W)
    最终将所有ZiZ_i拼接在一起则完成过程1,这就完成了图的特征的提取
    Z=[Z1,Z2,,Zh]s=i=1hch,ZRns Z=[Z_1,Z_2,\cdots,Z_h]\\ 记s=\sum_{i=1}^{h}c_h, Z\in R^{n*s}

  • 过程2,SortPooling:

    这个过程解决节点数不固定的问题。输入为ZRnsZ\in R^{n*s},此处n为图中节点个数不固定,最终该层输出为SRksS\in R^{k*s},k为固定。此处论文提出的解决方法是进行排序,代码中实际做的事情是对ZZ的最后一列进行简单的大小排序(这里的原理看不懂~),取前k个,若k>nk>n,则填充0.

  • 过程3,1-D convolution:

    SRksS\in R^{k*s}平铺成一维向量,然后进行一维的卷积,max_pooling池化再卷积

  • 过程4:,Dense layers:

    最后一层是全连接。

相关文章:

  • 2021-04-15
  • 2021-09-28
  • 2021-10-30
  • 2021-11-03
  • 2021-04-18
  • 2021-12-31
  • 2021-06-05
  • 2021-05-03
猜你喜欢
  • 2021-10-02
  • 2021-08-01
  • 2021-06-28
  • 2021-08-26
相关资源
相似解决方案