论文阅读笔记:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORK

arXiv:1609.02907v4

这篇论文笔记主要参考了

1.【GCN】论文笔记:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS
2. 机器学习论文笔记-Semi-Supervised Classification with Graph Convolutional Networks
3. 从CNN到GCN的联系与区别——GCN从入门到精(fang)通(qi)

0.补充知识

使用神经网络模型 f ( X , A ) f(X,A) f(X,A) 对所有带标签节点进行基于监督损失的训练。

  • X X X为输入数据
  • A A A是图 G = ( V , E ) G=(V,E) G=(V,E)的邻接矩阵
  • D D D是顶点的度矩阵(对角矩阵), D i i = ∑ j A i j D_{ii} = \sum_{j}A_{ij} Dii=jAij
  • (Laplacian 矩阵, Combinatorial Laplacian): L = D − A L = D - A L=DA
  • (Laplacian 矩阵, Symmetric normalized Laplacian): L s y s = D − 1 2 L D − 1 2 = I N − D − 1 2 A D − 1 2 L^{sys} = D^{-\frac{1}{2}} L D^{-\frac{1}{2}} = I_{N} - D^{-\frac{1}{2}} A D^{-\frac{1}{2}} Lsys=D21LD21=IND21AD21
  • (Laplacian 矩阵, Random walk normalized Laplacian): L = D − 1 L = I N − D − 1 A L = D^{-1} L = I_{N} - D^{-1} A L=D1L=IND1A

1.INTRODUCTION

图半监督学习的目标是,在给定的图结构的数据中,少部分节点是有标记的,大部分节点是未标记的,预测出未标记节点的标签。
经典的方法:

  • 基于平滑正则,即假设相邻的节点具有相似的label–[Zhu et al., 2003]: L = L 0 + λ L r e g \mathcal{L} = \mathcal{L}_0 + \lambda \mathcal{L}_{reg} L=L0+λLreg,
    L r e g = ∑ i , j A i j ∥ f ( X i ) − f ( X j ) ∥ 2 = f ( X ) T ( D − A ) f ( X ) \mathcal{L}_{reg} = \sum_{i,j} A_{ij}\| f(X_i) - f(X_j)\|^2 = f(X)^{T} \left( D - A \right) f(X) Lreg=i,jAijf(Xi)f(Xj)2=f(X)T(DA)f(X)

2.Graph中的快速卷积

图卷积网络(GCN)的每层表达式为
H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) H^{(l + 1)} = \sigma\left( \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)} \right) H(l+1)=σ(D~21A~D~21H(l)W(l))
其中

  • 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~i,i=jA~i,j
  • σ ( ⋅ ) \sigma(\cdot) σ()为激活函数
  • W ( l ) W^{(l)} W(l) 为学习参数

原始方法

定义谱方法的图卷积为
g θ ⋆ x = U g θ U T x g_{\theta} \star x = U g_{\theta} U^{T} x gθx=UgθUTx.
其中

  • g θ = d i a g ( θ ) , θ ∈ R N g_{\theta} = diag(\theta), \theta \in \mathbb{R}^{N} gθ=diag(θ),θRN
  • L = I N − D − 1 2 A D − 1 2 = U Λ U T L = I_{N} - D^{-\frac{1}{2}} A D^{-\frac{1}{2}} = U \Lambda U^{T} L=IND21AD21=UΛUT U U U L L L的特征向量,相应的 Λ \Lambda Λ为特征值的组成的对角阵,两者相互对应。

Chebyshev多项式逼近法

