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


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

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

    基础概念

    笔者认为,图的核心思想是学习一个函数映射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
    2. Self-attention (Bert/Transformer)

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

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

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

    总结

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

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

    参考文献:

    [1] Wu, Zonghan, et al. “A comprehensive survey 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.

     

    点击关注,第一时间了解华为云新鲜技术~

  • 相关阅读:
    并查集
    强联通分量,缩点
    最短路径
    最小生成树
    拓扑排序
    图的遍历
    图论基础知识
    数据库四种隔离级别
    MySQL 索引 乐观锁 悲观锁
    MYSQL+正则
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/15014334.html
Copyright © 2020-2023  润新知