本文是清华大学刘知远老师团队出版的图神经网络书籍《Introduction to Graph Neural Networks》的部分内容翻译和阅读笔记。个人翻译难免有缺陷敬请指出,如需转载请联系翻译作者
作者:Riroaki
原文:https://zhuanlan.zhihu.com/p/147575684
目录
往期文章传送门
HIGHWAY GCN
JUMP KNOWLEDGE NETWORK
DEEPGCNs
往期文章传送门
图神经网络入门(一)GCN 图卷积网络
图神经网络入门(二)GRN 图循环网络
图神经网络入门(三)GAT 图注意力网络
实验证明,在基础图神经网络上通过堆叠更多的层来优化效果是不可行的:这主要是因为更多的层也可以从成倍增加的扩展邻域成员中传播噪声信息。为了增加深度,一个很自然的想法就是使用残差连接(Residual Connection),但是实验发现使用了残差连接的深层 GCN 在大多数数据集上并不比两层的 GCN 强。
![90657fdf4076ab4de602b5d1535e8c2b.png](https://i-blog.csdnimg.cn/blog_migrate/83b47c1754f7e40ae8b15c5c82aa9b83.png)
HIGHWAY GCN
H-GCN 的思想来自于 Highway Network,使用了层级的门控:
![186b3824d60491482362f0cb40740942.png](https://i-blog.csdnimg.cn/blog_migrate/5f7619ff7655e43980097a1df03c0321.png)
门控可以使网络从新的和旧的隐藏状态中进行选择。因此,将早期隐藏状态传播到最终状态也是有可能的。在实验中模型性能在四层达到峰值,继续添加层带来的变化不大。
Pham 等人提出的列网络(Column Netwok,CLN)也使用了 Highway Network 结构,但是它在门控的计算上有所区别,是根据特定任务选择的。
补充:
关于 Highway Network(https://arxiv.org/pdf/1505.00387.pdf),特点在于残差连接,计算过程为:
其中,T 和 C 为门控,为了简便可以取 C=1-T,1 表示和 T 一样维度的全 1 向量。
形式上来看,有点类似 RNN 的门控,一部分输入可以直达下一层,从而可以简单的训练非常深度的网络。
至于其和 ResNet 中的 residual 之间的区别和联系,HN 是比 ResNet 更复杂的残差连接,从时间上讲也是 HN 更早。但是如果采用了 C=1-T 的约束,那么模型的解空间就无法包含 ResNet 的连接…… 相比起来简单还 work 的 ResNet 或许更胜一筹?(为什么会变成这样呢,明明是我先来的……)
JUMP KNOWLEDGE NETWORK
有工作提出不同节点可能需要不同的接受域来学习更好的表示。例如,一个图中的中心节点连接的感受域节点数量随着层数增加会指数增长,这意味着学习更多的噪声,并使得表示更平滑(没有特点)。而对于较为边缘的节点,即使拓展其感受域,它的邻居还是很少。
所谓不患寡而患不均嘛。
于是就提出了跳跃知识网络(JKN)可以学习自适应的结构感知表示。JKN 从最后一层的每个节点的所有中间表示(“跳到最后一层”)中选择,这使每个节点都可以根据需要选择有效的邻域大小。在实验中使用了拼接、最大池化和 LSTM 注意三种方法来汇总信息。模型结构示意图如下:
![84a6b238eed6162897e1c6e59dfc59f2.png](https://i-blog.csdnimg.cn/blog_migrate/a0ddc5b652df1d93196ce5b685f7124e.png)
这一模型思路简单,在社交,生物信息学和引文网络的实验中表现良好。它也可以与 GCN,GraphSAGE 和 GAT 之类的模型组合以提高其性能。
DEEPGCNs
这里才终于可以看到 ResNet 的身影。DeepGCN 使用了 ResNet 的残差连接以及 DenseNet 的 dense 连接解决梯度消失的问题,以及使用空洞卷积(dilated convolutions)来解决过度平滑(over smoothing)的问题。下面我们看它是如何演化的:
首先是最简单的 GCN。层的传播为:
其中 为卷积, 为第 层的权重。
接下来介绍的是使用了残差连接的 ResGCN,层传播为:
这倒也挺直觉的——就是加了一个残差连接嘛。
然后对于 DenseGCN,层传播为:
其中, 为拼接操作;这使得 的维度随着层数增加而线性增长。下图为三种模型结构的比较:
![24bd74a40e9011bf61c8369dccd103b3.png](https://i-blog.csdnimg.cn/blog_migrate/5a5a6af972498a14c778b749f84de083.png)
更进一步,使用空洞卷积来解决过度平滑的问题。所谓空洞卷积,就是在有间隔的采样卷积。这里的空洞卷积是指对节点邻域的选择性采样——通过预设方法(可以理解为按照和当前节点的距离排序)对当前节点的邻居节点进行排序,然后每隔一定间隔选取邻居节点用于卷积采样。采样过程如下图所示,分别取采样间隔为 1,2,3:
![afd89b81c211bd307e33af5fcd9aaf95.png](https://i-blog.csdnimg.cn/blog_migrate/ff67e0c850c1b0fdea6b9758f44656aa.png)
通过将空洞卷积引入 ResGCN 和 DenseGCN,实现了较好的效果,并且层数可达 56 层(!)。
补充:
关于 DenseNet 和 ResNet,简单的理解是 ResNet 在层与层间建立残差连接,而 DenseNet 采用了更激进的方案:在所有层之间建立前后连接,也就是每一个层都会接受来自前面所有层的输入;互相连接的层构成一个 dense block。这就使得整个网络的连接非常稠密(dense)了……具体模型设计请参考论文:
https://arxiv.org/pdf/1512.03385.pdf
https://arxiv.org/pdf/1608.06993.pdf
关于空洞卷积,我参考了以下问题:
如何理解空洞卷积(dilated convolution)?
(https://www.zhihu.com/question/54149221)
后记
残差连接和空洞卷积都是 CV 中搬运而来的思想,甚至最初的图卷积也是受到 CNN 启发的工作,GAT 和 GRN 之类的基本结构概念又来自 NLP 的 transfomer 和 RNN,大抵是技术互相融合的体现吧。