目录

0 前言

1 基于空间域的GCN[2]

2 基于谱域的GCN

2.1拉普拉斯矩阵

2.2为什么GCN要用拉普拉斯矩阵?

2.3 拉普拉斯矩阵的谱分解(特征分解)

2.4卷积的定义

2.5傅里叶变换

2.5Graph上的傅里叶变换及卷积

3 深度学习中GCN的演变

3.1Spectral CNN

3.2Chebyshev谱CNN(ChebNet)

3.3CayleyNet

3.4一阶ChebNet(1stChebNet)-GCN

4 GCN优缺点

4.1GCN的优点

4.2GCN的不足#


0 前言

通常,将GCN分为基于空间域spatial-based和基于谱域spectral-based. "所谓的两类其实就是从两个不同的角度理解"[4],这也是我对两类的理解,因为从公式上看并没有较大区别,只是细节和适用场景不同,比如,图是否有向等。

基于空间域的GCN关键在有aggregate的概念,将中心节点表示和相邻节点表示进行聚合(消息传递机制),具体实现是用neighbor feature更新下一层的hidden state。代表模型有:NN4G(neural network for graph)、DCNN(Diffusion-Convolution Neural Network)、DGC(Duffusion Graph Convolution)、MoNET(Mixture Model Networks)、GraphSAGE(SAmple and aggreGatE)、GAT(Graph Attention Network)和GIN(Graph Isomorphism Network).其中aggregation的方式包括sum、mean、weight sum、LSTM和max pooling等。

基于谱域的GCN是基于Spectral Graph Theory(借助于图的拉普拉斯矩阵的特征值和特征向量来研究图的性质),从图信号处理的角度引入滤波器来定义图卷积。关键把signal转到fourier domain里面,再把转到fourier domain里的信号跟转到fourier domain的filter response相乘,再做inverse fourier transform,得到经过filter的信号。代表性研究有ChebNet(fast GCN加快计算)和GCN。

傅里叶相关概念:

  1. 傅里叶级数/变换是将函数拆解成无数个不同频率正弦波之和的过程。
  2. 傅里叶级数/变换是将时域信息向频域信息转化的过程。
  3. 性质:时域卷积等价于频域相乘。

1 基于空间域的GCN[2]

图的节点特征X拓扑结构信息(邻接矩阵A表示)作为输入,聚合节点邻居的特征。

最简单的聚合过程:AX

但该过程有两个问题

1)节点自身的特征没有算进去;

2)聚合邻居节点特征的时候直接以sum的方式聚合,这样在多次迭代聚合以后,度小的节点数值会越来越小,(当然也可能会越来越大,这取决于具体特征值的正负)。总之,就是容易走极端,即梯度爆炸或消失。

以上两个问题的解决办法

1)在邻接矩阵A上加单位矩阵I,即

2)用取加权平均的方式聚合邻居节点特征,即;但度矩阵D的逆左乘邻接矩阵只是给邻接矩阵A的行分配权值,而A的列也需要权值分配,因此还需要对A进行右乘D的逆;因此最终GCN聚合公式为

具体详见参考[2]

2 基于谱域的GCN

涉及一堆数学公式的推导和概念、定理和性质,到目前都不是很理解(我太菜了).看[4]吧,作者讲的挺全挺透彻的。

2.1拉普拉斯矩阵

  • 普通形式:,L中的元素给定为:
  • 对称归一化的拉普拉斯矩阵(Symmetric normalized Laplacian):,矩阵元素定义为:
  • 随机游走归一化拉普拉斯矩阵(Random walk normalized Laplacian):,矩阵元素定义为:

2.2为什么GCN要用拉普拉斯矩阵?

  • 拉普拉斯矩阵是对称矩阵,可以进行特征分解(谱分解)。因此,对称矩阵的前提就是graph是无向图
  • 由于卷积在傅里叶域的计算相对简单,为了在graph上做傅里叶变换,需要找到graph的连续的正交基对应于傅里叶变换的基,因此要使用拉普拉斯矩阵的特征向量。

