![51decd2c8b8f9c3ee3423155f98e59d0.png](https://i-blog.csdnimg.cn/blog_migrate/52ca0b4ad8fd73c7f205a9c32b876d89.png)
Parameter Sharing对于卷积运算来讲也是至关重要,因为如何sharing直接决定了参数的数量。在GCN可能更尤为重要了,因为graph上每个顶点的度都不一样,所以不能按照CNN的方式来进行sharing。
这里介绍三种目前较为流行的GCN模型。
1 Defferrard, M., Bresson, X., & Vandergheynst, P. (2016)
这里的GCN运算可以写成如下公式:
公式中符号的定义与我之前的回答(如何理解 Graph Convolutional Network(GCN)?)保持一致,并且我推导了以上的运算等价于:
很明显
举个例子,具体信息还是同(如何理解 Graph Convolutional Network(GCN)?)
在下图的graph上我们取
![1eeace1cf66b0ecd57b86a2a1e60f58b.png](https://i-blog.csdnimg.cn/blog_migrate/e0b8b4e2a60aa449e7eea776e41f4c8c.png)
- 卷积核(K=1)
- 卷积核(K=2)
- 卷积核(K=3)
我们可以看到,当
当
当
上述的例子与我们前面的分析完全相同。
特别地,如果利用Chebyshev多项式作为卷积核,参数共享方式和上述的内容完全一致,区别只是在于参数前的系数不同。Chebyshev多项式的相关内容可以参考如下的文章。
superbrother:Chebyshev多项式作为GCN卷积核zhuanlan.zhihu.com![431b310072a1a53acd993e610ad5d9fe.png](https://i-blog.csdnimg.cn/blog_migrate/29a65ada9d3691625de6240a47b3a9ec.jpeg)
总结一下优缺点:
优点:
- 这样的共享方式是有“物理意义”的,因为我们知道graph通常本身是有local stationary性质的。也就是说随着neighbor阶数的增加,顶点间的相关性递减(相当于距离近的邻域内相关性强)。这种共享方式,本质上可以很容易实现上述性质。
- 参数很少,如果是超大规模的图,可以利用这种方式。
缺点:
- 参数太少了,只有
个,使得模型无法很好地实现在同阶的邻域上分配不同的权重给不同的邻居(也就是GAT论文里说的 enable specifying different weights to different nodes in a neighborhood)
在我最近发表的一篇论文中:就是用这种GCN形式作为基于有限检测器的路网规模交通流量估计问题(一种特殊的时空矩阵填充问题)的baseline。既原文4.2节部分的CGMC模型,目前论文可以在12月27号前免费访问。感兴趣的朋友可以阅读如下的链接。
Please wait whilst we redirect youauthors.elsevier.comZhang, Z., Li, M., Lin, X., & Wang, Y. (2020). Network-wide traffic flow estimation with insufficient volume detection and crowdsourcing data.Transportation Research Part C: Emerging Technologies,121, 102870.
2 Kipf, T. N., & Welling, M. (2016)
作者的blog可谓让GCN一鸣惊人,其运算公式如下:
其中
运算
这个版本中,记
![1e700a03ced9513ed4c0035693aa84a3.png](https://i-blog.csdnimg.cn/blog_migrate/e013329f96fb305bbe6f71dbf26e2e70.jpeg)
很显然模型可学习的参数是
总结一下优缺点:
优点:
- 这样的共享方式,
缺点:
- 这个模型对于同阶的邻域上分配给不同的邻居的权重是完全相同的(也就是GAT论文里说的无法 enable specifying different weights to different nodes in a neighborhood)。这一点限制了模型对于空间信息的相关性的捕捉能力,这也是在很多任务上不如GAT的根本原因。
3 Zhang, Z., Li, M., Lin, X., Wang, Y., & He, F. (2019)
(这是我自己的一篇论文,感兴趣的朋友可以通过下面的链接查看。当然,这种运算模型也不是我提出的,在之前的论文中已有相似的内容)
Multistep speed prediction on traffic networks: A deep learning approach considering spatio-temporal dependenciessciencedirect.xilesou.top我使用的GCN其实是一种不共享参数的形式,其计算具体如下:
如果想直接感受一下,这是一种什么样的运算,可以在CNN上这样类比:
![df06333826af24507097f5a9bd90454f.gif](https://i-blog.csdnimg.cn/blog_migrate/661892e66c94272732cb8972e8c9985f.gif)
![756c1a45349ec9afc0d43fabca14e76a.png](https://i-blog.csdnimg.cn/blog_migrate/9ad2dcd3d878deb7cb3648901327d095.jpeg)
这里的实现就相当于后者。
(更详细的对比可以参考我的另一个回答如何理解卷积神经网络中的权值共享?)
总结一下优缺点:
优点:
- 这样的共享方式,在规模较小的graph数据集上极大地提高了对于空间相关性的刻画能力,可以实现对于任意的邻居分配任意的权重系数,也就是和GAT一样可以 enable specifying different weights to different nodes in a neighborhood。
- 学习完的参数矩阵具有可解释性,这一点和GAT的相关系数
类似,通过分析
对于模型刻画的空间相关性进行分析,然后再与真实的物理条件进行对比。我在论文中对于交通场景中的理解进行了较为细致的分析,大家感兴趣可以参考。
缺点:
- 参数量与图的规模有关,也就是说对于对于顶点数目为
的图,其参数量为
,可以想象在大规模的数据集上,内存很可能会溢出。当然也无法在train和test阶段graph结构不一样的任务上应用。
最后总结一句:如果要在小规模图数据上,实现具有可解释性的图卷积,那么这种方式值得一试!
参考文献:
Defferrard, M., Bresson, X., & Vandergheynst, P. (2016). Convolutional neural networks on graphs with fast localized spectral filtering. InAdvances in neural information processing systems(pp. 3844-3852).
Kipf, T. N., & Welling, M. (2016). Semi-supervised classification with graph convolutional networks.arXiv preprint arXiv:1609.02907.
如果这个回答对于大家的科研有帮助,希望可以引用我们的论文
Zhang, Z., Li, M., Lin, X., Wang, Y., & He, F. (2019). Multistep speed prediction on traffic networks: A deep learning approach considering spatio-temporal dependencies.Transportation Research Part C: Emerging Technologies,105, 297-322.