图卷积神经网络

参考至图卷积神经网络-沈华伟: 图卷积神经网络-沈华伟.

一、卷积神经网络

1.1 CNN的定义

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一
卷积神经网络(CNN)在欧氏数据,如图像、文本、音频和视频等领域,取得了很大的成功。

  • 包括图像分类,目标检测,机器翻译
    在这里插入图片描述
  • CNN的能力
    体现学习局部平稳结构,通过局部卷积滤波器,并组合它们形成层次化多尺度的结构模式

M. M. Bronstein, J. Bruna, Y. LeCun, A. Szlam, P. Vandergheynst. Geometric deep learning: going beyond Euclidean data. IEEE Signal Processing Magazine, 18-42, 2017.

  • 局部卷积滤波器
    在空间上有平移不变性,它们能够独立于它们的空间位置识别相同的特征

一个有趣的问题是如何将卷积推广到非欧几里得域,如Graph?

1.2 从CNN 到 graph CNN

  • 在欧几里得数据中,网格状数据中定义卷积较为简单
  • 在现实世界中,不规则网络上定义卷积面临很大困难
    无法找到一一个节点为中心的pattern来对每个节点适用,因为节点的度分布(Degree Distribution)差异很大。

【扩展】:
度(degree)是指网络(图)中一个点的与其他点的连接数量,度分布(Degree Distribution)就是整个网络中,各个点的度数量的概率分布。一般来说,度分布服从幂律分布(或叫重尾分布)
在这里插入图片描述
早期的工作围绕两个方面:

  • 如何定义图上的卷积
  • 如何定义图上的池化(Pooling)

二、卷积

2.1 卷积的定义

卷积是对两个函数( f f f g g g)的数学运算,产生第三个函数( h h h), h h h g g g f f f做点积后的积分,其公式如下:
连续函数:
h ( t ) = ( f ∗ g ) ( t ) = ∫ f ( t ) g ( t − τ ) d τ h(t)=(f*g)(t)=\int{f(t)g(t-\tau )}d\tau h(t)=(fg)(t)=f(t)g(tτ)dτ
在这里插入图片描述

离散函数:
h ( x , y ) = ( f ∗ g ) ( x , y ) = ∑ m , n f ( x − m , y − n ) g ( m , n ) h(x,y)=(f*g)(x,y)=\sum\limits_{m,n}{f(x-m,y-n)g(m,n)} h(x,y)=(fg)(x,y)=m,nf(xm,yn)g(m,n)
在这里插入图片描述

  1. 卷积是一种积分,得到比原来更平滑的表示
  2. 卷积的结果是对原来信号的处理

2.2 现有定义卷积的方法

2.2.1 谱方法(Spectral methods)

谱方法:在谱域定义卷积。

  • 卷积是通过图傅里叶变换和卷积定理定义的。
  • 主要的挑战是在谱域定义的卷积滤波器不能在顶点域定位。

先把图上的信号变换到谱域,在谱域实现卷积的定义,再变换到空间域。

2.2.2 空间方法(Spatial methods)

空间方法:在顶点域定义卷积。

  • 卷积定义为对目标顶点邻域内所有顶点的加权平均函数。
  • 主要的挑战是,每个节点的邻居大小不一样,例如幂律度分布,实现参数共享面临比较困难。

三、谱方法

3.1 谱方法定义

  • 给定一个Graph G = ( V , E , W ) G=(V,E,W) G=(V,E,W)
    • V是节点集合, E E E是边的集合, W ∈ R n × n W\in {{R}^{n\times n}} WRn×n是带权邻接矩阵
    • 每个节点具有 d d d维特征, X ∈ R n × d X\in {{R}^{n\times d}} XRn×d是节点的特征矩阵, X X X的每一列都是定义在节点上的一个信号
  • 图的拉普拉斯,拉普拉斯矩阵定义了图上的导数,导数刻画了信号在图上的平滑程度
    • L = D − W L=D-W L=DW,其中 L L L 是Laplacian 矩阵, D D D是顶点的度矩阵(对角矩阵), D i i = Σ j W i j {{D}_{ii}}={{\Sigma }_{j}}{{W}_{ij}} Dii=ΣjWij,对角线上元素依次为各个顶点的度, W W W 是图的邻接矩阵。
    • 归一化图拉普拉斯算子
      L = I − D − 1 2 W D − 1 2 L=I-{{D}^{-\frac{1}{2}}}W{{D}^{-\frac{1}{2}}} L=ID21WD21 I I I是单位矩阵