fourier domain上的卷积(卷积定理):求两个函数的卷积,就是分别求两个函数的傅里叶变换,再做一次逆傅里叶变换得到。

对图上f和卷积核g的卷积可以表示为:

有了目标,接下来就是走向目标的路了,那这个路的起点就是先获取拉普拉斯矩阵的特征向量!

2.3 拉普拉斯矩阵的谱分解(特征分解)

2.4卷积的定义

1)连续卷积

连续一维卷积是通过两个函数f(x)和g(x)生成第三个函数的一种算子,它代表的意义是:两个函数中的一个(取g(x),可以任意取)函数,把g(x)经过翻(卷)转平移,然后与f(x)的相乘(积),得到的一个新的函数,对这个函数积分,也就是对这个新的函数求它所围成的曲边梯形的面积。

设f(t),g(t)是两个可积函数,f(t)与g(t)的卷积记为f(t)∗g(t)f(t)∗g(t),它是其中一个函数翻转并平移后与另一个函数乘积的积分,是一个自变量是平移量的函数。也就是:

2)离散卷积

对于定义在整数Z上的函数f,g,卷积定义为

看下面这个例子对卷积解释,绝了!

2.5傅里叶变换

2.5Graph上的傅里叶变换及卷积

把传统的傅里叶变换以及卷积迁移到Graph上来,核心工作其实就是把拉普拉斯算子的特征函数 变为Graph对应的拉普拉斯矩阵的特征向量。

傅立叶变换与拉普拉斯矩阵的关系:传统傅立叶变换的基,就是拉普拉斯矩阵的一组特征向量。

前面讲到可以用一组正交函数cos和sin(或 )表示任意函数,且傅里叶变换是连续形式的,在处理Graph时,用到的是傅里叶变换的离散形式。由于拉普拉斯矩阵进行谱分解以后,可以得到n个线性无关的特征向量,构成空间中的一组正交基,因此归一化拉普拉斯矩阵算子的特征向量构成了图傅里叶变换的基。图傅里叶变换将输入图的信号投影到了正交空间,相当于把图上定义的任意向量,表示成了拉普拉斯矩阵特征向量的线性组合。

图的傅立叶变换——图的傅立叶变换的矩阵形式

图的傅立叶逆变换——图的傅立叶逆变换的矩阵形式 

 图上的傅里叶变换推广到图卷积

对于“为什么拉普拉斯矩阵的特征向量可以作为傅里叶变换的基?特征值表示频率?”这一问题,文章给出了详细的解释!

3 深度学习中GCN的演变

3.1Spectral CNN

谱CNN源于论文(J. Bruna, W. Zaremba, A. Szlam, and Y. LeCun, “Spectral networks and locally connected networks on graphs,” in Proceedings of International Conference on Learning Representations, 2014),Bruna等人,第一次提出谱卷积神经网络。他们简单

3.2Chebyshev谱CNN(ChebNet)

Chebyshev谱CNN源于论文(M. Defferrard, X. Bresson, and P. Vandergheynst, “Convolutional neural networks on graphs with fast localized spectral filtering,”in Advances in Neural Information Processing Systems, 2016)。Defferrard等人提出ChebNet,定义特征向量对角矩阵的切比雪夫多项式为滤波器,也就是

3.3CayleyNet

3.4一阶ChebNet(1stChebNet)-GCN

一阶ChebNet源于论文(T. N. Kipf and M.Welling, “Semi-supervised classification with graph convolutional networks,” in Proceedings of the International Conference on Learning Representations, 2017)。这篇论文基于前面的工作,正式成为GCN的开山之作,后面很多变种都是基于这篇文章的。

该篇论文贡献有两点:

  • 作者对于直接操作于图结构数据的网络模型根据频谱图卷积(Hammond等人于2011年提出的Wavelets on graphs via spectral graph theory)使用一阶近似简化计算的方法,提出了一种简单有效的层式传播方法。
  • 作者验证了图结构神经网络模型可用于快速可扩展式的处理图数据中节点半监督分类问题,作者通过在一些公有数据集上验证了自己的方法的效率和准确率能够媲美现有的顶级半监督方法。

