文章目录

  • 基于谱分解的方法
  • Spectral Network
  • ChebNet
  • GCN
  • AGCN(Adaptive GCN)
  • 基于空间结构的方法
  • Neural FP
  • PATCHY-SAN
  • DGCN
  • LGCN
  • GraphSAGE


  • 卷积图神经网络主要分为两类:
  • 1)基于谱分解的方法;
  • 2)基于空间结构的方法;

基于谱分解的方法

  • 四种经典模型:Spectral Network, ChebNet, GCN, AGCN

Spectral Network

  • Joan Bruna等人14年提出,通过计算图的拉普拉斯矩阵的特征分解,在傅里叶域中定义卷积运算。该运算可以定义为信号图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现与一个卷积核图卷积神经网络实现 图卷积神经网络算法_卷积_02的乘积:
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_03
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_04是归一化拉普拉斯矩阵的特征向量组成的矩阵,即图卷积神经网络实现 图卷积神经网络算法_深度学习_05
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_06表示图的度矩阵,图卷积神经网络实现 图卷积神经网络算法_神经网络_07表示邻接矩阵,图卷积神经网络实现 图卷积神经网络算法_机器学习_08表示特征值的对角矩阵。

ChebNet

  • 11年David Hammond等人提出用切比雪夫多项式的前K阶图卷积神经网络实现 图卷积神经网络算法_卷积_09逼近图卷积神经网络实现 图卷积神经网络算法_卷积_10
  • 图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_11
  • 切比雪夫多项式:图卷积神经网络实现 图卷积神经网络算法_卷积_12,其中图卷积神经网络实现 图卷积神经网络算法_机器学习_13
  • 图卷积神经网络实现 图卷积神经网络算法_卷积_14图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_15图卷积神经网络实现 图卷积神经网络算法_深度学习_16的最大特征值,图卷积神经网络实现 图卷积神经网络算法_神经网络_17是切比雪夫多项式系数组成的向量。
  • 16年Michael Defferrard等人用上述的K跳卷积定义图上的卷积,提出ChebNet,省去了计算拉普拉斯矩阵特征向量的过程。

GCN

  • 17年,Thomas Kipf和Max Welling在ChebNet的基础上将层级运算的K限制为1,以此缓解模型在节点的度分布范围较大的图上存在的局部结构过拟合的问题。不仅如此, 假定图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_18,公式可简化为:
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_19
  • 其中图卷积神经网络实现 图卷积神经网络算法_深度学习_20图卷积神经网络实现 图卷积神经网络算法_神经网络_21可调节,将其限制为图卷积神经网络实现 图卷积神经网络算法_卷积_22,公式最终简化为:图卷积神经网络实现 图卷积神经网络算法_卷积_23
  • 若使用上述方法在节点上迭代执行,运算可能会导致数值的不稳定以及梯度消失或爆炸问题。因此,Renormalization(重归一化)被引入。
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_24
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_25图卷积神经网络实现 图卷积神经网络算法_神经网络_26
  • 图卷积神经网络实现 图卷积神经网络算法_卷积_27

AGCN(Adaptive GCN)

  • 为学习不同节点之间可能存在的隐式关系,AGCN被提出。AGCN可以学习“残差”图拉普拉斯矩阵图卷积神经网络实现 图卷积神经网络算法_机器学习_28并将其添加到原始的拉普拉斯矩阵中:图卷积神经网络实现 图卷积神经网络算法_深度学习_29
  • 图卷积神经网络实现 图卷积神经网络算法_神经网络_30
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_31图卷积神经网络实现 图卷积神经网络算法_机器学习_32是通过一个学习获得的度量指标计算得到的。
  • AGCN使用广义的Mahalanobis distance(马哈诺比斯距离)计算节点距离:
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_33
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_34,是一个学习得到的矩阵。图卷积神经网络实现 图卷积神经网络算法_机器学习_35是自适应空间的转换基础。
  • AGCN计算高斯核并将其归一化,以获得密集邻接矩阵图卷积神经网络实现 图卷积神经网络算法_深度学习_36
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_37

基于空间结构的方法

  • 谱方法的卷积核都依赖于拉普拉斯矩阵的特征基向量,而后者取决于图的结构。这意味着针对特定结构训练的模型不能直接用于具有不同结构的图,即模型泛化性较差。基于空间结构的方法则直接在图上定义卷积运算,从而针对在空间上相邻的邻域进行运算。这种方法的主要挑战是针对大小不同的邻域卷积运算并保持CNN的局部不变性。

Neural FP

  • David Duvenaud等人15年提出针对具有不同度的节点使用不同的权重矩阵:
  • 图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_38
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_39
  • 图卷积神经网络实现 图卷积神经网络算法_神经网络_40是第图卷积神经网络实现 图卷积神经网络算法_机器学习_41层、度为图卷积神经网络实现 图卷积神经网络算法_深度学习_42的节点的权重矩阵,图卷积神经网络实现 图卷积神经网络算法_卷积_43表示节点图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_44的相邻节点集合,图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_45是节点图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_44在第图卷积神经网络实现 图卷积神经网络算法_机器学习_41层的嵌入表示。
  • Neural FP首先将相邻节点连同本身的嵌入表示累加,然后使用权重矩阵进行转换。但在节点具有多种度的大规模图上,会由于参数量太大而难以应用。

