首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从3/4层拓展到56层,如何训练超级深层的图卷积神经网络?

这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文主要介绍一篇ICCV 2019 Oral上的论文[1],在 CNN 结构的启发下成功将 GCN 的可训练深度从 3/4 层拓展到了 56 层,大幅度提高了图卷积网络的性能,并开源了源代码。

摘要

卷积神经网络(CNN)在各种领域取得了令人瞩目的成果。他们的成功得益于能够训练非常深的CNN模型的巨大推动力。尽管取得了积极的成果,但CNN未能正确解决非欧几里德数据的问题。

为了克服这一挑战,利用图卷积网络(GCN)构建图来表示非欧几里德数据,并借用CNN的相关概念并应用它们来训练这些模型。GCN显示出不错的结果,但由于梯度消失问题,它们仅限于非常浅的模型。因此,大多数最新型的GCN算法都不会超过3或4层。

作者提出了成功训练非常深层的GCN的新方法。他们借用CNN的概念,主要是residual / dense connections(残差、密集连接) 和 dilated convolutions(膨胀卷积、扩张卷积、空洞卷积) ,使它们能够适应GCN架构。

  • residual / dense connections:解决由网络加深导致的梯度消失问题
  • dilated convolutions:解决由于pooling而导致的空间信息丢失,把卷积核膨胀了,增大了感受野,但没有增加参数数量

作者通过大量实验,展示了这些深层GCN框架的积极的效果。最后,使用这些新概念构建一个非常深的56层的GCN,并展示它如何在点云语义分割任务中显著地提升了效果(相当于最先进的3.7%mIoU|均交并比)。

背景介绍

GCN网络在近几年发展迅猛。目前用于预测社交网络中的个体关系、提高推荐引擎的预测、有效分割大规模点云等领域。CNN的成功的一个关键因素是能够设计和训练非常深层的网络模型。但是,现在还不清楚如何恰当地设计非常深层的GCN结构。

有一些研究工作研究了深度GCN的限制因素,堆叠多层图卷积会导致常见的梯度消失的问题。这意味着通过这些网络的反向传播会导致过度平滑(over-smoothing),最终导致顶点的特征收敛到相同的值。由于这些限制,大多数最先进的GCN不超过4层。