[Hammond et al., 2011]将 g θ ( Λ ) g_{\theta}(\Lambda) gθ(Λ)用Chebyshev多项式 T k ( x ) T_{k}(x) Tk(x)逼近:
g θ ′ ( Λ ) ≈ ∑ k = 0 K θ k ′ T k ( Λ ~ ) , Λ ~ = 2 λ m a x ( Λ ) Λ − I N g_{\theta^{'}}(\Lambda) \approx \sum_{k=0}^{K} \theta_{k}^{'} T_{k}( \tilde{\Lambda} ), \qquad \tilde{\Lambda} = \frac{2}{\lambda_{max}(\Lambda)} \Lambda - I_N gθ(Λ)k=0KθkTk(Λ~),Λ~=λmax(Λ)2ΛIN
因此得到Chebyshev多项式逼近图上谱卷积为:
g θ ′ ⋆ x ≈ U ( ∑ k = 0 K θ k ′ T k ( Λ ~ ) ) U T x = ∑ k = 0 K ( U θ k ′ T k ( Λ ~ ) U T ) x = ∑ k = 0 K θ k ′ T k ( U Λ ~ U T ) ) x = ∑ k = 0 K θ k ′ T k ( L ~ ) x \begin{aligned} g_{\theta^{'}} \star x & \approx U \left( \sum_{k=0}^{K} \theta_{k}^{'} T_{k}( \tilde{\Lambda} ) \right) U^T x \\ & = \sum_{k=0}^{K} \left( U \theta_{k}^{'} T_{k}( \tilde{\Lambda} ) U^T \right) x \\ & = \sum_{k=0}^{K} \theta_{k}^{'} T_{k}\left( U \tilde{\Lambda} U^T \right) ) x \\ & = \sum_{k=0}^{K} \theta_{k}^{'} T_{k}(\tilde{L}) x \end{aligned} gθxU(k=0KθkTk(Λ~))UTx=k=0K(UθkTk(Λ~)UT)x=k=0KθkTk(UΛ~UT))x=k=0KθkTk(L~)x
其中 L ~ = 2 λ m a x ( L ) L − I N \tilde{L} = \frac{2}{\lambda_{max}(L)} L - I_N L~=λmax(L)2LIN

Chebyshev多项式逼近法简化

如果取 λ m a x ≈ 2 \lambda_{max} \approx 2 λmax2则有 L ~ = L − I N \tilde{L} = L - I_N L~=LIN。Chebyshev多项式只取前两项,即 K = 1 K = 1 K=1
g θ ′ ⋆ x ≈ ( θ 0 ′ + θ 1 ′ ( L − I N ) ) x = ( θ 0 ′ − θ 1 ′ D − 1 2 A D − 1 2 ) x . \begin{aligned} g_{\theta^{'}} \star x & \approx \left( \theta_{0}^{'} + \theta_{1}^{'} (L - I_N) \right) x \\ & = \left( \theta_{0}^{'} - \theta_{1}^{'} D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \right) x \end{aligned}. gθx(θ0+θ1(LIN))x=(θ0θ1D21AD21)x.

单参数法

令参数 θ 0 ′ = − θ 1 ′ = θ \theta_{0}^{'} = - \theta_{1}^{'} = \theta θ0=θ1=θ,图上谱卷积又可以简化为
g θ ′ ⋆ x ≈ θ ( I N + D − 1 2 A D − 1 2 ) x g_{\theta^{'}} \star x \approx \theta \left( I_N + D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \right) x gθxθ(IN+D21AD21)x

注意 I N + D − 1 2 A D − 1 2 I_N + D^{-\frac{1}{2}} A D^{-\frac{1}{2}} IN+D21AD21拥有范围为 [ 0 , 2 ] [0,2] [0,2]的特征值,这将会导致数值不稳定性和梯度爆炸/消失。因此我们介绍下面的归一化技巧(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 , D ~ i , i = ∑ j A ~ i , j = ∑ j ( A i , j + ( I N ) i , j ) = D i , i + 1 \tilde{A}=A+I_N,\tilde{D}_{i,i} = \sum_{j}\tilde{A}_{i,j} = \sum_{j} \left( A_{i,j} + (I_N)_{i,j}\right) = D_{i,i} + 1 A~=A+IN,D~i,i=jA~i,j=j(Ai,j+(IN)i,j)=Di,i+1。上式展开为
I N + D − 1 2 A D − 1 2 → D ~ − 1 2 A ~ D ~ − 1 2 = ( D + I N ) − 1 2 ( A + I N ) ( D + I N ) − 1 2 = ( D + I N ) − 1 2 A ( D + I N ) − 1 2 + ( D + I N ) − 1 . \begin{aligned} I_N + D^{-\frac{1}{2}} A D^{-\frac{1}{2}} & \rightarrow \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} \\ & = (D + I_N)^{-\frac{1}{2}} (A+I_N) (D + I_N)^{-\frac{1}{2}} \\ & = (D + I_N)^{-\frac{1}{2}} A (D + I_N)^{-\frac{1}{2}} + (D + I_N)^{-1} \end{aligned}. IN+D21AD21D~21A~D~21=(D+IN)21(A+IN)(D+IN)21=(D+IN)21A(D+IN)21+(D+IN)1.

推广

输入 X ∈ R N × C X \in \mathbb{R}^{N \times C} XRN×C C C C为输入的通道数,经过滤波 Θ ∈ R C × F \Theta \in \mathbb{R}^{C \times F} ΘRC×F得到含有 F F F个通道的卷积后结果 Z ∈ R N × F Z \in \mathbb{R}^{N \times F} ZRN×F
Z = D ~ − 1 2 A ~ D ~ − 1 2 X Θ Z = \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} X \Theta Z=D~21A~D~21XΘ

3.半监督节点分类

图1
上图中,左(a)是一个GCN网络示意图,在输入层拥有 C C C个输入,中间有若干隐藏层,在输出层有 F F F个特征映射;图的结构(边用黑线表示)在层之间共享;标签用 Y i Y_i Yi表示。右(b)是一个两层GCN在Cora数据集上(使用了5%的标签)训练得到的隐藏层激活值的形象化表示,颜色表示文档类别。

考虑一个用于半监督图节点分类问题的两层GCN,邻接矩阵为 A A A(二进制/加权)。

预处理

计算 A ^ = D ~ − 1 2 A ~ D ~ − 1 2 \hat{A} = \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} A^=D~21A~D~21,模型则为:
Z = f ( X , A ) = s o f t m a x ( A ^ R e L U ( A ^ X W ( 0 ) ) W ( 1 ) ) Z = f(X, A) = softmax \left( \hat{A} ReLU \left( \hat{A} X W^{(0)} \right) W^{(1)} \right) Z=f(X,A)=softmax(A^ReLU(A^XW(0))W(1))

交叉熵

评估所有带标签的节点集 Y L \mathcal{Y}_L YL的交叉熵误差:
L = − ∑ l ∈ Y L ∑ f = 1 F Y l f ln ⁡ ( Z l f ) \mathcal{L} = - \sum_{l \in \mathcal{Y}_L} \sum_{f=1}^{F} Y_{lf} \ln (Z_{lf}) L=lYLf=1FYlfln(Zlf)

训练

网络中的权重 W ( 0 ) W^{(0)} W(0) W ( 1 ) W^{(1)} W(1)通过梯度下降训练。我们对每个【训练迭代】使用完整的数据集执行【批量梯度下降】,这是一个可行的选择,只要数据集适合内存。对于 A A A使用稀疏表示,即边数是线性的。通过Dropout引入训练过程中的随机性。我们将内存效率扩展与小批随机梯度下降留作以后的工作。

5.实验

  • 引文网络:半监督文档分类
  • 从知识图中提取的二分图:半监督实体分类

5.1数据集

图2

实验参数

  • 使用3.1节中的两层GCN网络
  • prediction accuracy:1000张带标签测试集
  • 对比实验:十层网络
  • 使用500张带标签验证集:超参数的初始化、所有层的dropout率、第一层的L2正则化因子、隐藏层单元的个数

引文网络数据集

  • 最大200迭代期
  • Adam算法
  • 学习率为0.01
  • 停止条件:验证集loss连续十个迭代期没有下降
  • 权重初始化方法:Xavier
  • (按行)对输入特征向量归一化

随机图数据集

  • 隐藏层32个单元
  • 省略dropout和L2正则化

6.结果

四个常用的数据集,三个citation networks和一个knowledge graphs,都取得了不错的效果。
图3
CPU和GPU上的训练时间:

图4
对比不同的卷积逼近方式,作者提出的归一化技巧(renormalization trick)这种方式优势明显,表现优异:
图5
模型深度对性能的影响,可以看出,3层左右的时候效果比较好。

图6

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值