3.2 图的傅里叶变换

把图上的信号变换到谱域,在谱域实现变化后再转换回来,通俗解释,每个图上有 n n n个节点,每个节点有1个取值,那么图上的信号就是一个 n n n维向量, n n n维向量需要变换到新的域,需要一个 n n n个特征向量的正交基(拉普拉斯向量),所作的变化就是把一个信号投影到这个 n n n维正交基。

对于信号 X ∈ R n X\in {{R}^{n}} XRn,傅里叶变换定义为
x ^ = U T x \hat{x}={{U}^{T}}x x^=UTx
傅里叶逆变换定义为:
x = U x ^ x=U\hat{x} x=Ux^

3.3 定义谱域的卷积

卷积定理
两个信号的卷积相当于它们的傅里叶变换后的点积

图卷积
根据卷积定理,给定一个信号 x x x作为输入,另一个信号 y y y作为滤波器,图卷积 ∗ G *G G可以写成
x ( ∗ G ) y = U ( ( U T x ) ⊙ ( U T y ) ) x(*G)y=U(({{U}^{T}}x)\odot ({{U}^{T}}y)) x(G)y=U((UTx)(UTy))
这里,频谱域的卷积滤波器是 U T y {U}^{T}y UTy

谱域的图卷积
U T y = [ θ 0 , . . . , θ n − 1 ] T {{U}^{T}}y={{[{{\theta }_{0}},...,{{\theta }_{n-1}}]}^{T}} UTy=[θ0,...,θn1]T,并且 g θ = d i a g ( [ θ 0 , . . . , θ n − 1 ] ) {{g}_{\theta }}=diag([{{\theta }_{0}},...,{{\theta }_{n-1}}]) gθ=diag([θ0,...,θn1]),代入上式可以写成:

在这里插入图片描述第一步:把输入信号 x x x投影到谱域,即 U T x {U}^{T}x UTx
第二步:对变换后的信号做卷积。实现变换;
第三步:做傅里叶逆变换转回节点域。

将信号扩展至 f k + 1 f_{k+1} fk+1
在这里插入图片描述

J. Bruna, W. Zaremba, A. Szlam, and Y. LeCun. Spectral networks and locally connected networks on graphs. ICLR, 2014.

3.4 谱域图卷积的缺点

  1. 依赖拉普拉斯矩阵的特征分解( eigen-decomposition )
  2. 高计算成本
  3. 在顶点域未局部化(节点的领域来自所有节点而不是它周围的节点)

3.5 谱域卷积的改进:ChebyNet-参数化过滤器

将原来自由参数的对角矩阵变换成由拉普拉斯的特征值对应的对角阵(多项式函数)
通过多项式逼近参数化卷积滤波器
在这里插入图片描述
代入到图卷积公式可得:
在这里插入图片描述
优点:

  1. 自由参数的数目由 n n n减少到 K K K
  2. 不需要显示地依赖 U U U,即不需要做特征分解,只需要知道 L L L就行了,因为 L L L是稀疏的,可以降低复杂度;
  3. L也是局部化的。

M. Defferrard, X. Bresson, P. Vandergheynst. Convolutional neural networks on graphs with fast localized spectral filtering. NeuraIPS, 2016

四、图小波神经网络(ICLR 2019)

ChebyNet是将图滤波器空间约束为特征值矩阵的多项式函数 Λ \Lambda Λ 来实现局部卷积:
g θ ( Λ ) = ∑ k = 0 K − 1 θ k Λ k {{g}_{\theta }}(\Lambda )=\sum\limits_{k=0}^{K-1}{{{\theta }_{k}}}{{\Lambda }^{k}} gθ(Λ)=k=0K1θkΛk

图小波神经网络重点研究了利用傅里叶基实现局部图卷积的方法。

用小波基代替傅里叶基(换 U U U)。

4.1 Fourier vs. Wavelet

傅里叶变换:正弦波
小波变换:局部有信号的波
在这里插入图片描述

4.2 图小波神经网络定义

用图小波变换代替图傅里叶变换
在这里插入图片描述

4.2.1 Graph convolution via wavelet transform

换基操作并没有改变图神经网络的结构
在这里插入图片描述
图小波神经网络
在这里插入图片描述
参数复杂度太大,为 o ( n ∗ p ∗ q ) o(n*p*q) o(npq)

