[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

时间:2024-05-19 14:00:00


这是一篇发表在ICCV 2019 Oral上的一篇论文。
Github:https://github.com/lightaime/deep_gcns

Abstract

卷积神经网络(CNN)在各种领域取得了令人瞩目的成果。他们的成功得益于能够训练非常深的CNN模型的巨大推动力。
尽管取得了积极的成果,但CNN未能正确解决非欧几里德数据的问题。
为了克服这一挑战,利用图卷积网络(GCN)构建图来表示非欧几里德数据,并借用CNN的相关概念并应用它们来训练这些模型。
GCN显示出不错的结果,但由于梯度消失问题,它们仅限于非常浅的模型。因此,大多数最新型的GCN算法都不会超过3或4层。
作者提出了成功训练非常深层的GCN的新方法。他们借用CNN的概念,主要是residual / dense connections(残差、密集连接) 和 dilated convolutions(膨胀卷积、扩张卷积、空洞卷积) ,使它们能够适应GCN架构。

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

一个空洞卷积的例子如下:
[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

Standard Convolution with a 3 x 3 kernel (and padding)

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

Dilated Convolution with a 3 x 3 kernel and dilation rate 2

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

1. Introduction

GCN网络在近几年发展迅猛。对GCN的研究主要在于两点:

  • 应用:现实世界中非欧氏距离的数据激增,GCN的应用广泛
  • 性能:GCN处理这些数据的局限性

GCN目前用于预测社交网络中的个体关系[37]、药物发现的模型蛋白[56,41]、提高推荐引擎的预测[25,52]、有效分割大规模点云[43]等领域。

CNN的成功的一个关键因素是能够设计和训练一个深层的网络模型。但是,现在还不清楚如何恰当地设计一个深层的GCN结构。目前,有一些研究工作研究了深度GCN的限制因素[20,44,55]。
堆叠多层图卷积会导致常见的梯度消失的问题。这意味着通过这些网络的反向传播会导致过度平滑(over-smoothing),最终导致顶点的特征收敛到相同的值[20]。由于这些限制,大多数最先进的GCN不超过4层[55]。

梯度消失在CNNs中并不是一个陌生的现象。它们也对此类网络的深度增长提出了限制。
ResNet[12]在追求非常深的CNN方面向前迈出了一大步,因为它引入了输入层和输出层之间的残差连接( residual connection)。这些连接大大减轻了消失梯度问题。今天,ResNet可以达到152层及以上。
DenseNet[14]提供了一个扩展,这个网络引入了 across layers。更多的层可能意味着由于pooling而导致更多的空间信息丢失。这一问题也通过Dilated Convolutions(扩张/膨胀卷积)来解决[53]。
这些关键概念的引入对CNN的发展产生了实质性的影响,相信如果能很好地适应GCN,它们也会有类似的效果。

在论文中,作者提出了一个全面的方法的研究,允许训练非常深的GCN。并借用了成功训练深层CNN的相关概念,主要是residual connections, dense connections和dilated convolutions。
文中展示了如何将这些层合并到图框架中,并对这些层的添加对深度GCN的准确性和稳定性的影响进行了全面的分析
为了展示这些层的适应性,作者将它们应用到现在流行的点云语义分割任务中。结果表明,添加residual connections, dense connections和dilated convolutions的组合,可以成功地训练高达56层的GCN(参见图1)。这个非常入的GCN将具有挑战性的S3DIS[1]点云数据集的最新技术提高了3.7%。

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

图1.针对7,14,28,56层GCN网络训练时的loss变化图。左图是不使用残差连接的,可以看出,层数越多,loss越难降低;右图是使用了残差连接的,可以看出,对于所有深度的层,loss达到持续平稳。

Contributions

  • (1)采用residual connections, dense connections和dilated convolutions以适应GCN。
  • (2)对点云数据进行了大量的实验,展示了这些新层对训练深GCN的稳定性和性能的影响。使用点云语义分割作为实验框架。
  • (3)展示了这些新概念如何帮助构建一个56层的GCN(一个最大限度的最深的GCN架构),并在S3DIS数据集上实现接近4%的性能提升。

2. Related Work

在社交网络[37]中,图代表了基于共同利益/关系的个人之间的联系。这种连接是非欧氏距离和非规则的。GCN有助于更好地评估社交网络图节点之间的边缘优势,从而使个人之间的联系更加准确。
图也被用来模拟化学分子结构[56,41]。了解这些分子的生物活性对药物发现有重大影响。图的另一个流行用法是在推荐引擎[25,52]中,用户交互的精确建模可以改进的产品推荐。图也是语言处理中常用的表示方式[2,24],用于表示单词、句子和较大文本单位之间的复杂关系。

GCN在计算机视觉中也有许多应用,在场景图生成(scene graph generation)中,对象之间的语义关系是通过图来建模的。其中,图用于检测和分割图像中的对象,并预测对象pairs之间的语义关系[45、49、21]。场景图也有助于相反过程,在相反过程中,根据场景的图形表示来重构图像[18]。图也被用来模拟人的关节,以便在视频中识别动作[48,17]。

GCN是点云处理的完美候选。考虑到点云数据的非结构化性质,它提出了一个具有代表性的挑战。通过用多个二维视图(36、10、3、23)表示三维数据,或通过像素化(5、30、33、38),可以尝试从三维数据创建结构。最近的工作重点是直接处理无序点云表示[28、31、9、15、50]。Wang等人最近提出的EdgeConv方法[43]将GCN应用于点云。特别地,他们提出了一种用于点云语义分割的动态边缘卷积算法(dynamic edge convolution algorithm)。该算法利用点特征之间的距离,动态计算每个图层的邻接节点。这项工作展示了GCN对于点云相关应用程序的潜力,并在点云分割任务中击败了最先进的技术。与大多数其他工作不同,EdgeConv不依赖RNNs或复杂的点聚合方法。

目前的GCN算法(包括EdgeConv)仅限于浅层。最近的很多工作试图训练更深层次的GCN。
例如

  • Kipf等人训练用于节点分类的半监督GCN模型[19]。作者展示了当使用超过3层时性能如何降低。
  • Pham等人[27]针对关系学习中的集体分类提出了Column Network(CLN)。作者展示了10层达到峰值性能;但是,对于更深的图,性能会下降。
  • Rahimi等人[32]在社交媒体图中开发了一个用于用户地理定位的公路GCN(Highway GCN),作者在各层之间添加了“Highway”门,以促进梯度流。 即使有了这些门,在达到6层深度后,性能也会下降。
  • Xu等人[47]开发了一个用于表示学习的跳跃知识网络(Jump Knowledge Network)。他们提出了一种基于图结构的节点邻域选择策略。与其他作品一样,他们的网络仅限于少量的层(6)。
  • 为此,Li等人[20]研究了GCN的深度限制。他们表明,深度GCN会导致过度平滑,从而导致每个连接内顶点的特征收敛到相同的值。
  • 其他工作[44,55]也显示了叠加多个GCN层的局限性,这导致了反向传播的高度复杂性和常见的消失梯度问题。

在CNN的早期,也出现了许多目前面临的GCN难题(如梯度消失、有限的感受野等)。这篇文章目的是要弥补了这一不足,这些缺点中的大多数可以通过借鉴CNN的几个技巧来弥补。随着ResNet的推出,Deep CNN在性能上获得了巨大的提升[12]。通过增加层的输入和输出之间的residual connections(残差连接),ResNet减轻了梯度消失的问题。DenseNet[14]将这一想法进一步发展,并增加了connections across
layers(跨层连接)。 Dilated Convolutions[53]是一种较新的方法,它通过增加接感受野而不损失分辨率,从而显著提高了性能,特别是在图像到图像的翻译任务(如语义分割[53])中。作者展示了如何从这些由CNN引入的概念中获益,主要是 residual/dense connections和dilated convolutions,以训练非常深的GCN。他们通过扩展Wang等人[43]的工作来支持自己的工作,即达到一个更深入的GCN,从而显著提高其性能。文中对点云语义分割任务的大量实验验证了这些思想可用于任何通用图中。

3. Methodology

Graph Convolution Networks

受CNN启发,GCN打算通过聚集顶点邻域的特征来提取高级特征。GCNs通过将每个顶点vv与特征向量hvRDh_v \in \mathbb{R}^D关联来表示顶点,其中DD是特征维数。因此,图G作为一个整体,可以通过连接所有顶点的特征来表示,即HG=[hv1,hv2,...,hvn]TRN×DH_G=[h_{v_1},h_{v_2},...,h_{v_n}]^T \in \mathbb{R}^{N×D},其中NN是集合VV的基数,可以将第ll层的一般图卷积运算F\mathcal{F}表示为聚集和更新操作,

Gl+1=F(Gl,Wl)=Update(Aggregate(Gl,Wlagg),Wlupdate)(1) G_{l+1}=\mathcal{F}(G_l,W_l)=Update(Aggregate(G_l,W_l^{agg}),W_l^{update}) \qquad(1)

  • Gl=(Vl,εl)G_l=(V_l,\varepsilon_l)Gl+1=(Vl+1,εl+1)G_{l+1}=(V_{l+1},\varepsilon_{l+1})分别是第ll层的输入和输出
  • WlaggW_l^{agg}WlupdateW_l^{update}分别是可训练的聚合和更新函数的权重,它们是GCNs的关键部分

在大多数GCN框架中,聚合函数用于从顶点的邻域中编译信息;更新函数对聚合信息执行非线性转换,以计算顶点的新表示。这两种函数有不同的变体。例如,聚合函数可以是mean
aggregator[19]、max-pooling aggregator[29、11、43]、attention aggregator[40]或LSTM aggregator[26]。更新函数可以是多层感知器[11,7],门控网络[22]等。更具体地说,通过对所有vl+1Vl+1v_{l+1} \in V_{l+1}的相邻顶点特征进行聚合,计算出各层的顶点表示,如下所示:

hvl+1=ϕ(hvl,ρ(hululN(vl),hvl,Wρ),Wϕ)(2) h_{v_{l+1}} = \phi (h_{v_l}, \rho({h_{u_l}|u_l∈ \mathcal{N}(v_l)},h_{v_l},W_\rho ), W_\phi) \qquad(2)

  • ρ\rho是一个顶点特征的聚合函数
  • ϕ\phi是一个顶点特征的更新函数
  • hvlh_{v_l}hvl+1h_{v_{l+1}}分别是第ll层和l+1l+1层的顶点特征
  • N(vl)\mathcal{N}(v_l)是第ll层的顶点vv的邻居节点的集合
  • hulh_{u_l}是由WρW_\rho参数化的邻居顶点的特征。
  • WϕW_\phi包含了这些函数的可训练的参数

本文使用一个简单的max-pooling顶点特征聚集器,在没有可学习参数的情况下,来聚集中心顶点与其所有相邻顶点之间的特征差异。使用的更新器是一个有batch normalization[16]的多层感知器(MLP)和一个ReLU作为**函数。文中还对不同的GCN变体进行了分析。(详见文章附录A。)

Dynamic Edges

如前所述,大多数GCN只在每次迭代时更新顶点特征。最近的工作[35,43,39]表明,与具有固定图结构的GCN相比,动态图卷积可以更好地学习图的表示。例如,ECC(Edge-Conditioned Convolution,边缘条件卷积)[35]使用动态边缘条件滤波器(dynamic edge-conditional filters)学习特定边的权重矩阵。EdgeConv[43]在每个EdgeConv层之后,找到特征空间中最近的邻居来重建图形。为了学习点云的生成,Graph-Convolution GAN(生成对抗网络)[39]还应用k-NN图来构造每一层顶点的邻域。作者发现动态变化的GCN邻居有助于缓解过度平滑的问题,并产生一个有效的更大的感受野。在本文的框架中,他们提出通过在每一层的特征空间中通过一个Dilated k-NN来重新计算顶点之间的边,以进一步增加receptive field。

3.1. Residual Learning for GCNs

设计深度GCN架构[44,55]是图学习空间中的一个开放问题。最近的工作[20,44,55]表明GCN不能很好地扩展到深层结构,因为叠加多个图卷积层会导致反向传播的高度复杂性。因此,大多数最先进的GCN模型的深度不超过3层[55]。受ResNet[12]、DenseNet[14]和Dilated Convolutions[53]巨大成功的启发,作者将这些想法转移到GCN,以释放它们的全部潜能。这使得更深层次的GCN能够很好地聚合并获得优异的性能。

在最初的图形学习框架中,底层映射H\mathcal{H}(以图形为输入并输出一个新的图形表示(参见等式(1))是需要学习的。作者提出了一个图的残差学习框架,通过拟合另一个残差映射F\mathcal{F}来学习所需的底层映射H\mathcal{H}。在GlG_l通过残差映射F\mathcal{F}变换了后,进行逐点加法得到Gl+1G_{l+1}

Gl+1=H(Gl,Wl)=F(Gl,Wl)+Gl(3) G_{l+1}=\mathcal{H}(G_{l},W_l)=\mathcal{F}(G_l,W_l)+G_l \qquad(3)
残差映射F\mathcal{F}把一个图作为输入并为下一层输出一个残差图的表示Gl+1resG_{l+1}^{res}WlW_l是第ll层的一组可学习参数。在实验中,作者将这个残差模型称为ResGCN。
Gl+1res=F(Gl,Wl):=Gl+1Gl(4) G_{l+1}^{res}=\mathcal{F}(G_l,W_l):=G_{l+1}-G_l \qquad(4)

3.2. Dense Connections in GCNs

DenseNet[14]提出了一种更有效的方法,通过密集的连接来改进信息流并重用层之间的特征。DenseNet的启发下,文中采用了类似的思想到GCNs中,以利用来自不同GCN层的信息流。特别地,定义

Gl+1=H(Gl,Wl)=T(F(Gl,Wl),Gl)=T(F(Gl,Wl),...,F(G0,W0),G0)(5) \begin{aligned} G_{l+1} & =\mathcal{H}(G_{l},W_l) \\ & =\mathcal{T}(\mathcal{F}(G_l,W_l),G_l) \\ & =\mathcal{T}(\mathcal{F}(G_l,W_l),...,\mathcal{F}(G_0,W_0),G_0) \end{aligned} \qquad(5)

操作T\mathcal{T}是一个顶点连接函数,它将输入图G0G_0与所有中间GCN层输出紧密地融合在一起。为此,Gl+1G_{l+1}包含了来自前一层的所有GCN转换。由于将GCN表示紧密地融合在一起,所以作者将他们的密集模型称为DenseGCN。DenseGCN的增长率等于输出图的维数DD。例如,如果F\mathcal{F}生成一个DD维顶点特征,其中输入图G0G_0的顶点为D0D_0维,则Gl+1G_{l+1}的每个顶点的特征尺寸为D0+D×(l+1)D_0+D ×(l+1)

3.3. Dilated Aggregation in GCNs

扩张小波卷积是一种源自小波处理领域的算法[13,34]。为了减轻由池化聚集操作造成的空间信息损失,Yu等人[53]提出扩展卷积(dilated convolutions)作为一种对连续池化层的替代选择,应用于密集预测任务(如语义图像分割)。他们的实验表明,使用扩展卷积对多尺度上下文信息(multi-scale contextual information)进行聚合可以显著提高语义分割任务的准确性。这背后的原因是dilation扩大了感受野而没有失去分辨率。作者认为dilation也有助于GCN的感受野。因此,他们将扩张聚合(dilated aggregation)引入到GCN中。
有许多可能的方法来构建一个扩张的邻居。他们在每一个GCN层后使用一个Dilated k-NN去寻找扩张邻居并构建了一个扩张图(Dilated Graph)。 特别地,对于一个有Dilated k-NN的输入图G=(V,ε)G=(V,\varepsilon)dd是扩张率,扩张Dilated k-NN通过跳过每一个dd邻域,返回k×dk×d邻域内kk个最近邻居。最近邻是根据预先定义的距离度量确定的;他们在特征空间中使用l2l2距离,即欧式距离。

N(d)(v)=u1,u1+d,u1+2d,...,u1+(k1)d \mathcal{N}^{(d)}(v)= {u_1,u_{1+d} ,u_{1+2d} , ..., u_{1+(k−1)d} }

  • N(d)(v)\mathcal{N}^{(d)}(v)定义为顶点vv的d-dilated的邻居
  • (u1,u2,...,uk×d)(u_1 , u_2 , ..., u_{k×d})是排序了的前k×dk×d近的邻居
  • 顶点(u1,u1+d,u1+2d,...,u1+(k1)d)(u_1,u_{1+d} ,u_{1+2d} , ..., u_{1+(k−1)d})是顶点vv的d-dilated的邻居

因此,输出图的边ε(d)\varepsilon ^{(d)}定义在一组d-dilated顶点邻域N(d)(v)\mathcal{N}^{(d)}(v)上。具体地说,存在一个从顶点vv到每个顶点uN(d)(v)u \in \mathcal{N}^{(d)}(v)的有向边ε(d)\varepsilon ^{(d)},其中GCN聚合和更新函数是基于Dilated k-NN创建的边ε(d)\varepsilon ^{(d)}的(见方程(1)),应用于获得所有顶点vv的输出顶点hv(d)h_v^{(d)}的特征。将更新后的顶点表示为V(d)\mathcal{V}^{(d)},然后由具有扩张率为d的扩张图卷积(dilated graph convolution)生成的输出图为G(d)=(V(d),ε(d))G^{(d)}=(\mathcal{V}^{(d)},\varepsilon^{(d)})。为了得到更好的推广,作者在实践中使用了随机扩张(stochastic dilation)。也就是说,在训练时,通过从(u1,u2,...,uk×d)(u_1 , u_2 , ..., u_{k×d})中均匀抽样kk邻域,以很小的概率ϵ\epsilon执行扩张聚合,从而进行随机聚合。在测试时,作者做规则且没有随机性扩张聚合。

4. Experiments

论文中提出了ResGCN和DenseGCN来处理GCNs的梯度消失问题。为了获得一个大的感受野,他们还定义了一个扩张的GCN图卷积(dilated graph convolution)。为了验证作者的框架,他们对大规模点云分割任务进行了大量的实验,并证明他们的方法显著提高了性能。此外, 他们还进行了一项全面的消融研究(perform a comprehensive ablation study),以显示他们的框架不同组成部分的效果。

注:
Ablation study: 消融研究,指通过移除某个模型或者算法的某些特征,来观察这些特征对模型效果的影响

4.1. Graph Learning on 3D Point Clouds

由于点云结构无序、不规则,点云分割是一项具有挑战性的任务。通常,点云中的每个点都由其三维坐标和其他特征(如颜色、曲面法线等)表示。在有向图GG中,作者将每个点视为顶点vv,并使用k-NN构造每个GCN层点之间的有向动态边(第3节)。在第一层,我们通过执行一个dilated k-NN搜索在三维坐标空间中找到最近的邻点,构造了一个初始输入图G0G_0。在随后的层中,他们使用特征空间中的dilated k-NN动态构建边。对于分割任务,他们预测输出层所有顶点的类别。

4.2. Experimental Setup

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

与通常的做法一样,使用以下评估方法:在6个区域中的5个区域训练一个模型,然后在剩下的区域进行评估。他们使用总体精度(OA)所有类的Mean Intersection over Union(MIoU,均交并比)作为评估度量。每个类的IoU(Intersection over Union)用TPTP+TP\frac{TP}{TP+T-P}计算,其中TPTP是True Positive点,TT是该类的ground truth点数,PP是预测为正的点数。他们首先在所有6个区域评估所提出的参考模型(带有残差图连接和随机扩张图卷积(residual graph connections and stochastic dilated graph convolutions)的28层的主干),并将其与浅baseline模型和其他最先进的方法进行比较,以激励深GCN的使用。然后,他们对区域5进行彻底的消融研究(ablation study),分析每个组成部分并提出许多见解。

注:

  • True Positive (真正, TP)被模型预测为正的正样本;
  • True Negative(真负 , TN)被模型预测为负的负样本 ;
  • False Positive (假正, FP)被模型预测为正的负样本;
  • False Negative(假负 , FN)被模型预测为负的正样本;
  • ground truth:在有监督学习中,数据是有标注的,以(x, t)的形式出现,其中x是输入数据,t是标注。正确的t标注是ground truth
  • Mean Intersection over Union(MIoU,均交并比):为语义分割的标准度量。其计算两个集合的交集和并集之比,在语义分割的问题中,这两个集合为真实值(ground truth)和预测值(predicted segmentation),即计算真实值集和预测值集的交集和并集之比后再求平均。这个比例可以变形为正真数(intersection)比上真正、假负、假正(并集)之和。在每个类上计算IoU,之后平均。
    为了便于解释,假设如下:共有k+1k+1个类(从L0L_0LkL_k,其中包含一个空类或背景),pijp_{ij}表示本属于类ii但被预测为类jj的像素数量。即,piip_{ii}表示真正的数量,而pij,pjip_{ij},p_{ji}则分别被解释为假正和假负,尽管两者都是假正与假负之和。
    MIoU=1k+1i=0kpiij=0kpij+j=0kpjipii MIoU=\frac{1}{k+1}\sum_{i=0}^{k}{\frac{p_{ii}}{\sum_{j=0}^{k}{p_{ij}}+\sum_{j=0}^{k}{p_{ji}}-p_{ii}}}

4.3. Network Architectures

如图2所示,实验中的所有网络结构都有三个块(a GCN backbone block, a fusion block and an MLP prediction block)。GCN
backbone block是实验中唯一不同的部分
。例如,PlainGCN和ResGCN之间的唯一区别是,作者向ResGCN中的所有GCN层添加了residual skip connections。PlainGCN和ResGCN具有相同数量的参数。而fusion block和MLP prediction block)保持一致,以便所有架构进行比较。对于S3DIS语义分割任务,GCN backbone block以4096点的点云作为输入,应用连续的GCN层对局部信息进行聚合,提取特征,并输出4096个顶点的学习图表示。fusion block 和MLP prediction block遵循与PointNet[29]和EdgeConv[43]相似的体系结构。fusion block用于融合全局和多尺度局部特征。它将从每个GCN层的GCN backbone block中提取的顶点特征作为输入,并连接这些特征,然后将它们通过1×1卷积层和最大池化层。最大池化层将整个图的顶点特征聚合为全局特征向量。然后重复全局特征向量,并将其与所有先前GCN层的所有顶点特征连接起来,以融合全局和局部信息。MLP prediction block以融合特征作为输入,应用三个MLP层对各点进行分类预测。在实践中,MLP层实现为1×1卷积层。

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

图2. 论文中对于点云语义分割的GCNs网络结构。左图是组成框架的三个block(a GCN backbone block, a fusion block and an MLP prediction block)。右图是GCN backbone block研究的三种主要类型,如PlainGCN、ResGCN、DenseGCN。其中采用了两种GCN跳跃连接:vertex-wise additions and vertex-wise concatenations。kk是GCNs层中最临近的邻居的数量,ff是隐藏层或过滤器的数量,dd是扩张率。

PlainGCN

如图2所示,PlainGCN有a GCN backbone block, a fusion block and an MLP prediction block。其中,GCN backbone block由28个图卷积层组成。作者使用的GCN层类似于baseline之一——EdgeConv[43]。他们堆叠28层GCN,backbone layers之间没有任何skip connections。

ResGCN

作者通过向PlainGCN中加入residual
graph connections从而构成了ResGCN
。他们在GCN backbone block中的所有GCN层之间添加此类连接,但没有增加参数数量。作者还研究了不同的ResGCN结构的性能,例如动态扩张k-NN、规则动态k-NN(不扩张)和固定边的。还研究了不同参数的影响,例如k-NN邻域数(4、8、16、32)、滤波器数(32、64、128)和层数(7、14、28、56)。详细结果如表2所示。随着GCN层的加深,扩张k-NN的扩张率dd呈线性增加(见图2)。

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

表2. 在S3DIS中的5个区域进行的消融研究。作者将参考网络(ResGCN-28有与28层、残差图连接和扩张图卷积等与几个消融的变体进行了比较。除用于评估的区域5外,所有模型在所有区域均以相同的超参数进行100个epoch的训练。分别用\oplus\bowtie符号表示残差连接和密集连接,并用粗体标出了最重要的结果。

DenseGCN

同样,DenseGCN是通过在PlainGCN中添加稠密的图连接和dynamic dilated k-NN来构建的。如第3.2节所述,密集图连接是通过连接前一层的所有中间图表示来创建的。DenseGCN的膨胀率表与ResGCN相同。

4.4. Implementation

作者使用TensorFlow来实现所有模型。为了公平比较,他们使用初始学习率0.001和相同学习率计划的Adam优化器;学习率每3×1053×10^5个梯度下降50%。使用两个Nvidia Tesla V100 GPU,利用数据并行性对网络进行训练。每个GPU的batch size设置为8。Batch Normalization应用于每一层。MLP prediction block的第二个MLP层使用0.3速率的dropout。如第3.3节所述,对于GCNs with dilations,他们使用具有随机均匀抽样概率ϵ=0.2\epsilon=0.2的扩张k-nn。为了隔离所提出的深度GCN架构的影响,不使用任何数据扩充和后处理技术。

4.5. Results

注意,作者将重点放在残差图连接(residual graph connections)上进行分析,因为ResGCN-28更易于训练,速度更快。该网络包含了methodology中提出的想法,作者将此网络(ResGCN-28)与表1中的几个最新baseline进行了比较。结果清楚地显示了具有残差图连接和扩张图卷积的深层模型的有效性。与ResGCN-28结构所基于的DGCNN[43]相比,ResGCN-28在平均IoU方面的性能提高了7.0%(相对)或3.9%(绝对)。此外在13个类别中有9个类优于所有baseline。实验表明,在困难的对象类别中表现尤其出色,如Board(板),评分达到51.1%;对于,Sofa,作者的技术水平提高了大约10%。在困难的类中表现良好可能是因为较高的网络容量(允许网络学习区分板和墙所需的细微细节)。图5中的第一行是此事件的一个代表性示例。性能提升是由于作者在网络架构方面的创新;他们使用与DGCNN[43]相同的超参数甚至学习速率计划,但由于内存限制,仅将最近邻居的数量从20个减少到16个,batch size从24个减少到16个。他们在一定程度上超过了最先进的方法,并且期望通过调整超参数,特别是学习计划,进一步改进。

作者还进行了全面的ablation研究,以揭示他们新网络架构中每个组件的贡献。总共进行了20个实验,并将所有结果显示在表2中。他们还总结了图4中最重要的见解,并在下面提供了关于每个实验的更多细节。

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

图4. 在S3DIS中的5个区域进行的消融研究。作者将参考网络(ResGCN-28有与28层、残差图连接和扩张图卷积等与几个消融的变体进行了比较。除用于评估的区域5外,所有模型在所有区域均以相同的超参数进行100个epoch的训练。

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

表1. state-of-the-art和ResGCN-28的对比。与最先进的baseline相比,文中的参考网络的所有区域的平均每类结果有28层、残差图连接和扩展图卷积。ResGCN-28比最先进的高出近4%,而且,文中的网络在13个类中有9个类超过了所有baseline,显示的指标是总体精度(OA)和平均IoU(MIoU)。

Dynamic k-NN

尽管作者在每一层后更新k个最近邻时观察到了一个改进,但是它的计算成本相对较高。在表2中显示了没有动态边的不同变体。(Dynamic k-NN)

Residual graph connections

实验(见表2:连接)表明,残差图连接对于训练更深的网络至关重要。这类似于CNN的insight[12]。作者认为这些残差图连接会产生更稳定的梯度。当删除层之间的残差图连接时,性能会显著降低(减少12%的mIoU)。

Dense graph connections

可以观察到,使用密集图连接,有类似的性能提高(见表2:Connections)。然而,使用一个naive的实现,内存成本是非常巨大的。因此,为了能够装入GPU内存,模型只使用32个过滤器和8个最近的邻居,而对于residual counterpart,则使用64和16个。由于性能相似,residual connections在大多数用例中似乎更实用。因此,在ablation研究中主要关注残差图连接(residual graph connections),但作者期望关注点转移到稠密图形连接(dense graph connections )。

Dilation

结果表明,dilated graph convolutions在平均IoU中约占3%。与二维卷积相似,dilated graph convolutions增加了网络的感受野(可视化见图3)。实验发现,在Dilated k-NN增加随机性有一点帮助,但不是必要的。有趣的是,在表4(Ablation)中的结果也表明,dilation尤其有助于深层网络结合残差图连接。如果没有residual graph connections,dilated graph convolutions实际上会降低性能。原因可能是这些变化的邻域导致了更糟糕的梯度,这进一步阻碍了无残差图连接的收敛。

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

图3. 在GCNs中的扩展卷积示意图。上图是一个扩张卷积在2维空间中卷积核为2,扩张率分别为1,2,4的示意图;下图是在动态图卷积中扩张率分别为1,2,4的示意图。

Nearest neighbors

实验(见表2:Neighbors)表明,一般来说,更多的邻居有帮助。当邻居数量减少2和4倍时,性能分别下降2.5%和3.3%。但是,如果网络容量足够,大量邻居会提高性能。将邻居数量增加一个系数2,同时将过滤器的数目减少一个系数2时,这就变得很明显了。

Network width

实验(见表2:Width)表明增加过滤器的数量可以提高网络性能。这是有意义的,因为网络具有更高的能力来学习在极端情况中取得成功的细微差别的必要性。

Network Depth

表2(深度)显示,随着过滤器数量的增加,层数的增加会导致性能的类似增加。然而,这仅适用于使用残差图连接(residual graph connections)和扩张图卷积(dilated graph convolu-tions)的情况,如表2(连接)所示。

Qualitative results

在图5中的S3DIS[1]区域5显示了定性结果。从表1的结果可以看出,作者提出的ResGCN和DenseGCN在板、书柜、门和沙发等困难的类上表现得特别好。第一行非常清楚地显示了ResGCN如何能够分割板,而PlainGCN则完全失败。更多定性结果和其他ablation研究可以参考文章附录。

[论文笔记]:ResGCN-Can GCNs Go as Deep as CNNs?

图5. 在S3DIS中的语义分割定性结果。图中展示了添加残差连接和密集连接对深层GCNs的影响。除了在ResGCN中有残差连接、在DenseGCN中有密集连接以后,PlainGCN,ResGCN和在DenseGCN是一样的。注意到残差图连接和密集图连接对困难类(如Board、Bookcase和Sofa)都有实质性的影响;这些影响在PlainGCN中完全没有。

5. Conclusion and Future Work

作者研究了如何将已证实的有用概念(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个最近的邻居。由于计算上的限制,无法详细研究如此深入的体系结构,并将其留给将来的工作。

结果表明,在解决了GCN的消失梯度问题后,可以使GCN更深或更宽(例如ResGCN-28W),以获得更好的性能。作者最后期望GCN成为计算机视觉、自然语言处理、数据挖掘等方面处理非欧几里得数据的有力工具。他们展示了成功的案例,以适应从CNN到GCN的概念。未来,有必要探索如何转移其他操作,例如可变形卷积(deformable convolutions)[6],其他架构,例如特征金字塔架构(feature pyramid architectures0[54]等等。研究不同的距离度量来计算dilated k-nn、在每一层使用不同的k去构造图、GCN的更好的dilation rate schedules[4,42]以及结合residual and dense connections也是很有趣的。

作者还指出,对于点云语义分割的具体任务,通常的处理1m×1m列数据的方法对于图形表示是次优的。一个更合适的抽样方法应该会进一步提高性能。

6. 资料分享

ResGCN-Can GCNs Go as Deep as CNNs? 两份PPT(官方PPT和会议PPT)
ResGCN-Can GCNs Go as Deep as CNNs 论文ppt
Stanford Large-Scale 3D Indoor Spaces Dataset (S3DIS,斯坦福大规模三维室内空间数据集)
此论文的tensorflow版github源代码