• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

通俗全面理解图卷积与GCN网络(二):从图卷积到GCN

人工智能 CyrilSterling 2261次浏览 0个评论

目录

 

  • 前言
  • 卷积
  • 傅里叶变换
    • 信号的傅里叶变换
    • 图的傅里叶变换
  • 卷积
  • GCN(图卷积神经网络)
    • 第一代GCN
    • 第二代GCN
  • 总结

 

前言

  在上一篇文章中我们介绍了图的部分概念以及最简单的图卷积方式,但这里的图卷积在实现起来还存在着一些问题,在这一篇文章中我们从卷积的定义角度导出图上的卷积,再将它用到GCN里。  

卷积

  学过信号处理相关理论的同学一定知道,卷积就是对信号进行如下操作:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   当然,这是对连续信号,如果信号是离散的,那么就是这样:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   而在图像处理领域,卷积说白了就是把这个公式拓展到了二维嘛:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   其中f就是我们说的卷积核,我们假设卷积核大小为M*N,那么可以认为f函数在除了这个范围后的值为0,那么从负无穷到正无穷的求和就可以变成0到M,0到N的求和,这样,上述式子就变成了我们平常看到的通俗理解卷积,如下图:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   从信号处理的角度来看,卷积计算这么麻烦,有什么用呢?   众所周知,它和傅里叶变换或者拉普拉斯变换有着密切的关系。可以用下面两句绕口令表述: 卷积的傅里叶变换等于傅里叶变换的乘积 乘积的傅里叶变换等于傅里叶变换的卷积   写成公式:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   正是由于这样的性质,而卷积可以用于还原信号,所以我们用信号傅里叶变换的乘积再做逆变换来计算卷积,从而能做信号处理里的好多事情。   按照这样的思路,如果我们能够导出图的傅里叶变换,我们就能导出图卷积的公式。  

傅里叶变换

 

信号的傅里叶变换

  上面说了这么多,那什么是傅里叶变换呢,这里简要带大家回忆一下,如果不懂的同学就自行百度了。   傅里叶变换与逆变换定义如下:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   傅里叶变换为傅里叶级数的拓展,傅里叶级数为求和的形式,只是对于周期信号适用,而当对于任意信号时,可以认为周期趋于无穷,频谱谱线也就无限靠近形成连续谱,求和也变成了积分的形式。   同样,离散的傅里叶变换变成求和号即可。   从另一个角度看,傅里叶变换可以看做是函数与基函数e-jwt的积分,我们研究一下这个基函数。   对其求拉普拉斯,我们可以得到:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   按照特征值的定义:  

对于一种变换A,按照线性代数相关知识,其广义特征方程定义为:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   其中V是特征向量,λ是特征值  

可以看出,e-jwt是拉普拉斯算子的特征函数,而ω与特征值有关。  

图的傅里叶变换

  按照上一篇博客里证明过的,图的拉普拉斯矩阵其实就是图的拉普拉斯算子,然后套用上面的关系,我们可以得到:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   仿照上面的傅里叶变换的公式,我们可以导出图上傅里叶变换公式:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   按照上一篇博客里拉普拉斯矩阵的特征值分解,可以得到矩阵U,其列向量即为特征向量,这里记做ul。   注意,这里是向量点乘形式,这里的u我们看做复数形式,所以在点乘时,要对u取共轭。   上式求得的是节点i的傅里叶变换值。然后我们可以把这个写成矩阵形式:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   这样我们就得出了图上的傅里叶变换:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   同理,逆变换为:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   其他不变,改为对l求和即可。   其矩阵形式为:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   即:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   注:这里我们的定义是类比下来的,将原傅里叶变换的基函数e-jwt类比为特征向量u,因为他们都和特征值有关。实际上,根据线性代数的知识,可以证明这n个特征向量u是线性空间的一组基,而且是正交基。   在傅里叶变换中,变换后的函数自变量变为特征值ω,故在这里,变换后的自变量变为特征值λ,如下图:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN  

图卷积

  根据上面定义,图上的傅里叶变换与逆变换为:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   根据傅里叶变换与卷积的关系,为了导出图卷积公式,我们计算图与卷积核的傅里叶变换,将其想乘,再求其逆变换:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   带入可得:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   其中为哈达马积,即两向量对应元素相乘。   这里对于卷积核的傅里叶变换我们可以写为:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   故可将别扭的哈达马积去掉,写成:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN    

GCN(图卷积神经网络)

  将图卷积相关理论构成神经网络即图卷积神经网络(Graph Convolutional Network)。 在上一篇博客里我们定义了图卷积层的三种形式,这里我们具体地将我们导出的图卷积公式带入。  

第一代GCN

  在第一代GCN中,作者直接将卷积核的傅里叶变换
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN设定为可学习的卷积核
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN,卷积层就变成了下面这个样子:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   其中
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN即为卷积核   其实,同时对于大型图,可能有上亿个节点,这样卷积核就需要学习上亿个参数。  

第二代GCN

  为了避免上述的问题,第二代GCN将
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN设定成
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN,即把傅里叶变换
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN设置为一个自变量为
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN的幂级数,最高次为k。那么参数量就变成了k个,即α。   而按照之前的推导对于拉普拉斯矩阵有性质:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN     这样就可以有以下化简:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   那么图卷积层就表示为:  
通俗全面理解图卷积与GCN网络(二):从图卷积到GCN   这个方法太巧妙了,其实就是通过权值共享把要学习的参数量变成幂级数的系数。原来我有几个节点,就得有几个参数,现在我们只需要k个系数就能进行学习。  

总结

  这篇文章介绍了图卷积的推导以及GCN网络的构建。在最后,把需要学习的参数降为为k个幂级数的系数。   在后来的研究中,研究人员也提出很多种不同的GCN,仅目前pytorch集成的就不下20种了: pytorch geometric的github:https://github.com/rusty1s/pytorch_geometric 其中改进方法大多为对上述幂级数的改进,可以换成其他函数生成方式,或插值方式。如:贝塞尔曲线、B-样条曲线等。   目前,通过B-样条曲线的方法构建的GCN效果很好,该方法来自CVPR2018的论文SplineCNN: Fast Geometric Deep Learning with Continuous B-Spline Kernels。   但也不能说其他的方法效果一定不好,目前这方面还在研究中,这些图卷积的方法效果也基本都差不多,在实际应用中通常要经过多次的尝试找到效果最好的一种。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明通俗全面理解图卷积与GCN网络(二):从图卷积到GCN
喜欢 (0)

您必须 登录 才能发表评论!

加载中……