jsp中怎么取li中的值_解读三种经典GCN中的Parameter Sharing

51decd2c8b8f9c3ee3423155f98e59d0.png

Parameter Sharing对于卷积运算来讲也是至关重要,因为如何sharing直接决定了参数的数量。在GCN可能更尤为重要了,因为graph上每个顶点的度都不一样,所以不能按照CNN的方式来进行sharing。

这里介绍三种目前较为流行的GCN模型。

1 Defferrard, M., Bresson, X., & Vandergheynst, P. (2016)

这里的GCN运算可以写成如下公式:

公式中符号的定义与我之前的回答(如何理解 Graph Convolutional Network(GCN)?)保持一致,并且我推导了以上的运算等价于:

很明显

是可学习的参数,可以看到
保持一致,我们知道
对应着
阶neighbor,这意味着在同阶的邻居上参数共享(可以学习的参数相同),不同阶的邻居上参数不共享(可以学习的参数不同)。

举个例子,具体信息还是同(如何理解 Graph Convolutional Network(GCN)?)

在下图的graph上我们取

的卷积核,结果如下所示:

1eeace1cf66b0ecd57b86a2a1e60f58b.png
graph示意图
  • 卷积核(K=1)

  • 卷积核(K=2)

  • 卷积核(K=3)

我们可以看到,当

,只有一个参数,即所有顶点自身的特征都由共享的
控制,更高阶的neighbor也没有参与运算。

,可以注意到所有一阶neighbor上学习的卷积系数都由
控制。

,所有二阶neighbor上学习的卷积系数都仅由
控制。

上述的例子与我们前面的分析完全相同。

特别地,如果利用Chebyshev多项式作为卷积核,参数共享方式和上述的内容完全一致,区别只是在于参数前的系数不同。Chebyshev多项式的相关内容可以参考如下的文章。

superbrother:Chebyshev多项式作为GCN卷积核​zhuanlan.zhihu.com
431b310072a1a53acd993e610ad5d9fe.png

总结一下优缺点:

优点:

  • 这样的共享方式是有“物理意义”的,因为我们知道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 you​authors.elsevier.com

Zhang, 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一鸣惊人,其运算公式如下:

其中

是graph的邻接矩阵,
是为了实现self-accessible,
中每个顶点的度矩阵。

运算

是为了对
进行归一化,防止在运算中出现数值不稳定的情况。

这个版本中,记

,这个运算可以理解为实现了空间信息的聚合,类似于下图。其中第0层的输入,是原始的特征,以后每增加一层,就会多聚合一阶neighbor上的信息(
层就对每个顶点融合了
阶邻域的信息)。

1e700a03ced9513ed4c0035693aa84a3.png
空间信息的聚合示意

很显然模型可学习的参数是

进行了线性变换,我个人认为是实现了feature augment。也就是说模型在每一层共享了用于特征增强的参数变化矩阵。矩阵
的两个维度分别是 (
的第二个维度,根据特征增强需要设计的维度(是超参数))。很显然,这个矩阵维度与顶点数目或者每个顶点的度无关,于是说这是一个在同层内顶点上共享的参数矩阵。

总结一下优缺点:

优点:

  • 这样的共享方式,
    的维度是可以进行调节的,与顶点的数目无关,使得模型可以用于大规模的graph数据集。另一方面这个模型可以完成图结构train在test上不一样的任务。

缺点:

  • 这个模型对于同阶的邻域上分配给不同的邻居的权重是完全相同的(也就是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 dependencies​sciencedirect.xilesou.top

我使用的GCN其实是一种不共享参数的形式,其计算具体如下:

是为了构建一个
阶可达的类邻接矩阵,
是归一化的算子,防止出现数值不稳定的情况。
是一个和graph邻接矩阵维度相同的参数矩阵。

是一个逐位乘法,其作用相当于添加了一个mask矩阵,使得参数矩阵只在
阶neighbor的位置上有参数,其余位置均为0。

如果想直接感受一下,这是一种什么样的运算,可以在CNN上这样类比:

df06333826af24507097f5a9bd90454f.gif
CNN卷积核共享

756c1a45349ec9afc0d43fabca14e76a.png
CNN参数不共享示意

这里的实现就相当于后者。

(更详细的对比可以参考我的另一个回答如何理解卷积神经网络中的权值共享?)

总结一下优缺点:

优点:

  • 这样的共享方式,在规模较小的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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值