4.2.2 图小波神经网络的改进

从特征变换中分离出图卷积,即卷积操作和节点特征变换分开进行,从而减少参数个数
在这里插入图片描述

五、空间方法

5.1 用类推的方法

卷积的三个步骤:

  1. 选定一个节点确定其领域,需要满足平移不变性
  2. 给领域节点排序编号
  3. 参数共享
    在这里插入图片描述

在图上类比卷积神经网络

  1. 对于每个节点,根据一定的邻近度量,选择固定数量的节点作为其邻近节点
  2. 根据接近度度量排序
  3. 选择固定大小的窗口进行参数共享
    在这里插入图片描述

M. Niepert, M. Ahmed, K. Kutzkov. Learning Convolutional Neural Networks for Graphs. ICML, 2016.

5.2 GraphSAGE

  1. 随机选择固定个数的邻居(随机行走)
  2. 聚合邻居
    在这里插入图片描述
    在这里插入图片描述
    图神经网络的一般框架:
    通过聚合相邻节点的信息来更新中心节点的表示

W. L. Hamilton, R. Ying, J. Leskovec. Inductive Representation Learning on Large Graphs. NeuraIPS 2017

5.3 GCN: Graph Convolution Network

  • 通过标准化拉普拉斯矩阵从邻域聚集信息
  • 来自特征转换的参数共享
  • 是一个简化版的ChebNet

T. N. Kipf, and M. Welling. Semi-supervised classification with graph convolutional networks. ICLR 2017

在这里插入图片描述这里的 W W W只是特征变换,已经失去了卷积的基本思想

5.4 GAT: Graph Attention Network

加上了卷积,通过注意机制学习聚合矩阵,即GCN中的拉普拉斯矩阵
共享参数包含两部分

  • 特征转换参数 W W W
  • 注意力参数 a a a,可看作卷积的卷积核

在这里插入图片描述每个节点和它邻居节点的特征变换之后combine,送入attention机制,得到权重。

5.5 MoNet

更一般的空间方法:

  • 定义多个核函数,参数化或非参数化,以衡量目标节点与其他节点之间的相似性
  • 卷积核是这些核函数的权值

核函数在谱方法里面是谱变换的基,在空间方法里是选择节点令居的方法。
在这里插入图片描述

F. Monti, D. Boscaini, J. Masci, E. Rodola, J. Svoboda, M. M. Bronstein. Geometric deep learning on graphs and manifolds using mixture model CNNs. CVPR 2017.

六、利用Heat Kernel进行半监督学习的图卷积网络

6.1 谱方法vs.空间方法

6.1.1 联系

谱方法是空间方法的特例。

在这里插入图片描述

6.1.2 区别

  • 谱方法:需要显式地定义卷积核,即需要知道节点投影的谱空间,例如傅里叶变换,投影到的是拉普拉斯矩阵展开的空间。
  • 空间方法:不需要显式地定义,直接定义内核函数

6.2 谱方法:回顾

  • Spectral CNN
    y = U g θ U T x = ( θ 1 u 1 u 1 T + θ 2 u 2 u 2 T + . . . + θ n u n u n T ) x y=U{{g}_{\theta }}{{U}^{T}}x=({{\theta }_{1}}{{u}_{1}}u_{1}^{T}+{{\theta }_{2}}{{u}_{2}}u_{2}^{T}+...+{{\theta }_{n}}{{u}_{n}}u_{n}^{T})x y=UgθUTx=(θ1u1u1T+θ2u2u2T+...+θnununT)x
    核: u 1 u 1 T , . . . , u n u n T {{u}_{1}}u_{1}^{T},...,{{u}_{n}}u_{n}^{T} u1u1T,...,ununT
    核参数: θ 1 , . . . , θ n {{\theta }_{1}},...,{{\theta }_{n}} θ1,...,θn

  • ChebNet
    y = ( θ 0 I + θ 1 L + θ 2 L 2 + . . . + θ K − 1 L K − 1 ) x y=({{\theta }_{0}}I+{{\theta }_{1}}L+{{\theta }_{2}}{{L}^{2}}+...+{{\theta }_{K-1}}{{L}^{K-1}})x y=(θ0I+θ1L+θ2L2+...+θK1LK1)x

  • GCN
    y = θ ( I − L ) x y=\theta (I-L)x y=θ(IL)x

