[论文笔记]Simple and Deep Graph Convolutional Networks (GCNII) 原理

编程入门 行业动态 更新时间:2024-10-08 13:38:59

[论文笔记]Simple and Deep Graph Convolutional Networks (GCNII) <a href=https://www.elefans.com/category/jswz/34/1770123.html style=原理"/>

[论文笔记]Simple and Deep Graph Convolutional Networks (GCNII) 原理

GCNII Note

参考:

Paper: Simple and Deep Graph Convolutional Networks (arxiv)

【论文阅读笔记】Simple and Deep Graph Convolutional Networks - 程序员大本营 (pianshen)

Paper

Motivation
  • 目前大多数的GCN模型都是浅层的,如GCN,GAT模型都是在2层时取得最优效果,随着加深模型效果就会大幅度下降,经研究GCN随着模型层次加深会出现Over-Smoothing问题,Over-Smoothing既相邻的节点随着网络变深就会越来越相似,最后学习到的nodeembedding便无法区分。

  • 不管是更多层数或者添加非线性变换,都会导致模型的准确性降低,这种现象就被称作过度平滑(oner-smoothing)。即随着层数的增加,GCN节点的表示趋向于收敛到一个特定值,并因此难以区分。至于为什么会这样,一种比较合理的解释是:这些模型都可以看作是一些滤波器,而这些滤波器所模拟的lazy随机游走会最终收敛到一个稳定的向量,因而导致了无法区分出不同的节点。并且,高度节点由于从邻居获得更多的信息,所以更容易出现过平滑问题。

    而模型过浅,我们就无法从高阶邻居中提取信息了。

  • Quantitative Metric for Smoothness给Over-smoothness提出一个定量的指标$SVM_G $
    D ( x i , x j ) = 1 2 ∥ x i ∥ x i ∥ − x j ∥ x j ∥ ∥ , S V M i = 1 n − 1 ∑ j ∈ V , j ≠ i D ( x i , x j ) , S V M G = 1 n ∑ i ∈ V S V M i D(x_i,x_j)=\frac {1}{2}\lVert \frac{x_i}{\lVert x_i\rVert}-\frac{x_j}{\lVert x_j\rVert}\rVert,\\ SVM_i=\frac{1}{n-1}\sum_{j\in V, j\neq i}D(x_i,x_j),\\ SVM_G=\frac{1}{n}\sum_{i\in V}SVM_i D(xi​,xj​)=21​∥∥xi​∥xi​​−∥xj​∥xj​​∥,SVMi​=n−11​j∈V,j​=i∑​D(xi​,xj​),SVMG​=n1​i∈V∑​SVMi​
    S V M G SVM_G SVMG​衡量了图中任意两个节点之间的欧氏距离之和, S V M G SVM_G SVMG​越小表示图学习时Over-Smoothing越严重,当 S V M G = 0 SVM_G=0 SVMG​=0时,图中所有节点完全相同,也可以从图中看出随着层次的加深, S V M G SVM_G SVMG​的值越来越小。

  • 对于过平滑的研讨方向:

    1. 第一类大方向是沿着ResNet中的剩余连接以及图的正则化等方法进行扩展和思考。

      • skip-connection。一般是把当前层的结果和上一层的结果进行连接/拼接,这样,既可以保留之前的运算结果,又可以加速模型在训练过程中的收敛速度。
      • JKNet。保存每一层的运算结果,最后统一对所有层的结果进行一个连接,可以减轻过平滑问题。
      • DropEdge。训练时随机丢弃途中的一些边,是一种图数据增强的方法。
    2. 第二类大方向是浅层模型中的深度传播方法。

      • SGC试图通过在单个神经网络层中应用图卷积矩阵的 k 次幂来捕获图中的高阶信息。

      • PPNP和APPNP用自定义的PageRank矩阵代替图卷积矩阵的幂来解决过平滑问题。

      • GDC进一步扩展了APPNP,将自定义PageRank推广到任意图扩散过程。

        结合 deep propagation 和浅层网络,但是这些网络只是将每一层的相邻特征进行线性组合,丢失了深度非线性结构强大的表示能力;也就是说他们还是浅层网络。

    第一类方法确实是模型深度有了小幅提升,但是无法更深,还是存在过平滑的问题;第二类方法根本就没有加深模型深度,只是每一层深度传播去聚合更多的信息,也失去了深层模型的非线性结构。

Method
  • GCNII为了解决GCN在深层时出现的Over-Smoothing问题,提出了**Initial Residual(初始残差)Identit Mapping(恒等映射)**两个简单技巧,成功解决了GCN深层时的Over-Smoothing问题。
