将门好声音 | ​ICCV Oral 2019:KAUST提出大幅加深图卷积网络的新方法

目前常见的图卷积神经网络一般都是3、4层,我们关注的问题是图卷积神经网络GCN/GNN是否也能和一般的卷积神经网络CNN一样加深到50+层而不会有Vanishing Gradient问题,我们提出了ResGCNs,DenseGCNs和Dilated GCN,MRGCN等结构,甚至能训练收敛152层GCN,并在点云分割任务上取得了比较好的效果。

李国豪,中国科学院大学硕士,阿卜杜拉国王科技大学计算机科学博士生一年级。 研究方向是计算机视觉、深度学习、无人驾驶、强化学习等, 曾在商汤科技研究院实习参与无人驾驶研究项目。 在机器人顶会Robotics: Science and Systems(RSS‘2019)发表论文。

图卷积网络(GCN)在处理非规则数据的过程中具有CNN无法比拟的优势,但目前的图卷积网络规模较小,在加深深度的过程中由于梯度消失(Vanishing Gradient)和过度平滑(Over Smoothing)问题限制图卷积网络的进一步发展。

为了探索图卷积网络深度拓展的潜力,来自阿卜杜拉国王科技大学的研究人员在CNN结构的启发下 在图卷积网络中利用残差、稠密连接和膨胀卷积等结构成功将GCN的深度拓展到了 56层 ,在增强模型训练稳定性的基础上大幅度提高了图卷积网络的性能 。

图卷积网络

图卷积网络对于真实世界中广泛存在的非欧几里得数据具有强大的优势,它可以处理庞大的社交网络数据,通过将社交网络等效为图来分析人与人之间的关系,也可以通过图的方式来为化学分子结构建模助力新药研发,同时还可以精确地构建用户的交互模式以提升推荐系统的精度与效率,此外在语言处理、复杂的词句关系中都有着广泛的应用。

对于计算机视觉来说,图卷积网络对于场景中各部分的语义关系建模也十分有效,图卷积网络在对于点云的处理方面也涌现了一系列优秀的工作。例如在点云分割和提升深度的探索上研究人员们都进行了一系列探索,但研究发现较深的图卷积网络会引起 过度平滑 (over-smoothing) 的结果,使得局域特征都收敛到相同的值上;此外随着网络的加深还会带来 较高的计算复杂度和以及常见的梯度消失问题 。

梯度消失、感受野较小、计算复杂度较高…这一系列问题似乎很熟悉?在卷积神经网络发展的初期,人们也面临着相同的问题!

那幺是不是可以借鉴CNN的发展经验来解决GCN所面临的问题呢? 研究人员通过残差、稠密连接和膨胀卷积等新的GCN结构给出了肯定的答案。

深度图卷积网络

图卷积网络通过聚合顶点领域的特征来实现高层信息的抽取。在图网络中,通过与每个顶点相连的特征矢量来表示顶点,整个图就通过衔接这些所有顶点的特征来表达。下面的公式代表了图网络的一般表达形式:

其中 G l ,G l+1 代表了第l层图网络的输入和输出,图卷积操作 包含了聚合操作与更新操作,其中聚合操作用于从邻域的顶点中编码信息,而更新操作则用于将聚合后的信息进行非线性变化以计算出新的表达。

这些函数的实现由多种形式,为了突出研究重点 研究人员选用了简单的最大池化作为聚合操作函数,多层感知机作为更新函数 以便对抽取的特征进行非线性变换。

此外,为了进一步提高模型的表达能力,动态图卷积也是十分必要的。 在研究中利用k-NN在每一层图卷积层都对顶点间的边进行了重计算来动态改变感受野 ,同时也有利于缓解较深的网络带来过度平滑的问题。

三管齐下有效加深GCN

为了加深图网络的深度提升模型的表达能力,研究人员在 ResNetDenseNet 和膨胀卷积的启发下对 GCN  进行了一系列改进升级,提出了 深度更深、更加稳定、表现更好的图网络 。 下面让我们来看看他们是如何将这三种技术引入图网络中的。

ResGCN.