为什么参数较少的GCN性能优于ChebyNet?

6.3 图信号处理:滤波器

6.3.1 平滑程度

一个信号的平滑度是由特征向量的特征值决定的:
x T L x = ∑ ( u , v ) ∈ E A u v ( x u d u − x v d v ) 2 {{x}^{T}}Lx=\sum\limits_{(u,v)\in E}{{{A}_{uv}}}{{(\frac{{{x}_{u}}}{\sqrt{{{d}_{u}}}}-\frac{{{x}_{v}}}{\sqrt{{{d}_{v}}}})}^{2}} xTLx=(u,v)EAuv(du xudv xv)2

λ i = u i T L u i {{\lambda }_{i}}=u_{i}^{T}L{{u}_{i}} λi=uiTLui可以视为 u i u_i ui的频率

6.3.2 滤波器

  • u i u i T {u}_{i}{u_{i}^{T}} uiuiT是一组基本的过滤器
  • 对于一个图信号 x x x,滤波器只允许频率为 λ i {\lambda }_i λi的成分通过

6.3.3 组合滤波器:高通和低通

组合滤波器

  • 基本滤波器的线性组合
    θ 1 u 1 u 1 T + θ 2 u 2 u 2 T + . . . + θ n u n u n T {{\theta }_{1}}{{u}_{1}}u_{1}^{T}+{{\theta }_{2}}{{u}_{2}}u_{2}^{T}+...+{{\theta }_{n}}{{u}_{n}}u_{n}^{T} θ1u1u1T+θ2u2u2T+...+θnununT
  • L k L^k Lk是带系数 { λ i k } i = 1 n \{\lambda _{i}^{k}\}_{i=1}^{n} {λik}i=1n的组合滤波器,ChebyNet方法中,频率越高, λ \lambda λ越大,赋的权重越大。
  • L k L^k Lk给高频信号分配高权重,是一个高通滤波器。

GCN
GCN只考虑 k = 0 k=0 k=0 k = 1 k=1 k=1,避免高频基本滤波器的boosting效应:

  • 表现为一个低通组合滤波器
  • 解释了为什么GCN比ChebyNet表现更好

6.4 GraphHeat

6.4.1 低通组合过滤器

  • { e − s k L e^{-skL} eskL},其中 s s s是缩放参数, k k k是阶层
  • { e − s L e^{-sL} esL}是图中的heat kernel,通过图上的热扩散来定义节点之间的相似性
    e − s L = U e − s Λ U T , Λ = d i a g ( λ 1 , λ 2 , . . . , λ n ) {{e}^{-sL}}=U{{e}^{-s\Lambda }}{{U}^{T}},\Lambda =diag({{\lambda }_{1}},{{\lambda }_{2}},...,{{\lambda }_{n}}) esL=UesΛUT,Λ=diag(λ1,λ2,...,λn)
    -带系数 e − s λ i {e^{-s\lambda_i}} esλi的基础滤波器 u i u i T ( 1 ≤ i ≤ n ) {{u}_{i}}u_{i}^{T}(1\le i\le n) uiuiT(1in)用来抑制高频信号

6.4.2 GraphHeat vs. 基线方法

信号滤波的角度:

  • 谱方法:均匀(uniform)滤波器
  • ChebyNet是一个高通滤波器
  • GCN是对ChebyNet的低阶近似
  • GraphHeat是一个低通滤波器
    在这里插入图片描述
    选择邻居的角度:
  • GCN和ChebyNet根据距离中心节点的跳数来确定邻域,即顺序式
    不同颜色的节点
  • GraphHeat根据图上的热扩散相似性函数来确定邻域
    不同圈内的节点
    在这里插入图片描述

七、Graph Pooling

7.1 图粗化(Graph coarsening)

将节点聚类,将每个类作为超节点,再将超节点合并,逐步缩小图的大小
在这里插入图片描述- 节点合并可以事先进行,也可以在图卷积神经网络的训练过程中进行,例如:DiffPooling

Ying, R., You, J., Morris, C., Ren, X., Hamilton, W. L., and Leskovec, J. Hierarchical graph representation learning with differentiable pooling, NeuraIPS 2018

7.2 节点选择(node selection)

学习一个可以量化节点的重要性的度量方法,并根据学习到的度量选择能代表网络的节点。
在这里插入图片描述

J. Lee, I. Lee, J. Kang. Self-attention Graph Pooling, ICML 2019

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值