图卷积神经网络打怪升级之路

本文介绍了图卷积神经网络(GCN)的发展,从CNN到GCN的转变,探讨了图数据的非欧性问题。文章通过三代GCN模型(SCNN、Chebynet、3rd GCN)的演进,阐述了如何在图数据上定义卷积核,以及各代模型的优缺点,展示了GCN在解决非欧空间卷积问题上的进展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创:袁一歌

前言导语

图结构数据 (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 GCN2。这里需要解释一下,打怪的“怪”指的是每代模型存在的问题与弊端,下一代解决了上一代的弊端,不断完善优化,就是GCN 的打怪升级之路。

SCNN: 开山之作

概述简介

《Spectral Networks and Deep Locally Connected Networks on Graphs》这篇论文是 GCN 的开山之作,提出了谱域 GCN 的第一代模型 SCNN。SCNN 利用谱域变换3定义了Graph 上的卷积核。谱域变换简单来讲可以理解为:在当前空间,Graph 数据为非欧空间,难以定义卷积核;那么将 Graph 数据进行某种空间变换,变换到欧式空间不就可以了?而 SCNN 的这个“某种空间变换”,正是利用了谱图理论中图傅里叶变换与图卷积定理的相关知识,将 Graph 数据投射到了谱域。在谱域下,Graph 是欧式空间,可以定义卷积核,可以进行卷积运算。

模型设计

第一代图卷积神经网络 SCNN 卷积计算公式如下,其利用图傅里叶变换与图的卷积定理,直接将卷积核进行参数化。其中, U U U 为 Graph 拉普拉斯矩阵特征向量,利用 U T U^{T} UT与图数据相乘代表图傅里叶变换,目的是将非欧的空域 Graph 数据变换到欧式的谱域; g θ g_{\theta} gθ 为卷积核,其中每一个参数 t h e t a theta theta 都为可学习的卷积核参数; f f f 为输入的图上信号(特征)。

( f ∗ G g ) = U ( U T g ⊙ U T f ) Let    g θ = d i a ( U T g ) then    ( f ∗ G g ) = U ( g θ U T f ) g θ = [ θ 1 … 0 … … … 0 … θ n ] \begin{aligned} &(f * _{G} g)=U\left(U^{T} g \odot U^{T} f\right)\\ &\text{Let}\; g_{\theta}=dia(U^{T} g)\\ &\text{then} \; (f * _{G} g)=U\left( g_{\theta}U^{T} f\right)\\ &g_{\theta} =\left[\begin{array}{ccc} \theta_{1} & \ldots & 0 \\ \ldots & \ldots & \ldots \\ 0 & \ldots & \theta_{n} \end{array}\right] \end{aligned} (fGg)=U(UTgUTf)Letgθ=dia(UTg)then(fGg)=U(gθUTf)gθ=θ100θn

SCNN 模型架构图如下,原始 Graph 不断经过卷积操作,变换为特征向量。其一层卷积计算公式如下,其中, x k x_k xk 是第 k 层特征; G k G_{k} Gk 是第 k 层卷积核; U U U 是 Graph 拉普拉斯矩阵特征向量; h h h 是激活函数。下式为一层卷积计算表达,SCNN 由多层卷积层叠加而成

x k + 1 , j = h ( U ∑ i = 1 f k −

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值