其实读到这里也就发现,这个GCN和上一章空间域的那个GCN公式是一模一样的。因此,也就呼应了我开篇说的GCN分为基于空间域和基于谱域两种方式,是从理解层面上可分为两种,所依托的理论依据不同。正是理论不同,其两者的发展和之后的研究方向也会不同。

4 GCN优缺点

4.1GCN的优点

1)、权值共享,参数共享,从AXWAXW可以看出每一个节点的参数矩阵都是W,权值共享;
2)、具有局部性Local Connectivity,也就是局部连接的,因为每次聚合的只是一阶邻居;
上述两个特征也是CNN中进行参数减少的核心思想
3)、感受野正比于卷积层层数,第一层的节点只包含与直接相邻节点有关的信息,第二层以后,每个节点还包含相邻节点的相邻节点的信息,这样的话,参与运算的信息就会变多。层数越多,感受野越大,参与运算的信息量越充分。也就是说随着卷积层的增加,从远处邻居的信息也会逐渐聚集过来。
4)、复杂度大大降低,不用再计算拉普拉斯矩阵,特征分解

4.2GCN的不足#

1)、扩展性差:由于训练时需要需要知道关于训练节点、测试节点在内的所有节点的邻接矩阵AA,因此是transductive的,不能处理大图,然而工程实践中几乎面临的都是大图问题,因此在扩展性问题上局限很大,为了解决transductive的的问题,GraphSAGE:Inductive Representation Learning on Large Graphs 被提出;
2)、局限于浅层:GCN论文中表明,目前GCN只局限于浅层,实验中使用2层GCN效果最好,为了加深,需要使用残差连接等trick,但是即使使用了这些trick,也只能勉强保存性能不下降,并没有提高,Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning一文也针对When GCNs Fail ?这个问题进行了分析。虽然有一篇论文:DeepGCNs-Can GCNs Go as Deep as CNNs?就是解决GCN局限于浅层的这个问题的,但个人觉得并没有解决实质性的问题,这方面还有值得研究的空间。
3)、不能处理有图:理由很简单,推导过程中用到拉普拉斯矩阵的特征分解需要满足拉普拉斯矩阵是对称矩阵的条件;

如有误,请留言指正,感谢(抱拳)。

参考:

[1] 台大李宏毅《机器学习》课程中关于GNN的章节

[2]GCN图卷积网络入门详解 | 雷峰网

[3]一文读懂图卷积GCN - 知乎

[4]最全面的图卷积网络GCN的理解和详细推导,都在这里了! - 不务正业的土豆 - 博客园(这篇文章非常详细,推荐!)