Initial Residual(初始残差)
  • 残差一直是解决Over-Smoothing的最常用的技巧之一,传统GCN加residual connection用公式表示为:
    H ( l + 1 ) = σ ( P ~ H ( l ) W ( l ) ) + H ( l ) H^{(l+1)}=\sigma(\tilde PH^{(l)}W^{(l)})+H^{(l)} H(l+1)=σ(P~H(l)W(l))+H(l)
    其中:

    P ~ = D ~ − 1 2 A ~ D ~ − 1 2 \tilde P=\tilde D^{-\frac {1}{2}}\tilde A \tilde D^{-\frac {1}{2}} P~=D~−21​A~D~−21​

    residual connection相当于每次聚合都从前一层获取信息,进行残差连接

    在计算机视觉中,ResNet通过残差结构解决了类似的问题,从而使得能够训练更深层的网络:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iet7rxDd-1634455924694)(GCNII_Note/ea804be82a549035c71bf58f61a2036b.png)]

  • GCNII Initial Residual不是从前一层获取信息,而是从初始层进行残差连接,并且设置了获取的权重。这里初始层initial representation不是原始输入feature,而是由输入feature经过线性变换后得到,如下公式所示:
    H ( 0 ) = f θ ( X ) , H ( l + 1 ) = σ ( ( ( 1 − α ) P ~ H ( l ) + α H ( 0 ) ) ( . . . ) ) (1) H^{(0)}=f_{\theta}(X),\\ H^{(l+1)}=\sigma(((1-\alpha)\tilde{P}H^{(l)}+\alpha H^{(0)})(...))\tag{1} H(0)=fθ​(X),H(l+1)=σ(((1−α)P~H(l)+αH(0))(...))(1)
    α = 0.1 或 0.2 \alpha=0.1或0.2 α=0.1或0.2

    但Initial Residual不是GCNII首次提出,而是ICLR 2019模型APPNP中提出。

  • 不过在GCN中添加残差结构仅仅能够减缓过度平滑现象,而非从根本上解决这个问题。因此2层以上的GCN模型依然面临的过拟合的问题。

Identit Mapping(恒等映射)
  • 仅仅使用残差只能缓解Over-Smoothing问题,因此GCNII借鉴了ResNet的思想有了Identity Mapping,Initial Residual的想法是在当前层representation和初始层representation之间进行权重选择,而Identity Mapping是在参数W和单位矩阵I之间设置权重选择,如下公式所示:
    H ( l + 1 ) = σ ( ( . . . ) ( ( 1 − β l ) I n + β l W ( l ) ) ) (2) H^{(l+1)}=\sigma((...)((1-\beta_l)I_n+\beta_l W^{(l)}))\tag{2} H(l+1)=σ((...)((1−βl​)In​+βl​W(l)))(2)
    β \beta β是为了确保权值矩阵的衰减随着我们堆叠更多层而自适应地增加。实践中设 β l = log ⁡ ( λ l + 1 ) ≈ λ l \beta_l=\log (\frac {\lambda}{l}+1)\approx \frac{\lambda}{l} βl​=log(lλ​+1)≈lλ​,其中 λ \lambda λ是超参,随着层数 l l l的增加,比例系数 β \beta β逐渐减小,代表着层数越深越接近恒等变换。

    恒等映射被证明在半监督学习当中很有用,可以从迭代收缩阈值算法中找到很好的理论动机。

  • GCNII论文中也给出了为什么Identity Mapping可以起到缓解Deep GNN出现Over-Smoothing问题,总结来说:Identity Mapping可以起到加快模型的收敛速度,减少有效信息的损失。

    • β \beta β逐渐变小,Deep GCNII逐渐忽略权重矩阵 W ( l ) W^{(l)} W(l),本质上模拟APPNP(式子(1))
    • 已经观察到,特征矩阵不同维度之间的频繁交互(Klicpera等人,2019a)降低了模型在半监督任务中的性能。映射平滑 P ~ H ( l ) \tilde{P}H^{(l)} P~H(l)的表示直接输出减少了这种相互作用。?
    • 对 W ( l ) W^{(l)} W(l)添加了小的正则化,避免了过拟合。在半监督任务中,恒等映射被证明是特别有用的(ResNet)。
    • (Oono & Suzuki, 2020) 理论证明了k层GCNs的节点特征将收敛到子空间并导致信息丢失,收敛速率依赖于 s K s^K sK,其中 s s s是矩阵 W ( l ) W^{(l)} W(l)的最大奇异值。 ( ( 1 − β l ) I n + β l W ( l ) ) ((1-\beta_l)I_n+\beta_l W^{(l)}) ((1−βl​)In​+βl​W(l))替代 W ( l ) W^{(l)} W(l),使得强迫 W ( l ) W^{(l)} W(l)逐渐变小。 ( ( 1 − β l ) I n + β l W ( l ) ) ((1-\beta_l)I_n+\beta_l W^{(l)}) ((1−βl​)In​+βl​W(l))的奇异值将接近于1, s s s也将接近于1, s K s^K sK变大,信息丢失减少。
Experiment
实验数据
  • 实验中Cora, Citeseer, Pubmed三个引文数据,是同质图数据,常用于Transductive Learning类任务,三种数据都由以下八个文件组成,存储格式类似:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9TO4SeJ-1634455924696)(GCNII_Note/image-20211006113732817.png)]

    同质图:同质(Homogeneity)图指的是图中的节点类型和关系类型都仅有一种。

    异质图:异质(heterogeneous)图指的是图中的节点类型或关系类型多于一种。

    属性图:在异质图基础上增加了额外的属性信息。

实验结果
  • 实验结果在Cora, citeseer, pubmed三个数据上都进行DeepGNN测试,测试结果可以看出随着网络层级的加深,模型不仅没有像传统GNN出现Over-Smoothing而效果下降,反而模型效果随着深度增加而不断提升,解决了传统DeepGNN存在的Over-Smoothing问题。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pm1UT9kq-1634455924697)(GCNII_Note/image-20211006113825500.png)]

Conclusion

型效果随着深度增加而不断提升,解决了传统DeepGNN存在的Over-Smoothing问题。

[外链图片转存中…(img-pm1UT9kq-1634455924697)]

Conclusion
  • 作者提出了未来方向:将GCNII与注意力(attention)机制相结合。

更多推荐

[论文笔记]Simple and Deep Graph Convolutional Networks (GCNII) 原理

本文发布于:2024-03-14 09:38:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736188.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:原理   笔记   论文   Simple   GCNII

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!