• 基于图的拉普拉斯矩阵正则化的方法, 包括标签传播算法、流行正则化算法manifold regularization

      • 基于图嵌入的方法,包括 DeepWalk、LINE 等。

        但是基于图嵌入的方法需要一个pipeline,其中包括生成随机游走序列、执行半监督训练等多个步骤,而每个步骤都需要分别进行优化。

      论文《 SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS》 提出了一种可扩展的、基于Graph 的半监督学习方法,该方法基于一个有效的、能直接对Graph 进行操作的卷积神经网络变种。

      该模型基于频域卷积的局部一阶近似来选择卷积网络结构,其计算复杂度为 ,其中 四、Semi-Supervised GCN - 图1 为边的数量。

      该模型学到的隐层representation 既能够编码图的局部结构,又能够编码顶点的特征。

    1. 考虑图中顶点的分类问题,其中仅有一小部分顶点具有标签信息。如:对引文网络的文章进行分类,只有一小部分文中具有类别标签。

      该问题是一个图的半监督学习问题,其中标签信息通过显式的正则化而被平滑。例如,考虑在损失函数中使用图的拉普拉斯正则项:

      其中:

      • 四、Semi-Supervised GCN - 图2 表示图中有标签部分的监督损失; 为正则化项;四、Semi-Supervised GCN - 图3 为罚项系数。其中:

        四、Semi-Supervised GCN - 图4 为顶点 的输入特征,四、Semi-Supervised GCN - 图5 为顶点 的标签;四、Semi-Supervised GCN - 图6 是一个类似神经网络的可微函数,它将输入 映射到类别空间;四、Semi-Supervised GCN - 图7 为带标签顶点的集合。

      • 为邻接矩阵,四、Semi-Supervised GCN - 图8 为顶点数量; 为度矩阵,其中 四、Semi-Supervised GCN - 图9 ; 为无向图 四、Semi-Supervised GCN - 图10 的未归一化的拉普拉斯算子 ; 为顶点的特征向量拼接的矩阵

      正则化项的物理意义为:

      • 如果两个顶点距离较近(即 四、Semi-Supervised GCN - 图11 较大),则它们的 representation 应该比较相似(即 和 四、Semi-Supervised GCN - 图12 距离相近)。
      • 如果两个顶点距离较远(即 较小),则它们的 representation 可以相似也可以不相似。

      因此该模型假设:Graph 中直接相连的顶点很可能共享相同的标签。这种假设会限制模型的表达能力,因为图中的边不一定代表相似性,边也可能代表其它信息。

      在论文Semi-Supervised GCN 中,作者直接使用神经网络模型 四、Semi-Supervised GCN - 图13 对图结构进行编码,并对所有带标签的顶点进行监督目标 的训练,从而避免在损失函数中进行显式的、基于图的正则化。 四、Semi-Supervised GCN - 图14 依赖于图的邻接矩阵 ,这允许模型从监督损失 四、Semi-Supervised GCN - 图15 中分配梯度信息,并使得模型能够学习带标签顶点的representation 和不带标签顶点的 representation

    1. 考虑一个多层GCN 网络,其中每层的传播规则为:

      其中:

      • 四、Semi-Supervised GCN - 图16 是带自环的无向图的邻接矩阵, 为单位矩阵,四、Semi-Supervised GCN - 图17 为顶点数量; 为带自环的度矩阵。
      • 四、Semi-Supervised GCN - 图18 为第 层的激活矩阵,四、Semi-Supervised GCN - 图19 , 为特征向量维度;四、Semi-Supervised GCN - 图20 为第 层的权重矩阵; 四、Semi-Supervised GCN - 图21 为激活函数。

      其基本物理意义:

      • 我们认为在第 层,每个顶点的representation 由其邻域内顶点(包含它自身)在第 四、Semi-Supervised GCN - 图22 层的representation 的加权和得到,加权的权重为边的权重:

      • 考虑到不同顶点的度不同,这将使得顶点的度越大(即邻域内顶点越多),则representation 越大。因此这里对顶点的度进行归一化:

        四、Semi-Supervised GCN - 图23

      • 考虑到非线性映射,则得到最终的结果 :

    2. 可以证明,上述形式的传播规则等价于localized 局部化的频域图卷积的一阶近似。

      给定输入 四、Semi-Supervised GCN - 图24 ,其频域卷积为 ,其中:

      四、Semi-Supervised GCN - 图25

      为卷积核,四、Semi-Supervised GCN - 图26 各列为拉普拉斯矩阵 的特征向量。这里我们采用归一化的拉普拉斯矩阵:

      四、Semi-Supervised GCN - 图27

      以及 。

      这种卷积的参数数量为 四、Semi-Supervised GCN - 图28,计算复杂度为 。因此 Fast Graph CNN 采用切比雪夫多项式来构造多项式卷积核,因此有:

      四、Semi-Supervised GCN - 图29

      其中 为 四、Semi-Supervised GCN - 图30 阶切比雪夫多项式, 为其系数,四、Semi-Supervised GCN - 图31

      令 ,则有:

      四、Semi-Supervised GCN - 图32

      该卷积满足 阶局部性,其计算复杂度为 四、Semi-Supervised GCN - 图33

      现在我们选择 ,则有 四、Semi-Supervised GCN - 图34 。因此有:

      该卷积为 四、Semi-Supervised GCN - 图35 的线性函数。

      • 我们仍然可以堆叠多个这样的层来实现图卷积神经网络,但是现在我们不再局限于切比雪夫多项式这类的参数化方式。
      • 由于 为归一化的拉普拉斯矩阵,因此我们预期该模型能够缓解顶点的degree 分布范围很大的图的局部邻域结构的过拟合问题,这些图包括社交网络、引文网络、知识图谱等等。
      • 当计算资源有限时,这种线性卷积核使得我们可以构建更深的模型,从而提高模型的能力。

      进一步的,我们令 四、Semi-Supervised GCN - 图36 ,因为我们预期模型可以在训练过程中适应这种变化。另外我们减少参数数量,令 ,则有:

      四、Semi-Supervised GCN - 图37

      注意到 的特征值在 [0,2]之间,在深层网络种应用这种卷积操作会导致数值不稳定核梯度爆炸、消失的现象。为缓解该问题,我们应用了正则化技巧:

      四、Semi-Supervised GCN - 图38

      其中 ,四、Semi-Supervised GCN - 图39 为由 定义的度矩阵:四、Semi-Supervised GCN - 图40

      我们可以将这个定义推广到 个输入通道、四、Semi-Supervised GCN - 图41 个输出通道的卷积上,其中输入 ,则卷积输出为:

      四、Semi-Supervised GCN - 图42

      其中 为输出 featue map四、Semi-Supervised GCN - 图43 为卷积核的参数矩阵。

      卷积操作的计算复杂度为 ,因为 四、Semi-Supervised GCN - 图44 可以实现为一个稀疏矩阵和一个稠密矩阵的乘积。

    3. 介绍完这个简单灵活的、可以在图上传播信息的模型 之后,我们回到图的半监督顶点分类问题上。由于 四、Semi-Supervised GCN - 图45 包含了一些 中为包含的图的结构信息,如引文网络中的文档引用关系、知识图谱的实体之间的关系等等,我们预期模型比传统的半监督学习模型表现更好。

      整个半监督学习模型是一个多层GCN模型,结构如下图所示。

      • 黑色的线条为图的边,彩色线条为信息流动的方向(注意:颜色有重叠);四、Semi-Supervised GCN - 图46 为监督的标签信息。图结构在不同卷积层之间共享。

      • 右图:在Cora 数据集上的一个双层GCN 网络(两个隐层 + 一个输出层)的最后一个隐层的隐向量(经过激活函数),在使用 t-SNE 可视化的结果,颜色代表不同类别。其中数据集仅仅使用 5% 的顶点标签。

    4. 考虑一个双层 GCN 模型,其邻接矩阵 四、Semi-Supervised GCN - 图47 是对称的。

      • 我们首先在预处理中计算

      • 然后计算前向传播:

        四、Semi-Supervised GCN - 图48

        其中:

        • 为输入到隐层的权重矩阵,有 四、Semi-Supervised GCN - 图49 个输出 feature map

        • 为隐层到输出的权重矩阵

        • 四、Semi-Supervised GCN - 图50 激活函数定义为:

          按行进行归一化。

        前向传播的计算复杂度为 四、Semi-Supervised GCN - 图51

      • 对于半监督多标签分类,我们使用交叉熵来衡量所有标记样本的误差:

        其中 四、Semi-Supervised GCN - 图52 为有标签的顶点的下标集合。顶点标签 经过 one-hot 为:四、Semi-Supervised GCN - 图53 ,其中 为类别数量。

      • 神经网络权重 四、Semi-Supervised GCN - 图54 使用梯度下降来训练。

        • 训练过程中使用 dropout 增加随机性。

    1. 理想情况下图神经网络模型应该能够学到图中顶点的representation,该representation 必须能够同时考虑图的结构和顶点的特征。

      一维 Weisfeiler-Lehman:WL-1 算法提供了一个研究框架。给定图以及初始顶点标签,该框架可以对顶点标签进行分配。

    2. WL-1 算法:令 为顶点 四、Semi-Supervised GCN - 图55 在第 轮分配的标签,四、Semi-Supervised GCN - 图56 为顶点 的邻居顶点集合。

      • 输入:初始顶点标签 四、Semi-Supervised GCN - 图57

      • 输出:最终顶点标签

      • 算法步骤:

        • 初始化 四、Semi-Supervised GCN - 图58

        • 迭代直到 或者顶点的标签到达稳定状态。迭代步骤为:

          • 循环遍历 四、Semi-Supervised GCN - 图59,执行:

          • 四、Semi-Supervised GCN - 图60

        • 返回每个顶点的标签

    3. 如果我们采用一个神经网络来代替 hash 函数,同时假设 为向量,则有:

      四、Semi-Supervised GCN - 图61

      其中:

      • 为第 四、Semi-Supervised GCN - 图62 层神经网络顶点 的激活向量 vector of activations
      • 四、Semi-Supervised GCN - 图63 为第 层的权重矩阵。
      • 四、Semi-Supervised GCN - 图64 为非线性激活函数。
      • 为针对边 四、Semi-Supervised GCN - 图65 的正则化常数。

      我们定义 ,其中 四、Semi-Supervised GCN - 图66 为顶点 的度degree,则上式等价于我们的 GCN 模型。因此我们可以将 GCN 模型解释为图上 WL-1 算法的微分化和参数化的扩展。

    4. 通过与 WL-1 算法的类比,我们可以认为:即使是未经训练的、具有随机权重的 GCN 模型也可以充当图中顶点的一个强大的特征提取器。如:考虑下面的一个三层GCN 模型:

      四、Semi-Supervised GCN - 图67

      其中权重矩阵是通过 Glorot & Bengio (2010) 初始化的: 。

    5. 我们将这个三层 GCN 模型应用于 Zacharykarate club network ,该网络包含34个顶点、154 条边。每个顶点都属于一个类别,一共四种类别。顶点的类别是通过 modularity-based 聚类算法进行标注的。如下图所示,颜色表示顶点类别。

      四、Semi-Supervised GCN - 图68

      我们令 ,即每个顶点除了顶点ID 之外不包含任何其它特征。另外顶点的ID 是随机分配的,也不包含任何信息。我们选择隐层的维度为4、输出层的维度为2 ,因此输出层的输出 四、Semi-Supervised GCN - 图69 能够直接视为二维数据点来可视化。

      下图给出了未经训练的 GCN 模型获得的顶点embedding,这些结果与从DeepWalk 获得的顶点embedding 效果相当,而 使用了代价更高的无监督训练过程。

    6. karate club network数据集上,我们观察半监督分类任务期间,embedding 如何变化。这种可视化效果提供了关于 GCN 模型如何利用图结构从而学到对于分类任务有益的顶点embedding

      训练配置:

      • 在上述三层GCN 之后添加一个 softmax 输出层,输出顶点属于各类别的概率
      • 每个类别仅使用一个带标签的顶点进行训练,一共有四个带标签的顶点
      • 使用Adam 优化器来训练,初始化学习率为 0.01
      • 采用交叉熵损失函数
      • 迭代 300step

      下图给出多轮迭代中,顶点embedding 的演变。图中的灰色直线表示图的边,高亮顶点(灰色轮廓)表示标记顶点。可以看到:模型最终基于图结构以及最少的监督信息,成功线性分离出了簇团。

      四、Semi-Supervised GCN - 图70

    1. 我们的 Semi-GCN 模型存在一些局限,我们计划在将来克服这些局限性。

    2. 内存需求局限性:在full-batch 梯度下降算法中,内存需求随着数据集的大小线性增长。

      • 一种解决方式是:采用 CPU 训练来代替 GPU 训练。这种方式我们在实验中得到验证。

      • 另一种解决方式是:采用 mini-batch 梯度下降算法。

    3. 边类型的局限性:目前我们的模型不支持边的特征,也不支持有向图。

      通过NELL 数据集的实验结果表明:可以通过将原始的有向图转化为无向二部图来处理有向图以及边的特征。这通过额外的顶点来实现,这些顶点代表原始Graph 中的边。

    4. 假设局限性:我们的模型有两个基本假设:

      • 假设 层GCN 依赖于 四、Semi-Supervised GCN - 图71 阶邻居,即模型的局部性。

      • 假设自链接和邻居链接同样重要。

        在某些数据集中,我们可以引入一个折衷参数: 。其中参数 四、Semi-Supervised GCN - 图72

        平衡了自链接和邻居链接的重要性,它可以通过梯度下降来学习。

    1. 我们在多个任务中验证模型性能:在引文网络中进行半监督文档分类、在从知识图谱抽取的二部图中进行半监督实体分类。然后我们评估图的各种传播模型,并对随机图的运行时进行分析。

    2. 模型设置:除非另有说明,否则我们的GCN 模型就是前面描述的两层GCN 模型。

      • 我们将数据集拆分为labled 数据、unlabled 数据、测试数据。其中我们在labled 数据和 unlabled 数据上学习,在测试数据上测试。我们选择测试数据包含 1000 个顶点。

        另外我们还使用额外的 500 个带标签的顶点作为验证集,用于超参数优化。这些超参数包括:所有层的 dropout 比例、第一层的 正则化系数、隐层的维度。

        注意:验证集不用于训练。

      • 对于引文网络数据集,我们仅在Cora 数据集上优化超参数,并对CiteseerPubmed 数据集采用相同的超参数。

      • 所有模型都使用 Adam 优化器,初始化学习率为 0.01

      • 所有模型都使用早停策略,早停的 epoch 窗口为 10。即:如果连续 10epoch 的验证损失没有下降,则停止继续训练。

      • 所有模型最多训练 200epoch

      • 我们使用 Glorot & Bengio (2010) 初始化策略:四、Semi-Supervised GCN - 图73

      • 我们对输入的特征向量进行按行的归一化 row-normalize,这类似于 ,使得每个维度的取值都在相近的取值范围。

      • 在随机图数据集上,我们选择隐层维度为 32,并省略正则化:即不进行dropout,也不进行 正则化。

    3. Baseline 模型:我们比较了 Yang et al.(2016) 相同的 baseline 方法,即:即:标签传播算法label propagation:LP、半监督embedding 算法 semi-supervised embedding:SemiEmb 、流形正则化算法manifold regularization:MainReg 、基于skip-gram 的图嵌入算法DeepWalk

      • 我们忽略了 TSVM 算法,因为它无法扩展到类别数很大的数据集。
      • 我们还还比较了Planetoid(2016) 算法, 以及 Lu&Getoor(2003) 提出的迭代式分类算法iterative classification algorithm:ICA
    4. 模型比较结果如下表所示。

      • 对于ICA ,我们随机运行 100 次、每次以随机的顶点顺序训练得到的平均准确率; 所有其它基准模型的结果均来自于 Planetoid 论文,Planetoid* 表示论文中提出的针对每个数据集的最佳变体。

      • 我们的GCN 执行100次、每次都是随机权重初始化的平均分类准确率,括号中为平均训练时间。

      • 我们为 Citeseer,Cora,Pubmed 使用的超参数为:dropout = 0.5四、Semi-Supervised GCN - 图74 正则化系数为 、隐层的维度为64

      • 最后我们报告了10 次随机拆分数据集,每次拆分的labled 数据、unlabled 数据、测试数据比例与之前相同,然后给出GCN 的平均准确率和标准差(以百分比表示),记作 GCN(rand. splits)

      实验表明:我们的半监督顶点分类方法明显优于其它方法。

      • 基于图的拉普拉斯正则化方法(LP, maniReg 方法)最有可能受到限制,因为它们假设图的边仅仅编码了顶点的相似性。
      • 基于 SkipGram 的方法也受到限制,因为它们难以优化一个多步骤的 pipeline

      我们的模型可以克服这些局限性,同时在计算效率上和有关方法相比仍然是有利的。

      四、Semi-Supervised GCN - 图75

    5. 我们在引文网络数据集上比较了我们提出的逐层传播模型的不同变体,实验配置和之前相同,结果如下表所示。

      我们原始的 GCN 模型应用了 renormalization 技巧(粗体),即:

      其它的GCN 变体采用Propagation model 对应的传播模型。

      • 对于每一种变体模型,我们给出执行100次、每次都是随机权重初始化的平均分类准确率。
      • 对于每层有多个权重 四、Semi-Supervised GCN - 图76 的情况下(如 Chebyshev filter, 1st-order model),我们对第一层的所有权重执行 正则化。

      实验表明:和单纯的一阶切比雪夫多项式卷积模型,以及更高阶的切比雪夫多项式卷积模型相比,renormalization 模型在很多数据集上都能够效率更高(更少的参数和更少的计算量)、预测能力更强。

      四、Semi-Supervised GCN - 图77

    6. 我们在随机图上报告了 100epoch 的每个 epoch 平均训练时间。我们在 Tensorflow 上比较了 CPUGPU 实现的结果,其中 * 表示内存溢出错误Out Of Memory Error

    7. 最后我们考虑模型的深度对于性能的影响。这里我们报告对 Cora,Citeseer,Pubmed 数据集进行5 折交叉验证的结果。

      除了标准的 GCN 模型之外,我们还报告了模型的一种变体:隐层之间使用了残差连接:

      四、Semi-Supervised GCN - 图78

      5 折交叉验证的每个拆分中,我们训练400epoch 并且不使用早停策略。我们使用Adam 优化器,初始学习率为 0.01。我们对第一层和最后一层使用dropout = 0.5 ,第一层权重执行正则化系数为 的 四、Semi-Supervised GCN - 图79 正则化。GCN 的隐层维度选择为 16

      结果如下图所示,其中标记点表示5 折交叉验证的平均准确率,阴影部分表示方差。

      • 当使用两层或三层模型时,GCN 可以获得最佳效果。
      • 当模型的深度超过七层时,如果不使用残差连接则训练会变得非常困难,表现为训练准确率骤降。
      • 当模型深度增加时,模型的参数数量也会增加,此时模型的过拟合可能会成为问题。