图卷积神经网络(GCN)

背景

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

模型

给定一个过滤器 f θ = d i a g ( θ ) {f_{\bf{\theta }}} = {\rm{diag}}({\bf{\theta }}) fθ=diag(θ) ,考虑信号 x ∈ R d {\bf{x}} \in {\mathbb{R}^d} xRd ,并且 θ ∈ R d {\bf{\theta }} \in {\mathbb{R}^d} θRd d d d 表示向量的纬度。在图上的光谱卷积被定义为
f θ ∗ x = M f θ M T x {f_{\bf{\theta }}} * {\bf{x}} = {\bf{M}}{f_{\bf{\theta }}}{{\bf{M}}^{\rm{T}}}{\bf{x}} fθx=MfθMTx
M {\bf{M}} M是归一图拉普拉斯的特征向量矩阵。归一化的图拉普拉斯被表示为
L = I − D − 1 2 A D − 1 2 = M Λ M T {\bf{L}} = {\bf{I}} - {{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}} = {\bf{M}}\Lambda {{\bf{M}}^{\rm{T}}} L=ID21AD21=MΛMT
Λ \Lambda Λ表示特征值的对角矩阵, M T x {{\bf{M}}^{\rm{T}}}{\bf{x}} MTx是信号 x {\bf{x}} x的傅里叶域。