GCN图卷积网络 | 介绍相关推荐

  1. GCN图卷积网络入门详解

    在这篇文章中,我们将仔细研究一个名为GCN的著名图神经网络.首先,我们先直观的了解一下它的工作原理,然后再深入了解它背后的数学原理. >>>> 为什么要用Graph? 许多问题 ...

  2. 神经网络学习笔记4——GNN图神经和GCN图卷积网络

    系列文章目录 博客依托于国外GNN综述 结合沐神视频 文章目录 系列文章目录 图神经 一.图是什么? 二.机器学习中使用图 1.邻接矩阵的表达 2.GNN 1.独自更新 2.VE交互更新 3.UVE交 ...

  3. gcn 图卷积神经网络_复制一文读懂图卷积GCN

    首发于郁蓁的机器学习笔记 写文章 一文读懂图卷积GCN 苘郁蓁 ​ 阿里巴巴 算法工程师 ​关注她 唯物链丶.小小将等 480 人赞同了该文章本文的内容包括图卷积的基础知识以及相关辅助理解的知识点,希 ...

  4. 图卷积网络(Graph Convolutional Networks, GCN)详细介绍

    本文翻译自博客. 在这篇博文中会为大家详细地介绍目前使用广泛的图神经网络--图卷积网络(Graph Convolutional Networks, GCN)的相关知识.首先将带领大家直觉上感受其工作原 ...

  5. 一文读懂简化的图卷积网络GCN(SGC)| ICML 2019

    作者 | yyl424525 来源 | CSDN博客 文章目录 1 相关介绍 1.1 Simple Graph Convolution (SGC)提出的背景 1.2 SGC效果 2 Simple Gr ...

  6. 【GCN】图卷积网络(GCN)入门详解

    机器学习算法与自然语言处理出品 @公众号原创专栏作者 Don.hub 单位 | 京东算法工程师 学校 | 帝国理工大学 图卷积网络(GCN)入门详解 什么是GCN GCN 概述 模型定义 数学推导 G ...

  7. 图卷积网络初探【GCN】

    最近GCN非常火,虽然个人暂时用不到GCN,但还是简单看了下理论,感觉不是特别复杂,但是似乎实现上较为有难度,尤其是高维的图表示,先转载一篇机器之心的文章学习一下,感觉GCN主要是处理复杂的关系网络, ...

  8. 图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导

    文章目录 1. 为什么会出现图卷积神经网络? 2. 图卷积网络的两种理解方式 2.1 vertex domain(spatial domain):顶点域(空间域) 2.2 spectral domai ...

  9. 图卷积网络GCN(Graph Convolution Network)(一)研究背景和空域卷积

    文章首发于个人站点: 图卷积网络GCN(Graph Convolution Network)(一)研究背景和空域图卷积 | 隐舍 公众号:[DreamHub] 由于文章篇幅较长,因此将其分解为三部分: ...

最新文章

  1. 分组背包----HDU1712 ACboy needs your help
  2. 百度宣布AI语音调用登顶中国第一,自研芯片+最新端到端模型颠覆传统语音识别算法...
  3. 物理引擎demo (4) —— 力、关节和马达
  4. 三十而已,工程师如何做好职业成长?
  5. java 反射基础_Java基础教程:反射基础
  6. 如何扩容LVM逻辑卷
  7. 现在离开哈尔滨需要做核酸检测吗?
  8. Carsim应用:LKA车道保持辅助系统(LQR算法推导)
  9. PT8023W(单触控双输出 LED 调光 IC)
  10. 2、什么是软件过程?它与软件工程方法学有何关系?
  11. 有时候内卷也可以走捷径,比如几行代码也可以霸榜朋友圈~
  12. spinnaker-简介
  13. 洛谷 2448 无尽的生命
  14. DedeCms的SEO优化全攻略
  15. c语言初级小游戏 · 闯关小鸟 | 激发你的编程兴趣(115行左右代码)
  16. 【OpenCv】图像模糊(均值模糊,高斯模糊,中值模糊,双边模糊)
  17. 【无标题】2.8Multisim模电实验
  18. linux home键无法使用,iPhone 7 的特殊 Home 键坏了怎么办?别担心还有虚拟按钮
  19. 干货 | 多业务线亿级体量,携程是怎么做账务中台的
  20. 2022年注册安全工程师安全生产专业实务(道路运输安全)考试模拟试题卷及答案

热门文章

  1. html里边框怎么加,HTML边框怎么加
  2. java冰箱评测开题报告范文_冰箱冰箱门论文,关于为极致设计而倾心——海尔博观冰箱BCD-800WBCOU1体验相关参考文献资料-免费论文范文...
  3. php标签调用,在自己的php页面中使用dedecms标签的代码示例
  4. 工作中总有人想和你抬杠该怎么解决?
  5. 盘点那些年让人抓狂的计算机术语翻译
  6. 应急管理综合应用解决方案
  7. Python实战案例:使用Pygame开发游戏翻牌子(上)
  8. Ray-Tracing: Generating Camera Rays(翻译)
  9. python自动翻译视频字幕_音视频自动字幕生成(翻译)—[autosub]
  10. Duan2baka的AC自动机模板!