通常的图卷积网络方法将一个图作为输入,通过映射函数F得到新的图表示。 而研究人员则提出一个新的函数H来映射输入图网络与目标网络间的残差:

在通常GCN的基础上,研究人员为每一层增加了残差链接,这些链接将为信息和梯度的传输提供了额外的连接通道,将有效解决梯度消失的问题。

DenseGCN.

稠密的连接提供了一种更为高效特征共享方式和信息流动通道,研究人员在DenseNet的启发下为每层图卷积衔接了先前所有中间层的信息。下面的公式中可以看出每一层的卷积中包含了一直到输入层的信息流。

这种方法将有效的融合多级别的特征,为梯度的流动提供了良好的通道,进一步促进特征的复用,缓解梯度消失问题。

膨胀卷积

图像领域的研究表明,膨胀卷积(Dilated Aggregation)可以在不损失分辨率的情况下有效扩大模型感受野,研究人员通过k-NN的方式来寻找每一层GCN后需要膨胀的邻域,并构建了膨胀的图结构。例如针对一个膨胀率为d的图,k-NN会在输入图中每隔d个相邻节点来构建k*d的计算区域并返回k-NN结果。

模型架构

在三种新模块的加持下,研究人员构建了下图所示的新型深度图卷积网络结构。整个结构主要包含了 图卷积主干网络、特征融合模块和多层感知器预测模块 三个主要的部分。

其中 主干网络 用于抽取输入数据的特征。在实验过程中研究人员利用了ResGCN和DenseGCN来构建主干网络;随后利用与PointNet和EdgeConv相同的方法构建了融合模块,对全局和局部特征进行了有效融合;最后利用多层感知机模块对融合后的特征进行处理,针对特定的任务进行处理。

实验过程中使用点云分割任务进行验证,主干网络对输入4096个点进行处理抽取了包含4096个顶点的图特征;随后利用1*1的卷积、池化对特征进行处理,并对全局与局部特征融合,最后利用1*1卷积实现的多层感知机对所有的点进行分类实现点云分割。

研究人员首先实现了ResGCN28作为深度图卷积的基础网络,其中包含了28层结构,包含了残差图连接和膨胀卷积。实验结果在mIOU上比目前的结果提升了4%。

随后研究人员在S3DIS数据集上以RecGCN28作为基准,对网络的结构、参数进行了一系列改进。通过使用稠密连接、动态k-NN和不同的通道数与深度来分析模型的性能变化,下表总结了各种变体与基准模型的对比。

研究人员发现简易实现的稠密连接对于显存的消耗十分巨大,残差连接对于实际应用更加现实。消融性分析更多地针对于残差连接的网络展开。

在上表中可以看到膨胀卷积所决定的感受野在性能上贡献了3%,能更好地与残差链接协同工作。而当k-NN的邻域大小变为原来的1/2和1/4时,性能下降了2.5%和3.3%,这意味着较大的感受野有利于模型性能的提升,但这一提升需要建立在模型有充分容量基础上。如果增加邻域的同时减小核的数量就会造成较大的性能损失。

我们还可以看到更深更宽的模型可以提升网络的性能,这很大程度上意味着模型容量的增加和表达的抽取更为有效,但更深的模型需要在残差和膨胀卷积的配合下才能有效提升。

为了更清晰地展示各种部件对于网络的影响,研究人员还做出了下面的柱状图对各种因素进行了分析。

另外,研究人员结合GraphSAGE和EdgeConv的优点提出了 更加高效的图卷积模型MRGCN 。

最后一起来看看这种方法在数据集上取得的效果吧,最右边两列是本文提出模型的结果,与没有残差或稠密连接的模型相比显着提高了语义分割的效果:

如果想要了解详细信息,可以这一项目的网站:

https://sites.google.com/view/deep-gcns

也可以下载代码上手学习一番:

https://github.com/lightaime/deep_gcns

ref:

https://sites.google.com/view/deep-gcns

https://arxiv.org/abs/1904.03751

https://github.com/WangYueFt/dgcnn

https://github.com/charlesq34/pointnet

https://en.wikipedia.org/wiki/Non-Euclidean_geometry

https://www.zhihu.com/question/54149221

https://dribbble.com/shots/4191976-Icon-illustration-2