梯度消失在CNNs中并不是一个陌生的现象。它们也对此类网络的深度增长提出了限制。

  • ResNet在追求非常深的CNN方面向前迈出了一大步,因为它引入了输入层和输出层之间的残差连接(residual connection。这些连接大大减轻了消失梯度问题。今天,ResNet可以达到152层及以上。
  • DenseNet提供了一个扩展,引入了 across layers。更多的层可能意味着由于pooling而导致更多的空间信息丢失。这一问题也通过Dilated Convolutions(扩张/膨胀卷积)来解决。

这些关键概念的引入对CNN的发展产生了实质性的影响,相信如果能很好地适应GCN,它们也会有类似的效果。

方法论

Residual Learning for GCNs

在最初的图形学习框架中,底层映射 H(以图形为输入并输出一个新的图形表示)是需要学习的。受 ResNet 启发,作者提出了一个图的残差学习框架,通过拟合另一个残差映射 F 来学习所需的底层映射 H 。在

通过残差映射 F 变换了后,进行逐点加法得到

。残差映射 F 把一个图作为输入并为下一层输出一个残差图的表示

。在实验中,作者将这个残差模型称为ResGCN

Dense Connections in GCNs

DenseNet中提出了一种更有效的方法,通过密集的连接来改进信息流并重用层之间的特征。在DenseNet的启发下,文中采用了类似的思想到GCN中,以利用来自不同GCN层的信息流。也就是说,

包含了来自

以及之前的所有GCN层的转换。在实验中,作者称之为DenseGCN

Dilated Aggregation in GCNs

为了减轻由池化聚集操作造成的空间信息损失,扩展卷积(dilated convolutions)被提出作为一种对连续池化层的替代选择。为dilation扩大感受野的同时没有失去分辨率。作者认为dilation也有助于GCN的感受野。

因此,他们将扩张聚合(dilated aggregation)引入到GCN中。有许多可能的方法来构建一个扩张的邻居。他们在每一个GCN层后使用一个Dilated k-NN去寻找扩张邻居并构建了一个扩张图(Dilated Graph)。为了得到更好的推广,作者在实践中还使用了随机扩张(stochastic dilation)。

实验

论文中提出了ResGCNDenseGCN来处理GCN的梯度消失问题。为了获得一个大的感受野,他们还定义了一个扩张的GCN图卷积(dilated graph convolution)。为了验证作者的框架,他们对大规模点云分割任务进行了大量的实验,并证明他们的方法显著提高了性能和效果。

作者设计了一个包含上述所有成分的深度GCN来研究它们的实用性。他们选择三维点云的语义分割作为一个应用,并在Stanford Large-Scale 3D Indoor Spaces Dataset (S3DIS,斯坦福大规模三维室内空间数据集)上显示了结果,该数据集包含来自三个不同建筑的六个区域的三维点云。这个数据集在6000平方米的区域内总共包含695878620个点,并用13个语义类进行注释。

网络结构

如下图所示,实验中的所有网络结构都有三个块(a GCN backbone block, a fusion block and an MLP prediction block)。GCN backbone block是实验中唯一不同的部分。例如,PlainGCN和ResGCN之间的唯一区别是,作者向ResGCN中的所有GCN层添加了residual skip connections。PlainGCN和ResGCN具有相同数量的参数。同样,DenseGCN是通过在PlainGCN中添加稠密的图连接和dynamic dilated k-NN来构建的。

而fusion block和MLP prediction block保持一致,以便所有架构进行比较。fusion block用于融合全局和多尺度局部特征。它将从每个GCN层的GCN backbone block中提取的顶点特征作为输入,并连接这些特征,然后将它们通过1×1卷积层和最大池化层。最大池化层将整个图的顶点特征聚合为全局特征向量。然后重复全局特征向量,并将其与所有先前GCN层的所有顶点特征连接起来,以融合全局和局部信息。

MLP prediction block以融合特征作为输入,应用三个MLP层对各点进行分类预测。在实践中,MLP层实现为1×1卷积层。

实验结果

作者将重点放在残差图连接(residual graph connections)上进行分析,因为ResGCN-28更易于训练,速度更快。该网络包含了方法论章节中提出的想法,作者将此网络(ResGCN-28)与下表中的几个最新baseline进行了比较。实验结果表明:ResGCN-28比最先进的高出近4%,而且,文中的网络在13个类中有9个类超过了所有baseline,显示的指标是总体精度(OA)和平均IoU(MIoU)。

小结

作者研究了如何将已证实的有用概念(residual connections, dense connections 和 dilated convolutions)从CNN引入GCN,并回答了以下问题:如何使GCN更深?

大量实验表明,在GCN中加入skip connections,可以减轻训练难度,这是阻碍GCN进一步发展的主要问题。此外,dilated graph convolutions有助于在不损失分辨率的情况下获得更大的感受野。即使只有少量的近邻,深度GCN也能在点云分割上获得较高的性能。尽管ResGCN-56只使用8个最近的邻居,而ResGCN-28使用16个邻居,但它在这项任务中的表现非常出色。

实验表明,能够在80个epochs内训练151层的GCN;网络融合得很好,取得了与ResGCN-28和ResGCN-56相似的结果,但只有3个最近的邻居。由于计算上的限制,无法详细研究如此深入的体系结构,并将其留给将来的工作。

最后附上论文一作李国豪在知乎上的回答[2]:

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

以及论文开源代码:

TensorFlow:https://github.com/lightaime/deep_gcns

PyTorch:https://github.com/lightaime/deep_gcns_torch

参考

1. Deep GCNs: Can GCNs Go as Deep as CNNs?

2. 论文原作者知乎楼层:https://www.zhihu.com/question/336194144/answer/761770679

本文授权转载自知乎专栏“深度推荐系统”。原文链接:https://zhuanlan.zhihu.com/p/86352650

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/WyOZdEgJuTa2VkTvSlTD
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券