f θ ( Λ ) {f_{\bf{\theta }}}(\Lambda ) fθ(Λ)由于计算 L {\bf{L}} L的特征分解花费的计算资源是比较昂贵的,为解决这个问题,可以对 f θ ( Λ ) {f_{\bf{\theta }}}(\Lambda ) fθ(Λ) 进行近似操作,近似后,被定义为:
f θ ′ ( Λ ) ≈ ∑ k = 0 K θ ′ k C k ( Λ ~ ) {f_{{\bf{\theta '}}}}(\Lambda ) \approx \sum\limits_{k = 0}^K {{{\theta '}_k}{{\rm{C}}_k}(\tilde \Lambda )} fθ(Λ)k=0KθkCk(Λ~)
θ ′ ∈ R K {\bf{\theta '}} \in {\mathbb{R}^K} θRK 是一个切比雪夫系数组成的向量。 C k ( ⋅ ) {{\rm{C}}_k}( \cdot ) Ck()被定义为:
C k ( x ) = 2 x C k − 1 ( x ) − C k − 2 ( x ) {{\rm{C}}_k}(x) = 2x{{\rm{C}}_{k - 1}}(x) - {{\rm{C}}_{k - 2}}(x) Ck(x)=2xCk1(x)Ck2(x)
其中, C 0 ( x ) = 1 {{\rm{C}}_0}(x) = 1 C0(x)=1 C 1 ( x ) = x {{\rm{C}}_1}(x) = x C1(x)=x

我们定义的过滤器 f θ ′ {f_{{\bf{\theta '}}}} fθ对于信号 x {\bf{x}} x的卷积定义为:
f θ ′ ∗ x ≈ ∑ k = 0 K θ ′ k C k ( L ~ ) x {f_{{\bf{\theta '}}}} * {\bf{x}} \approx \sum\limits_{k = 0}^K {{{\theta '}_k}{{\rm{C}}_k}({\bf{\tilde L}})} {\bf{x}} fθxk=0KθkCk(L~)x
L ~ = 2 λ max ⁡ L − I {\bf{\tilde L}} = \frac{2}{{{\lambda _{\max }}}}{\bf{L}} - {\bf{I}} L~=λmax2LI。在GCN中 λ max ⁡ {\lambda _{\max }} λmax被近似等于2。
通过 λ max ⁡ {\lambda _{\max }} λmax 的近似操作,我们可以得到
L ~ = L − I {\bf{\tilde L}} = {\bf{L}} - {\bf{I}} L~=LI
所以可以得到
f θ ′ ∗ x ≈ θ 0 ′ x + θ 1 ′ ( L − I ) x = θ 0 ′ x − θ 1 ′ D − 1 2 A D − 1 2 x {f_{{\bf{\theta '}}}} * {\bf{x}} \approx {\theta '_0}{\bf{x}} + {\theta '_1}({\bf{L}} - {\bf{I}}){\bf{x}} = {\theta '_0}{\bf{x}} - {\theta '_1}{{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}}{\bf{x}} fθxθ0x+θ1(LI)x=θ0xθ1D21AD21x
为更好的对参数进行约束,因此可以重新表达为
f θ ′ ∗ x ≈ θ ( I + D − 1 2 A D − 1 2 ) x {f_{{\bf{\theta '}}}} * {\bf{x}} \approx \theta ({\bf{I}} + {{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}}){\bf{x}} fθxθ(I+D21AD21)x
值得注意的是 θ 0 ′ {\theta '_0} θ0,$ - {\theta '_1}$都可以被表达为 θ \theta θ 。为缓解梯度消失的问题,图卷积神经网络中引入一个重新归一化的技巧,将 I + D − 1 2 A D − 1 2 {\bf{I}} + {{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}} I+D21AD21 改写为 D ~ − 1 2 A ~ D ~ − 1 2 {{\bf{\tilde D}}^{ - \frac{1}{2}}}{\bf{\tilde A}}{{\bf{\tilde D}}^{ - \frac{1}{2}}} D~21A~D~21

Graph Convolution Neural Networks ,给定输入 G ( V , E ) {\mathcal G}({\mathcal V},{\mathcal E}) G(V,E),输入节点的特征表示为 x v {{\bf{x}}_v} xv, ∀ v ∈ V \forall v \in {\mathcal V} vV ∀ u ∈ N ( v ) \forall u \in {\mathcal N}(v) uN(v), 表示 v v v的邻接节点。我们重新初始化多维度的向量权重。特征矩阵被表示为 X {\bf{X}} X X ∈ R n × d {\bf{X}} \in {\mathcal{R}^{n \times d}} XRn×d 。对于无向图表示,我们使用 A {\bf{A}} A表示邻接矩阵的连接关系。其中, A ^ = D ~ − 1 2 A ~ D ~ − 1 2 {\bf{\hat A}} = {{\bf{\tilde D}}^{ - \frac{1}{2}}}{\bf{\tilde A}}{{\bf{\tilde D}}^{ - \frac{1}{2}}} A^=D~21A~D~21 ,${{\bf{\tilde D}}{ii}} = \sum\nolimits_j {{{{\bf{\tilde A}}}{ij}}} $ , A ~ = A + I {\bf{\tilde A}} = {\bf{A}} + {\bf{I}} A~=A+I。GCN在网络中信息的传播可以被表述为
H ( l + 1 ) = σ ( A ^ H ( l ) W ( l ) ) {{\bf{H}}^{(l + 1)}} = \sigma ({\bf{\hat A}}{{\bf{H}}^{(l)}}{{\bf{W}}^{(l)}}) H(l+1)=σ(A^H(l)W(l))
H ( 0 ) = X {{\bf{H}}^{(0)}} = {\bf{X}} H(0)=X σ ( ⋅ ) \sigma ( \cdot ) σ() 表示为ReLu激活函数。

图卷积神经网络通过局部一阶近似谱卷积得到一种新的卷积结构,这种卷积结构可以更好的学习节点特征的嵌入,并在引文网络和知识图谱的数据集中达到更优异的性能。在图卷积网络中,邻接矩阵与特征的卷积可在网络训练之前被计算,这样可以更少的引入网络的计算量。除此以外,图卷积网络使用全部样本计算梯度,因此可以使用全部邻域进行卷积。对于批量样本训练时,仅需要考虑部分邻域卷积。

代码

https://github.com/ChenaniahMe/codes/tree/main/GNN/comgcn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值