《Semi-Supervised Classification With Graph Convolutional Networks》阅读笔记

论文地址Semi-Supervised Classification with Graph Convolutional Networks

图半监督学习:指图上只有部分样本(节点)有标签,这些样本通过边进行标签传播以标记那些没有标签的样本。

文章主要贡献:作者基于谱图卷积的1阶近似提出了图卷积神经网络,该方法在大图上高效的完成图上的节点半监督分类任务。

理论基础:谱图卷积

注:作者文中使用的是无向图

假设图信号为 x ∈ R N x \in \mathbb{R}^{N} xRN,滤波器 g θ = diag ⁡ ( θ ) g_{\theta}=\operatorname{diag}(\theta) gθ=diag(θ) θ \theta θ参数化,则图信号上的卷积可以定义为:
g θ ⋆ x = U g θ U ⊤ x (1) g_{\theta} \star x=U g_{\theta} U^{\top} x \tag{1} gθx=UgθUx(1)
其中 U U U是正则化的拉普拉斯矩阵的特征向量矩阵,图的拉普拉斯矩阵的正则化为:
L = D − 1 / 2 ( D − A ) D − 1 / 2 = I N − D − 1 / 2 A D − 1 / 2 (2) \begin{aligned} L & = D^{-1/2}(D - A)D^{-1/2} \\ & = I_N - D^{-1/2}AD^{-1/2} \end{aligned} \tag{2} L=D1/2(DA)D1/2=IND1/2AD1/2(2)
其中 D − A D - A DA为未正则化的拉普拉斯矩阵, D D D为图的度矩阵, A A A是图的邻接矩阵。无向图上的拉普拉斯矩阵是一个实对称半正定矩阵,基于此,图的拉普拉斯矩阵可以分解为:
L = U Λ U ⊤ (3) L = U \Lambda U^{\top} \tag{3} L=UΛU(3)
其中 Λ \Lambda Λ是拉普拉斯矩阵的特征值组成的对角阵。 L L L的特征向量可以构成一个正交空间,即:
U T U = I (4) U^T U = I \tag{4} UTU=I(4)
基于上述介绍,公式(1)中的 U g θ Ug_{\theta} Ugθ U T x U^Tx UTx可以看作将滤波器和图信号在正则化的图拉普拉斯矩阵的特征向量张成的特征空间中的投影。而 g θ g_\theta gθ可以看作 L L L的特征值的函数 g θ ( Λ ) g_{\theta}(\Lambda) gθ(Λ)。因此,图谱卷积即先将图信号和滤波器投影到图的谱域,然后进行卷积操作

但是公式(1)的计算代价非常高,特征值分解的复杂度为 O ( N 3 ) O(N^3) O(N3) 。因此一般都不会直接使用特征分解,而是对 g θ ( Λ ) g_{\theta}(\Lambda) gθ(Λ)进行估计,在本文中便是使用切比雪夫多项式来对其进行估计,即:
g θ ′ ⋆ x ≈ ∑ k = 0 K θ k ′ T k ( L ~ ) x (5) g_{\theta^{\prime}} \star x \approx \sum_{k=0}^{K} \theta_{k}^{\prime} T_{k}(\tilde{L}) x \tag{5} gθxk=0KθkTk(L~)x(5)
其中 L ~ = 2 λ max ⁡ L − I N \tilde{L}=\frac{2}{\lambda_{\max }} L-I_{N} L~=λmax2LIN λ m a x \lambda_{max} λmax表示 L L L最大的特征值), T k ( L ^ ) T_k(\hat{L}) Tk(L^)代表切比雪夫多项式。

作者假设 K = 1 , λ m a x = 2 , θ = θ 0 ′ = − θ 1 ′ K = 1, \lambda_{max} = 2, \theta = \theta'_{0} = - \theta'_{1} K=1,λmax=2,θ=θ0=θ1,公式(5)可以简写为:
g θ ′ ⋆ x ≈ θ 0 ′ x + θ 1 ′ ( L − I N ) x = θ 0 ′ x − θ 1 ′ D − 1 2 A D − 1 2 x = θ ( I N + D − 1 2 A D − 1 2 ) x (6) \begin{aligned} g_{\theta^{\prime}} \star x &\approx \theta_{0}^{\prime} x+\theta_{1}^{\prime}\left(L-I_{N}\right) x \\ &=\theta_{0}^{\prime} x-\theta_{1}^{\prime} D^{-\frac{1}{2}} A D^{-\frac{1}{2}} x \\ &= \theta\left(I_{N}+D^{-\frac{1}{2}} A D^{-\frac{1}{2}}\right) x \end{aligned} \tag{6} gθxθ0x+θ1(LIN)x=θ0xθ1D21AD21x=θ(IN+D21AD21)x(6)
此外,作者使用了一个renormalization trick I N + D − 1 2 A D − 1 2 → D ~ − 1 2 A ~ D ~ − 1 2 I_{N}+D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \rightarrow \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} IN+D21AD21D~21A~D~21,其中 A ~ = A + I N \tilde{A}=A+I_{N} A~=A+IN D ~ i i = ∑ j A ~ i j \tilde{D}_{i i}=\sum_{j} \tilde{A}_{i j} D~ii=jA~ij。将该定义泛化到矩阵模式,设图信号矩阵为 X ∈ R N × C X \in \mathbb{R}^{N \times C} XRN×C,则滤波器在图信号 X X X的卷积为:
Z = D ~ − 1 2 A ~ D ~ − 1 2 X Θ (7) Z=\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} X \Theta \tag{7} Z=D~21A~D~21XΘ(7)

其中 Θ \Theta Θ 表示滤波参数。

GCN模型

基于谱图卷积,作者设计了一个2层的GCN模型用于半监督节点分类任务,其形式化定义为:
Z = f ( X , A ) = softmax ( A ^  ReLU ( A X W ( 0 ) ^ ) W ( 1 ) ) (8) Z = f(X,A) = \text{softmax}(\hat{A} \text{ ReLU}(\hat{AXW^{(0)}})W^{(1)}) \tag{8} Z=f(X,A)=softmax(A^ ReLU(AXW(0)^)W(1))(8)
其中 W ( 0 ) W^{(0)} W(0) W ( 1 ) W^{(1)} W(1)分别表示第一层和第二层的权重参数。作者使用交叉熵损失函数来进行模型的优化。下图是2层GCN模型的可视化,以及在Cora数据集上隐藏层表示的t-SNE降维可视化结果。

gcn_model

实验部分

作者测评的数据集总结如下:

dataset

注:Label rate表示有标签的节点在图中的占比

与其它模型的性能比较结果如下所示,从结果可以看出GCN的性能超过其它模型一截。

performance

结语

以上便是本文的全部内容,要是觉得不错的话,可以点个赞或关注一下博主,你们的支持是博主进步的不竭动力,当然要是有问题的话也敬请批评指正!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斯曦巍峨

码文不易,有条件的可以支持一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值