原创:袁一歌
前言导语
图结构数据 (Graph) 广泛的存在于我们的日常生活之中,从社交网络错综复杂的人际关系,到化学分子键键相连的结构特征。图卷积神经网络(Graph Convolutional Network, GCN) 正是一类对这种图结构数据进行建模的算法。本文《图卷积神经网络打怪升级之路》将从 GCN 的诞生以及三代 GCN 的进阶升级的角度对图卷积领域进行简要介绍,下面让我们开始吧~
从 CNN 到 GCN
CNN 卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN),是一类包含卷积计算且具有深度结构的神经网络,自1998年 Yann LeCun 等人构建出 LeNet 并成功应用于手写数字识别任务之后,已经成为视觉领域一大杀器,在各种任务上表现出色。下图为 LeNet 模型架构图,可以看出 LeNet 输入是原始图像,经过多层卷积核的卷积操作,不断提取特征图,最终输出原始图像的表示向量。
CNN 模型架构示例}图数据的非欧性
CNN 成功之后,很多学者开始思考:卷积能否应用于图(Graph)的网络结构之中?解决这个问题的第一步,是思考图(Graph)与图像(Image)的联系与区别。Graph 与 Image 的联系在于 Image 可以看做一种特殊的 Graph,每个像素点看做一个节点,相邻的像素点直接认为存在连边,即密布整齐排列的 grid-graph。
基于此,Graph 与 Image 的区别便昭然若现:Image 中每个像素节点其邻居,即存在连边直接相连的节点数量都是固定的,然而 Graph 节点邻居数量不固定。上述区别提炼到数学领域可以表达为:图是非欧空间而图像是欧式空间[1] 。
看到现在,很多同学可能会问:欧式空间有什么影响呢,Graph 不是欧式空间会给卷积运算带来什么问题?实际上,非欧空间对于卷积的影响在于卷积核的定义。
回顾一下 CNN 的卷积与卷积核,卷积核定义为 n*n 大小的矩阵并在 Image 上扫描游走。如下图所示的二维卷积运算,其 Image 大小为 5*5,在大小为 3*3 的卷积核的扫描下,得到了大小为 3*3 的特征图。正是因为该Image 数据是像素点整齐排布的欧式空间,每个像素点只与周围的 8 个像素点固定相连,其卷积核才可以被定义并游走扫描。试想一下,如果该 Image 排布不规则,可以与很远的某个像素点存在连边,但与相邻的像素点不存在连边,那么这个 3*3 的卷积核便失去了意义:因为卷积核体现的是感受的范围,感受到的是与中心像素相关联的像素点,而并非无关的像素点。
GCN 核心问题
上文说到:图(Graph)是非欧空间,图的空间不规则,其邻域数量不固定,不便于卷积核的定义;而图像(Image)是典型的欧几里得空间,其空间是规则的,其邻域是确定的,便于卷积核的定义。至此,GCN的研究问题就变成:如何克服非欧性,定义 Graph 上的卷积?
下面将介绍的内容是 GCN 的三代打怪升级之路:SCNN -> Chebynet -> 3rd GCN[2]。这里需要解释一下,打怪的“怪”指的是每代模型存在的问题与弊端,下一代解决了上一代的弊端,不断完善优化,就是GCN 的打怪升级之路。
SCNN: 开山之作
概述简介
《Spectral Networks and Deep Locally Connected Networks on Graphs》这篇论文是 GCN 的开山之作,提出了谱域 GCN 的第一代模型 SCNN。SCNN 利用谱域变换[3]定义了Graph 上的卷积核。谱域变换简单来讲可以理解为:在当前空间,Graph 数据为非欧空间,难以定义卷积核;那么将 Graph 数据进行某种空间变换,变换到欧式空间不就可以了?而 SCNN 的这个“某种空间变换”,正是利用了谱图理论中图傅里叶变换与图卷积定理的相关知识,将 Graph 数据投射到了谱域。在谱域下,Graph 是欧式空间,可以定义卷积核,可以进行卷积运算。
模型设计
第一代图卷积神经网络 SCNN 卷积计算公式如下,其利用图傅里叶变换与图的卷积定理,直接将卷积核进行参数化。其中, 为 Graph 拉普拉斯矩阵特征向量,利用与图数据相乘代表图傅里叶变换,目的是将非欧的空域 Graph 数据变换到欧式的谱域; 为卷积核,其中每一个参数 都为可学习的卷积核参数; 为输入的图上信号(特征)。
SCNN 模型架构图如下,原始 Graph 不断经过卷积操作,变换为特征向量。其一层卷积计算公式如下,其中, 是第 k 层特征; 是第 k 层卷积核; 是 Graph 拉普拉斯矩阵特征向量; 是激活函数。下式为一层卷积计算表达,SCNN 由多层卷积层叠加而成
存在问题
SCNN 作为第一代 GCN,是十分具有开创性的一项工作,但是仍然具有很多问题,主要问题有以下三点:
-
卷积不具有局部性:SCNN 直接将卷积核进行参数化,卷积核的参数是全图具有影响力的,相当于 CNN 中使用了与原图同样大小的卷积核,失去局部性。
-
需特征分解,计算复杂:SCNN 需要进行图拉普拉斯矩阵的特征分解,得到特征值与特征向量进行傅里叶变换,而矩阵的特征分解复杂度很高,对于一个的矩阵,其特征分解复杂度为为。
-
参数量与节点数量相同,参数量大:同样因为第一代 GCN 直接将卷积核进行参数化,然后与频域图信号进行矩阵乘法,因此参数数量与矩阵节点数量相当。与节点数量相同的参数数量,对于诸如社交网络等上亿节点数量级的网络来说是不可接受的。
Chebynet:谱域升级
概述简介
《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》这篇论文提出了谱域 GCN 的第二代模型 ChebyNet。ChebyNet 并不像 SCNN 一样直接将卷积核参数化,而是着眼于卷积核与特征值间的映射函数,从而利用多项式近似这个函数。ChebyNet 利用切比雪夫多项式近似卷积核,解决了 SCNN 致命的三大问题,使图卷积网络获得了局部性、降低了计算量与参数量,起到了重要的承上启下作用。
模型设计
第二代图卷积神经网络 ChebyNet 利用切比雪夫多项式对卷积核进行近似。切比雪夫多项式公式如下所示,其中 是 的 阶切比雪夫多项式
在经过切比雪夫多项式近似后, ChebyNet 卷积核变成了如下所示。其中, 是新的参数,数量为切比雪夫多项式的阶数 k; 是拉普拉斯矩阵的特征值矩阵; 是拉普拉斯矩阵;
将近似后的卷积核代入卷积计算,可以得到 ChebyNet 一层卷积计算表达。其中, 是拉普拉斯矩阵的特征值矩阵; 是拉普拉斯矩阵
存在问题
ChebyNet 利用切比雪夫多项式近似卷积核,解决了谱域第一代 GCN 致命的三大问题,使图卷积网络获得了局部性、降低了计算量与参数量。但是 k 阶多项式的近似,其高阶的性质不利于卷积层的快速计算与堆叠。
3rd GCN:空域变迁
概述简介
《Semi-Supervised Classification with Graph Convolutional Networks》这篇论文提出了谱域图卷积网络的第三代模型 3rd GCN。3rd GCN 基于 ChebyNet 取其多项式一阶近似,它既可以从谱域进行理解,也可以从空域解释,是一个横跨谱域与空域的模型。3 rd GCN 相比 ChebyNet 计算量进一步降低,是第一个可以真正使用的图卷积模型,具有重要的意义。
模型设计
第三代图卷积神经网络 3rd GCN 将切比雪夫多项式阶数取 1。其一层卷积计算公式如下,其中, 是第 层特征表示; 是第 层可学习参数; 是激活函数。
3rd GCN 不同于 SCNN 与 ChebyNet,SCNN 与 ChebyNet是纯从谱域进行卷积运算的模型,而 3rd GCN 同时具有谱域的卷积核卷积性质,与空域的聚合传播性质。其谱域性质如下:3rd GCN 是一种谱域图卷积模型,它是 ChebyNet 的 1 阶近似,具有卷积核与卷积性质。
3rd GCN 空域性质如下:GCN 也是一种空域图卷积模型,它具有邻域聚合传播的性质。其中, 是节点 i 在第 层的隐层表示; 是节点 的度; 是节点 与节点 的权重,即邻接矩阵,如果节点 与 之间存在连边则 不为 0,否则为 0,这体现了邻域的聚合与传播。
文末总结
本文介绍了 GCN 的三代打怪升级之路:SCNN -> Chebynet -> 3rd GCN[2],后者不断分析前者存在的问题与弊端,并加以优化完善,形成了一条打怪升级的道路。
当下 GCN 的发展日新月异,现在看来不论是 SCNN、Chebynet 还是 3rd GCN 都已经是相对古老的模型,已经被喷涌而出的更新更强的 GCN 完善乃至超越。但是这三代 GCN 十分经典,代表了图卷积领域模型典型的变迁过程,具有很高的学习价值。
网友评论