PATCHY-SAN

  • 该模型首先为每个节点选择k个相邻节点并归一化,然后将这些经过归一化的相邻节点作为感受野进行卷积。主要步骤如下:
  1. 选择节点序列 模型并不会处理途中所有的节点,而会先通过节点标注来获得节点的顺序,然后使用s大小的步长在序列中选择节点,直到选中w个节点为止。
  2. 选择相邻节点 对选中的每一个节点进行宽度优先搜索,以选取k个相邻节点。首先选取1跳的相邻节点,然后再考虑更远的节点,直到选取的相邻节点数达到k为止。
  3. 图归一化 为感受野中的节点排序,以便从无序的图空间映射到矢量空间。为不同的图中的两个具有相似结构地位的节点分配相似的相对位置。
  4. 应用卷积架构 在归一化后,使用CNN进行卷积。

DGCN

  • 模型使用两个卷积网络来捕获图的局部一致性和全局一致性,并采用无监督损失函数来聚合两部分。
  • 第一部分对局部一致性建模(相邻的节点可能有相似的标签):图卷积神经网络实现 图卷积神经网络算法_卷积_27
  • 第二部分对全局一致性建模(具有相似上下文的节点可能具有相似的标签):使用positive pointwise mutual information matrix(PPMI)正向点互信息矩阵替换邻接矩阵。图卷积神经网络实现 图卷积神经网络算法_卷积_49图卷积神经网络实现 图卷积神经网络算法_神经网络_50表示PPMI矩阵,图卷积神经网络实现 图卷积神经网络算法_神经网络_51图卷积神经网络实现 图卷积神经网络算法_神经网络_50的对角度矩阵,图卷积神经网络实现 图卷积神经网络算法_机器学习_53是非线性激活函数。
  • 损失函数聚合两个卷积结果:图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_54。其中,图卷积神经网络实现 图卷积神经网络算法_深度学习_55表局部一致性卷积,图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_56表全局一致性卷积。图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_57是调节两部分损失的动态权重。
  • 图卷积神经网络实现 图卷积神经网络算法_卷积_58是结合节点标签的监督损失函数。假设有图卷积神经网络实现 图卷积神经网络算法_机器学习_59类标签,那么图卷积神经网络实现 图卷积神经网络算法_机器学习_60是局部一致性卷积的输出矩阵,图卷积神经网络实现 图卷积神经网络算法_机器学习_61是该输出矩阵经过softmax运算后的结果。图卷积神经网络实现 图卷积神经网络算法_机器学习_62图卷积神经网络实现 图卷积神经网络算法_深度学习_63分别是训练数据下标和样本标签。
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_64
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_65是衡量图卷积神经网络实现 图卷积神经网络算法_卷积_66之间差异的无监督损失函数。图卷积神经网络实现 图卷积神经网络算法_深度学习_67是局部一致性卷积输出经过softmax的运算结果。
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_68

LGCN

  • 网络基于可学习得图卷积网络层(learnable graph convolutinal layer, LGCL)和子图训练策略。LGCL使用CNN作为聚合器,他对节点的邻域矩阵进行最大池化获取前k个特征元素,然后应用一维CNN计算隐表示。计算过程如下:
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_69
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_70
  • 图卷积神经网络实现 图卷积神经网络算法_神经网络_07为邻接矩阵,图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_72是对前k个节点的选取操作,图卷积神经网络实现 图卷积神经网络算法_神经网络_73是常规的一维CNN。
  • 模型使用对前k个节点的选取操作来收集每个节点的信息。对给定的节点,首先收集其相邻节点的特征。然后,选择每一维最大的k个节点值,也就是将没一列中的值排序并选择前k个值。之后将自身的节点嵌入表示插入到第一行得到矩阵,并用一维CNN来聚合特征。

GraphSAGE

  • 一个通用的归纳推理框架,通过采样和聚合相邻节点的特征来生成节点的嵌入表示。传播过程为:
  • 图卷积神经网络实现 图卷积神经网络算法_深度学习_74
  • 图卷积神经网络实现 图卷积神经网络算法_机器学习_75
  • 不使用所有的相邻节点,而是均匀采样固定数量的相邻节点。Hamilton等人提出了以下三种聚合函数的具体实现:
  • 均值聚合器:图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_76
  • LSTM聚合器:基于LSTM实现,具有更强的表达能力,但由于LSTM的输入是有序的,因此不同的排列会产生不同的结果。
  • 池化聚合器:将相邻节点的隐状态输入一个全连接层并进行最大池化,图卷积神经网络实现 图卷积神经网络算法_图卷积神经网络实现_77