论文笔记-Deep Learning on Graphs: A Survey(上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文笔记-Deep Learning on Graphs: A Survey(上)相关的知识,希望对你有一定的参考价值。

参考技术A 论文链接: https://arxiv.org/pdf/1812.04202.pdf

深度学习在许多领域都取得了成功,在图上也有许多研究工作。在这篇文章中,作者根据模型架构和训练策略将现有方法分为五类:图循环神经网络、图卷积网络、图自动编码器、图强化学习和图对抗方法,并以系统的方式全面概述这些方法。最后,作者简要概述了它们的应用,并讨论了未来潜在的研究方向。

传统的深度学习架构应用于图存在一些挑战:

根据模型架构和训练策略,可以将将现有基于图的深度学习方法分为五类:

: 图,
: 节点, N
:边, , 边集是节点间互相连接的集合的子集
:边的数量,
:邻接矩阵, 代表第 i 行第 j 列的元素,本文中的图主要是无符号图,因此
:节点上的特征,边上的特征

:无向图的拉普拉斯矩阵,定义为
:是A的对角矩阵, 是 的对角矩阵。其特征分解记为
: ,是特征值升序排列的对角矩阵
: ,是特征值对应的特征向量
:转移矩阵, ,其中 表示从节点 开始,随机游走到 的概率。
: ,其中 是到节点 到 的最短距离,即 是 在k步可达到的节点集合。
:第 l 层中的隐藏表示
: 的维度
:非线性激活函数
:逐元素乘法
:可学习参数
:样本大小

在图上学习深度模型的任务可以大致分为两类:

循环神经网络 (RNN),例如GRU或LSTM是对序列数据建模。在本节中,Graph RNNs 可以捕获图的递归和序列特征。图 RNN 可以大致分为两类:

图的节点级 RNN,也称为图神经网络 (GNN)。 GNN 背后的想法很简单:对图结构信息进行编码,每个节点 由一个低维状态向量 表示。受递归神经网络的启发,采用了状态的递归定义:

最终的输出为

对于以图为中心的任务,建议添加一个具有唯一属性的特殊节点来表示整个图。为了学习模型参数,采用以下半监督方法:

上面两个简单方程式在中GNN扮演着两个重要的角色。实际上,GNN 统一了一些早期用于处理图数据的方法,例如递归神经网络和马尔可夫链。GNNs 背后的总体思路有着深刻的启示,许多最先进的 GCNs 实际上都有类似于公式(1) ,遵循在直接连接的节点邻域内交换信息的相同框架。实际上,GNNs 和 GCNs 可以统一成一些通用的框架,一个 GNN 就相当于一个使用相同的层达到稳定状态的GCN。这一点会在GCN的篇章中讨论。

GNNs 的缺点:

由于这些缺点以及可能缺乏计算能力(GPU 在当时并未广泛用于深度学习)以及缺乏研究兴趣,因此 GNN 并未成为一般研究的重点。

对 GNNs 的一个显著改进是门控图序列神经网络(gated graph sequence neural networks,GGS NNs),作者使用GRU替换了公式(1)中的递归定义 ,从而消除“收缩图”要求,并支持现代优化技术。具体而言,公式(1)被修改如下:

其中 由更新门计算, 是更新的候选者, 是伪时间。其次,作者提议使用几个这样的网络按顺序运行来产生序列输出,并表明他们的方法可以应用于基于序列的任务,例如程序验证。

SSE 采取了与公式(4)类似的方法。然而,SSE 在计算中没有使用 GRU,而是采用随机定点梯度下降来加速训练过程。该方案基本上在使用局部邻域计算稳定节点状态和优化模型参数之间交替进行,两种计算均在随机小批量中进行。

图级 RNN,不是将一个 RNN 应用于每个节点来学习节点状态,而是将一个 RNN 应用于整个图以对图状态进行编码。

You et al.将图 RNN 应用于图生成问题。他们采用了两个 RNN:一个生成新节点,另一个以自回归的方式为新添加的节点生成边。他们表明,这种分层 RNN 架构比传统的基于规则的图生成模型更有效地从输入图中学习,同时具有合理的时间复杂度。

为了捕获动态图的时间信息,有人提出了动态图神经网络 (dy-namic graph neural network,DGNN) ,它使用时间感知 LSTM 来学习节点表示。当一条新边建立时,DGNN 使用 LSTM 更新两个交互节点及其直接邻居的表示,即考虑一步传播效应。作者表明,时间感知 LSTM 可以很好地模拟边形成的建立顺序和时间间隔。

图 RNN 还可以与其他架构相结合,例如 GCN 或 GAE。例如,为了解决图稀疏性问题,RMGCNN 将 LSTM 应用于 GCN 的结果以逐步重建图。通过使用 LSTM,来自图不同部分的信息可以在不需要多个 GCN 层的情况下扩散很长的距离。Dynamic GCN 应用 LSTM 从动态网络中的不同时间片收集 GCN 的结果,以获得空间和时间的图信息。

GCN 仿照 CNN,,通过设计卷积和读出函数,学习图的局部和全局结构特征。因为大多数 GCN 可以通过反向传播使用特定于任务的损失进行训练,这里重点介绍采用的架构。

图卷积可以分为两组:

这两个组可以重叠使用。

用于图像或文本的标准卷积运算不能直接应用于图,因为图缺乏网格结构 。Bruna等人首先使用图 拉普拉斯矩阵 , 从谱域中引入图数据的卷积,它在信号处理中起着与傅立叶基相似的作用。图卷积运算 定义如下:

其中 是定义在节点上的两个信号, 是 的特征向量。

乘以 将图信号 转换到谱域(即图傅立叶变换),而乘以 执行逆变换。该定义的有效性是基于卷积定理,即卷积运算的傅立叶变换是他们的傅立叶变换的元素乘积。一个信号 经过滤波器后变为

( 这里的 是乘在 左边的 )

一个卷积层是通过对不同的输入-输出信号对应用不同的滤波器来定义的,如下所示:

公式(7)背后的思想类似于传统的卷积:它将输入信号通过一组可学习的滤波器来聚合信息,然后进行一些非线性转换。通过使用节点特征 作为输入层,叠加多个卷积层,整体架构类似于CNN。理论分析表明,这种图卷积运算的定义可以模拟CNN的几何特性。

然而,直接使用公式 (7) 需要学习 O(N) 的参数,这在实践中可能不可行。此外,频谱域中的滤波器可能不会定位在空间域中,也就是说,每个节点可能会受到所有其他节点的影响,而不仅仅是小区域内的节点。为了缓解这些问题,Brunaet al.建议使用以下平滑过滤器:

其中K是一个固定的插值核, 是可学习的插值系数。作者还将这一思想推广到图不是给定的,而是使用有监督或无监督方法从原始特征构造的设置。

然而,两个基本问题仍未解决。

接下来,我们回顾试图解决这些限制的两行工作,然后使用一些通用框架将它们统一起来。

为了解决效率问题,ChebNet 提出使用多项式滤波器,如下:
其中 是可学习参数,K 是多项式阶数。然后,作者没有进行特征分解,而是使用切比雪夫展开式重写了公式 (9) :

其中 ,是rescale后的特征值, 是特征值的最大值, 是单位矩阵, 是k阶的切比雪夫多项式。由于 Chebyshev 多项式的正交基,重新缩放是必要的。利用拉普拉斯矩阵的多项式作为其特征值的多项式,即 ,公式(6)可以重写为

其中 .

使用切比雪夫多项式的递归关系 , , ,也可以得到

现在,因为只需要计算稀疏矩阵 的矩阵乘法,还有一些向量需要计算,所以使用稀疏矩阵乘法时的时间复杂度变为 O(KM),其中 M 是边数,K 是多项式阶数,即时间复杂度是线性的边缘。也很容易看出,这样的多项式滤波器是严格 K 局部化的:在一次卷积之后, 的表示将仅受其 K 步邻域 的影响。有趣的是,这个想法在网络嵌入中被独立使用,以保留高阶近似,为了简洁起见省略了细节。
Kipf和Welling 通过仅使用一阶邻域进一步简化了滤波:

矩阵形式:

其中, ,也就是,添加了自连接。作者通过设置k=1和一些细微的变化,证明了式(14)是式(9)的特例。然后,作者认为堆叠足够数量的层具有类似于ChebNet 的建模能力,但会产生更好的结果。

ChebNet及其扩展的一个重要见解是,它们将谱图卷积与空间结构联系起来。具体而言,它们表明,当谱卷积函数为多项式或一阶时,谱图卷积等价于空间卷积。此外,式(13)中的卷积与式(1)中GNN中的状态定义非常相似,只是卷积定义取代了递归定义。

从这一方面来看,GNN可以被视为具有大量相同层以达到稳定状态的GCN,即GNN使用具有固定参数的固定函数迭代更新节点隐藏状态,直到达到非平衡状态,而GCN具有预设层数,并且每层包含不同的参数。

还提出了一些谱方法来解决效率问题。例如,CayleyNet 没有使用公式(10)中的切比雪夫展开,而是采用Cayley多项式来定义图卷积。除了证明 CayleyNet 与 ChebNet 一样有效之外,作者还证明了 Cayley 多项式可以检测“重要的窄频带”,以获得更好的结果。于是进一步提出了图小波神经网络(GWNN),通过重写方程来用图小波变换代替谱滤波器中的傅立叶变换。 GWNN 的计算复杂度也是 O(KM),即与边数成线性关系。

一系列并行的工作侧重于将图卷积推广到任意大小的多个图。Neural FPs 提出了一种空间方法,该方法也使用一阶邻居:

由于参数 可以在不同的图之间共享,并且与图的大小无关,因此 Neural FPs可以处理任意大小的多个图。等式(17)与等式(13)非常相似,然而,Neural FPs 没有通过添加一个归一化项来考虑节点度的影响,而是建议为不同度的节点学习不同的参数。该策略对于小图(如分子图)表现良好(即原子作为节点,键作为边),但可能不适用于较大的图。

(跳过了一些)

基于上述工作,MPNNs 被提出,作为使用消息传递函数在空间域中进行图卷积运算的统一框架:

其中 和 分别是要学习的消息函数和顶点更新函数, 表示节点之间传递的“消息”。从概念上讲,MPNN 是一个框架,其中每个节点根据其状态发送消息,并根据从直接邻居收到的消息更新其状态。作者表明,上述框架已经包括了许多现有的方法,如 GGS-NNs 、Brunaet al.、Henaffet al.、Neural FPs 、Kipf 和 Welling 和 Kearnes et al.。 此外,作者提出增加一个连接所有节点的“主”节点以加速长距离的消息传递,并将隐藏的表示拆分为不同的“塔”以提高泛化能力。作者表明,MPNN 的特定变体可以在预测分子特性方面达到 state-of-the-art。

同时,GraphSAGE 采用了与等式(21)类似的思想,使用了多个聚合函数,如下所示:

其中 [·,·] 是连接操作,AGGREGATE(·) 表示聚合函数。作者提出了三个聚合函数:元素均值、LSTM 和最大池化,如下所示:

其中 和 是要学习的参数,max·是元素最大值。对于 LSTM 聚合函数,因为需要一个邻居顺序,作者采用了一个简单的随机顺序。

混合模型网络(MoNet)还尝试使用“模板匹配”将现有的 GCN 模型以及流形的 CNN 统一为一个通用框架。

图网络 (GNs) 为 GCNs 和 GNNs 提出了一个更通用的框架,它学习了三组表示: 、 和 分别是节点、边和整个图的表示。这些表示是使用三个聚合和三个更新函数学习的:

消息传递函数都以集合作为输入,因此它们的参数长度是可变的,并且这些函数应该对输入排列保持不变;一些示例包括逐元素求和、均值和最大值。与 MPNN 相比,GNs 引入了边表示和整个图的表示,从而使框架更加通用。

总之,卷积运算已经从频谱域发展到空间域,从多步邻居发展到直接邻居。目前,从近邻收集信息(如等式(14))并遵循等式(21)(22)(27) 的框架是图卷积运算最常见的选择。

论文笔记A Review on Deep Learning Techniques Applied to Semantic Segmentation

 

A Review on Deep Learning Techniques Applied to Semantic Segmentation

2018-02-22  10:38:12  

1. Introduction:

  语义分割是计算机视觉当中非常重要的一个课题,其广泛的应用于各种类型的数据,如:2D image,video,and even 3D or volumetric data。

  最近基于 deep learning 的方法,取得了非常巨大的进展,在语义分割上也是遥遥领先于传统算法。

  本文对于比较流行的深度风格技术进行了总结,其主要贡献在于:

  • 提供了一个非常广泛的现有分割数据集的总结;
  • 一个深入的关于深度分割方法的总结,起源及其贡献;
  • 关于常用的分割评价标准的总结,包括 accuracy,execution time,以及 memory footprint;
  • 关于上述结果的总结,以及一系列可能的未来工作。

  

2. Terminology and Background Concepts:

  本文对视觉认知看成是一个 coarse to fine 的过程,即:由粗到细的过程。   

  最基本的就是 classification,然后是 localization or detection,然后更高级的是 semantic segmentation,其中,更加细致的是:instance segmentation 以及 part-based segmentation。

  语义分割的目标是:make dense predictions inferring labels for every pixel,i.e. each pixel is labeled with the class of its enclosing object or region. 

  

 

  2.1. Common Deep Network Architecture 

  本节重点回顾了一些经典且重要的网络结构,正是这些网络结构的出现,才使得分割领域取得了突飞猛进的进展。常见的网络结构有:Alexnet,VGG-16,GoogLeNet,and ResNet。

  AlexNet:7 layers,属于 deep learning 早期的网络结构。

  

 

  VGGThe main difference between VGG-16 and its predecessors is the use of a stack of convolution layers with small receptive fields in the first layers instead of few layers with big receptive fileds. This leads to less parameters and more non-linearities in between, thus making the decision function more discriminative and the model easier to train. 

  

 

  GoogLeNet:该网络进一步增加了 layer,并且引入了新的结构:Inception module。这种新的方法验证了 CNN layer 可用多种方式来堆叠,而不是传统的 sequential manner。实际上,这些模型由:a Network in Network (NiN) layer, a pooling operation, a large-size convolution layer, and small-sized convolution layer. 

  All of them are computed in parallel and followed by 1*1 convolution operations to reduce dimensionality. 

  

 

  

  ResNet:残差网络,更是将 CNN 的深度加深到变态的级别(1k+ layer),带来了更好的性能。这是通过一种 identity skip connections 来实现的,即:将他们的输入拷贝给下一层。这种方法底层的直观的想法是:这确保了下一层学习到了新的不同的东西,至少不同于前一层的输出(different from what the input has already encoded, since it is provided with both the output of the previous layer and its unchanged input)。此外,这种连接在某种程度上,缓解了梯度消失的问题(help overcoming the vanishing gradients problem)。

  

 

  

  ReNetYoshua Bengio 等人提出 ReNet 网络结构,将 CNN 中的 Conv + Pooling 操作替换为 4 RNNs sweeping the image vertically and horizontally in both directions。
  

  当然了,还有 CVPR 2017 年的 Dense Connected Network,这篇文章并没有回顾到,Dense Net 取得了更好的结果。

  

 

 

  2.2 Transfer Learning

  从头开始训练一个网络是不可取的,因为这需要大量的数据,并且很难训练。现有的方法,基本都是在 pre-trained model 的基础上进一步微调出来的,而不是随机初始化一个网络参数。Yosinski  et al. 已经证明,即使是 较远的 task 上迁移过来的 feature,都是比随机初始化要好的。

  但是,直接将这种迁移技术应用过来也是不直观的:

  一方面,想这么迁移特征,就要求那部分的网络结构要相同。这对于新提出的网络结构并不适用,因为迁移是需要利用现有网络结构的。

  另一方面,当微调的时候,训练的方法和随机初始化那样的训练方法也是有很大区别的。选择哪一些层进行微调,也是非常重要的 --- 通常是网络的 high-level part of the network,因为底层的特征通常会包含一些通用的 feature --- 学习率的选择也是非常重要的,因为原本模型的参数已经很好了,这个时候,没有必要进行较大幅度的改变。

  

  由于采集和处理分割的数据是比较困难的,导致数据量不是很大,特别是对于 RGB-D 或者 3D datasets,这些数据更是少的可怜。所以,迁移学习或者 微调技术,就显得更加重要了。所以,迁移学习已经称为分割领域一个大的趋势和一项非常重要且有效的技术了。

  

  2.3 Data Preprocessing and Augmentation

  数据增广是一项已经被广泛应用的技术,可以增强模型的泛化能力,防止过拟合。通常是在图像或者特征空间进行一系列的转换。

  常见的是在 data space 进行转换,可以产生更多的训练样本,常见的操作有:translation, rotation, warping, scaling, color space shifts, crops, etc. 

  

 3. Datasets and Challengs 

  数据集这部分,感兴趣的可以参考原本,这里不一一介绍,只是列出其 dataset 名字。

  3.1 2D datasets 

  • PASCAL Visual Object Classes (VOC) 
  • PASCAL Context 
  • PASCAL Part 
  • Semantic Boundaries Dataset (SBD) 
  • Microsoft Common Objects in Context (COCO) 
  • SYBTHetic Collection of Imagery and Annotations (SYNTHIA) 
  • Cityscapes 
  • Cam Vid 
  • KITTI 
  • Youtube-Objects 
  • Adobe\'s Portrait Segmentation 
  • Materials in Context (MINC) 
  • Densely-annotated VIdeo segmentation (DAVIS) 
  • Stanford background 
  • SiftFlow 

  3.2 2.5D Datasets 

  •  BYUD v2 
  • SUN3D 
  • SUNRGBD 
  • The Object segmentation database (OSD) 
  • RGB-D object detection 

  3.3 3D datasets :

  • ShapeNet Part  
  • Stanford 2D-3D-S 
  • A Benchmark for 3D Mesh Segmentation 
  • Sydney Urban Objects Dataset 
  • Large-Scale point cloud classification benchmark

 

 

4. Methods 

 

  将深度学习应用到语义分割中的一个比较成功的方法是:FCN(fully convolutional network)。 这个工作被认为是 deep learning 在分割领域的一个里程碑。

  

  

   

 

   4.1 Decoder Variants

  后续的很多拓展工作,都是基于 encoder-decoder framework,encoder 用于编码输入图像,decoder 用于解码输出的feature map,表示分割的结果。

  SegNet 这种网络的典型代表,其网络结构示意图如下所示:

  

  另一方面,FCN-based architecture 利用了可学习的反卷积滤波器(the learnable deconvolution filters to upsample feature maps)。在此之后,上采样的 feature maps 和 之前 卷积层的 feature map 进行相加。下图展示了这两种操作的具体细节:

  

  

  4.2 Integrating Context Knowledge 

  Local 和 Global 的信息对于分割来说,是非常重要的。It also implies balancing local and global information.

  On the one hand, fine-grained or local information is crucial to achieve good pixel-level accuracy.

  On the other hand, it is also important to integrate information from the global context of the image to be able to resolve local ambiguities.
  

  但是,vanilla CNNs 没有很好的达到这两者之间的平衡,所以,有很多的方法被提出来处理这个问题,常见的有:refinement as a post-processing step with Conditional Random Fields (CRFs), dilated convolutions, multi-scale aggregation, or even defer the context modeling to another kind of deep networks such as RNNs

  

  4.2.1 Conditional Random Fields 

  CRF 将底层的图像信息 和 多类别的推理系统相结合 来产生最后的每一个像素的分类分数。这种结合,对于捕获长期的依赖,更加重要;但标准的 CNN 缺未能做到这一点。

  DeepLab models 将 fully connected pairwise CRF 模型作为独立的后处理步骤,来优化其分割结果。

  It models each pixel as a node in the field and employs one pairwise term for each pair of pixels no matter how far they lie (this model is known as dense or fully connected factor graph). By using this model, both short and long-range interactions are taken into account, rendering the system able to recover detailed structures in the segmentation that were lost due to the spatial invariance of the CNN. Despite the fact that usually fully connected models are inefficient, this model can be efficiently approximated via probabilistic inference.

  
  改善后的分割效果如下所示:

  

  

  另一个比较突出的工作是将 CRF 结合到 网络中,做成了 end to end training 的方式。这个工作的主要贡献在于:the reformulation of the dense CRF with pairwise potentials as an intrgral part of the network。通过展开 the mean-field inference steps as RNNs,将 CRF 和 FCN 结合到一起,做到了端到端的训练。  

  

  4.2.2 Dilated Convolutions(扩张卷积)

  

  实际上,这个和在执行通常的卷积之前,扩张 filter 是一样的效果。这意味着,扩展其大小,根据 扩展率,然后将空的元素,用 0 填充。

  

  这样做的好处在于:

  1. 在没有额外损失 和 重叠的下采样 的情况下,可以得到更大的感受野。

  2. 潜在的考虑了多尺度的技巧。

  

  4.2.3 Multi-scale Prediction

  将背景信息结合到网络设计中,是可能提升分割性能的方法之一,其中,多尺度处理,是常用的 trick 之一。

  

 

  

  

  4.2.4 Feature Fusion(特征融合):

  另一种将 context 信息添加到 FCN 结构中的方法是:feature fusion。一种常见的做法是:将底层的特征(global feature)和 更加局部的特征(more local feature maps)进行融合。

  

  另一种方式是进行 early fusion(早期融合)。这种方法被 ParseNet 用起来了。The global feature is unpooling to the same spatial size as the local feature and then they are concatenated to generate a combined feature that is used in the next layer or to learn a classifier.

  

  4.2.5 Recurrent Neural Network

  就像我们看到的,CNN 已经被广泛的应用于多维度的数据,如 image。但是,这些网络依赖于手动设计的 kernels,使得网络仅仅作用于 local context。利用拓扑结构,RNN 已经被广泛的应用于建模 short- and long-termporal sequences. 用这种方法,将 pixel-level and local information 连接起来,RNN 可以成功的应用于建模 global contexts,然后改善语义分割的效果。但是,一个很重要的约束在于:the lack of a natural sequential structure in images and the focus of standard vanilla RNNs architecture on one-dimensional inputs

  

  基于 ReNet model,Visin et al. 提出一种新的网络结构用于语义分割,称为:ReSeg。这种方法,首先用 VGG 提取图像的特征,然后用 ReNet layers 进行微调。最终,对 feature maps 用 transpose convolutions 进行 resize,这篇文章中,用到了 GRU(Gated Recurrent Units)替换掉了 RNNs,因为这种网络结构有较好的 memory usage 以及 computational power。

  LSTM-CF(LSTM Context Fusion)是中山大学 甘宇康同学做的(哈哈哈,简称:康康),该网络考虑到了图像中特征之间的关系,用双向 LSTM 进行建模,在 RGBD 数据集上取得了不错的效果。

  

  建模图像的全局信息,是跟 2D recurrent 方法有关的,通过在输入图像上展开水平和竖直方向的网络(by unfolding vertically and horizontally the network over the input images)。

  另一种捕获全局信息的方法依赖于:利用更大的输入窗口(using bigger input windows),为了建模更大的 context information。

  还有一种是利用 UCGs(Undirected cyclic graphs)来建模图像的 context 信息,进行语义分割。但是,RNNs 并不能直接用于 UCGs,可以通过 将其分解为 多个有向图(several directed graphs DAGs)。用这种方法,图像可以通过三个不同的 layers 来处理:用 CNN 来处理图像的特征图;用 DAG-RNNs 来建模图像的 contextual dependencies,用 deconvolutional layers 进行上采样特征图。

  

 

   4.3 Instance Segmentation :

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于论文笔记-Deep Learning on Graphs: A Survey(上)的主要内容,如果未能解决你的问题,请参考以下文章

论文笔记:On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima

论文精读A Survey on Deep Learning for Named Entity Recognition

论文翻译:2020_A Robust and Cascaded Acoustic Echo Cancellation Based on Deep Learning

论文笔记:Deep Residual Learning

Deep Learning论文笔记之Sparse Filtering稀疏滤波

文献阅读17期:Deep Learning on Graphs: A Survey - 6