Press "Enter" to skip to content

带你换个角度理解图卷积网络

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

摘要: 本文带大家从另一个角度来理解和认识图卷积网络的概念。

 

本文分享自华为云社区《 技术综述十二:图网络的基本概念 》,原文作者:一笑倾城。

 

基础概念

 

笔者认为,图的核心思想是学习一个函数映射f(.) f (.),借助该映射,图中的节点可以聚合自己的特征与邻居节点的特征,从而生成该节点的新特征表示。

 

 

Figure 1. 图的一般推理过程[1]

 

图神经网络 Vs. 卷积神经网络

 

如图2所示,卷积神经网络的输入数据一般是规则的矩阵类型数据,例如图片。每个节点和其它节点的空间关系是固定的。而图神经网络的输入数据一般表现为不规则的拓扑结构,节点与节点的关系非常复杂,节点间的空间关系一般不做约束,节点间是否存在连接以及连接的数量不做约束。复杂的网络还涉及到连接的方向和子图等概念。

 

 

Figure 2. 图网络和卷积网络[1]

 

如图3所示,如果将图的每个节点等价视为图像中的每个像素,其实,图的工作过程可以类比CV中的经典问题:semantic segmentation。

 

 

Figure 3. semantic segmentation[2]

 

图的基础组件及其实现

 

图在工作过程中,主要需要处理的问题有两个,一个是节点信息的提炼方式;另一个是邻近节点的搜索方式。整理如下:

 

邻近节点的搜索方式:

每个节点考虑全部其它节点
基于欧氏距离,只搜索近邻N个节点

节点信息的提炼方式:

MLP+Max Pooling直接进行特征融合
基于attention,对周边节点进行加权平均

 

    1. 普通attention

 

    1. Self- (Bert/Transformer)

 

 

其中,邻近节点的搜索方式有两种,基于Bert作为图卷积网络的方案,一般是全部节点统一输入,每个节点在进行self-attention时,统一考虑其它节点,因此,可以视为全局搜索,典型的样例是LayoutLM。而基于某种距离度量搜索邻近的节点的方式, 一般来说更加注重局部信息。可以依据特定任务进行一些定制化的距离设计。缺点是过于注重局部信息,不能让图网络充分发挥能力。

 

另一方面是节点信息的提炼方式,简单的方法就是直接对相邻节点做1\times11×1卷积,再进行max pooling。目前更流行的方法是基于attention,普通attention,如图4所示,输入特征一般由中心节点特征t_i ti ​和相邻节点t_j tj ​,以及彼此的距离等信息拼接而成,考虑周围32个节点,则生成32个特征,并在此基础上计算权重向量\alpha_i αi ​,得到这32个特征向量的权重,再进行加权和,得到节点i i 的新特征表达t’_i ti ′​。基于self-attention的方法工作机制类似。

 

 

Figure 4. 图节点信息的提炼过程

 

总结

 

最后,图卷积和卷积之间的一些对比整理在图5中。我们可以观察到一些有趣的现象,其实在卷积网络中,也有邻近节点搜索方式的一些工作,例如空洞卷积和可变形卷积。

 

 

Figure 5. 图网络和卷积网络工作方式比较

 

参考文献:

 

[1] Wu, Zonghan, et al. “A comprehensive on graph neural networks.” IEEE transactions on neural networks and learning systems (2020).

 

[2] Long, Jonathan, Evan Shelhamer, and Trevor Darrell. “Fully convolutional networks for semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注