万字长文带你入门 GCN( 十 )


本文插图
「可以看到节点的特征变成了其邻居的特征之和!」
但这边也就一些小问题:

  1. 这种传播过程没有考虑节点自身的特征;
  2. 度的大节点特征值会越来越大 , 度小的节点特征值会越来越小 , 传播过程对特征的尺度敏感 。
为了解决这个问题 , 我们需要:
  1. 加一个单位矩阵 , 考虑自环路;
  2. 将邻接矩阵 A 与度矩阵 D 的逆相乘对特征进行归一化 。
我们先看下加上单位矩阵的效果:
万字长文带你入门 GCN
本文插图
可以看到 , 加上单位矩阵的计算考虑了节点的特征 。
再看下邻接矩阵归一化的效果:
万字长文带你入门 GCN
本文插图
邻接矩阵被归一化到 0 到 1 之间 。
我们将两个放在一起 , 并考虑参数矩阵 W:
所以我们有:
万字长文带你入门 GCN
本文插图
以上便完成了 GCN 的简单仿真 。
我们回过头来再来看一下网络的传播规则:
万字长文带你入门 GCN
本文插图
现在是不是更能明白为什么这么传播了?
这里解释一下归一化为什么是两边乘上矩阵的 -1/2 次方 。
这是因为对称归一化的拉普拉斯矩阵其元素定义为:
万字长文带你入门 GCN
本文插图
我们仿真模拟的是用加权求和取平均的方式来聚合 , 而作者采用的是拉普拉斯变换 。 我这边做一个化简大家可能个就会明白了:
万字长文带你入门 GCN
本文插图
区别于加权求和取平均的方式 , 拉普拉斯变换不但考虑当前节点的 i 的度 , 还考虑其他节点 j 的度 。
Conclusion
GCN 的入门文章就介绍完了 , 大致思路为:CNN 中的卷积无法直接应用于网络图中 , 所以引出了图信号处理(Graph Signal Processing)中的 Graph Fourier Transformation , 进而定义 Graph Convolution , 最后结合深度学习发展出来 GCN 。
Reference
  1. 《Graph Convolutional Networks in 3 Minutes》
  2. 《如何理解卷积神经网络中的权值共享?》
  3. 《HIERARCHICAL DEEP LEARNING ARCHITECTURE FOR 10K OBJECTS CLASSIFICATION》
  4. 《Introduction to Graph Signal Processing》
  5. 《Fourier series》
  6. 《Fourier Series Graph Interactive》
  7. 《Hilbert space》
  8. 《Laplace operator》
  9. 《如何理解 GCN?- Johnny Richards的回答》
  10. 《图拉普拉斯算子为何定义为D-W》
  11. 《图卷积神经网络理论基础》
  12. 《如何理解 GCN?- superbrother的回答》
  13. 《Fourier transform》
  14. 《Convolution》
  15. 《Convolution theorem》
  16. 《Spectral Networks and Deep Locally Connected Networks on Graphs》
  17. 《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》
  18. 《Semi-supervised Classification with Graph Convolutional Networks》


    推荐阅读