第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索

0.摘要

        最近,神经架构搜索(NAS)已经成功地识别出在大规模图像分类任务上超越人工设计的神经网络架构。在本文中,我们研究了NAS在语义图像分割任务中的应用。现有的工作通常集中在搜索可重复的基本单元结构,而手动设计控制空间分辨率变化的外部网络结构。这种选择简化了搜索空间,但对于密集图像预测任务来说,网络级别的架构变化更加复杂。因此,我们提出了在基本单元结构之外搜索网络级别结构的方法,形成了一个分层的架构搜索空间。我们提出了一个包含许多流行设计的网络级别搜索空间,并开发了一种有效的基于梯度的架构搜索方法(在Cityscapes图像上使用了3个P100 GPU天的计算资源)。我们在具有挑战性的Cityscapes、PASCAL VOC 2012和ADE20K数据集上展示了所提出方法的有效性。我们的架构搜索方法Auto-DeepLab在语义图像分割任务中达到了最先进的性能,而且没有进行任何ImageNet预训练。

1.引言

        深度神经网络已经在各种人工智能任务中取得了成功,包括图像识别 [38,25]、语音识别 [27]、机器翻译 [73,81]等。尽管更好的优化器 [36]和更好的归一化技术 [32,80]在其中起到了重要作用,但很多进展都来自于神经网络架构的设计。在计算机视觉领域,这对于图像分类 [38,72,75,76,74,25,85,31,30]和密集图像预测 [16,51,7,64,56,55]都是成立的。最近,在AutoML和普及人工智能的精神下,设计自动化神经网络架构的兴趣日益增加,而不是过分依赖专家经验和知识。重要的是,在过去的一年中,神经架构搜索(NAS)已经成功地在大规模图像分类问题上识别出了超过人工设计的架构 [93,47,62]。

        图像分类是神经架构搜索(NAS)的一个很好的起点,因为它是最基础且研究最充分的高级识别任务。此外,存在着一些基准数据集(如CIFAR-10),其图像相对较小,从而导致计算量较小,训练速度较快。然而,图像分类不应该是NAS的终点,当前的成功显示了将其扩展到更具挑战性领域的潜力。在本文中,我们研究了用于语义图像分割的神经架构搜索,这是一个重要的计算机视觉任务,它为输入图像中的每个像素分配类似于“人”或“自行车”的标签。简单地从图像分类中移植想法并不足以满足语义分割的要求。在图像分类中,NAS通常将从低分辨率图像到高分辨率图像的迁移学习应用于NAS [93],而用于语义分割的最佳架构必须在高分辨率图像上运行。这表明需要:(1)更宽松和更一般的搜索空间,以捕捉较高分辨率图像带来的架构变化,以及(2)更高效的架构搜索技术,因为更高的分辨率需要更多的计算量。

        我们注意到现代的卷积神经网络设计 [25,85,31]通常遵循一个两级层次结构,其中外部网络级别控制空间分辨率的变化,内部单元级别控制具体的逐层计算。目前绝大多数关于NAS的研究 [93,47,62,59,49]也遵循这种两级层次设计,但只自动搜索内部单元级别,而手动设计外部网络级别。然而,这种有限的搜索空间对于密集图像预测问题是有问题的,因为它对空间分辨率的变化非常敏感。因此,在我们的工作中,我们提出了一个像格子一样的网络级别搜索空间,将最初在 [93]中提出的常用单元级别搜索空间进行扩展,形成了一个分层的架构搜索空间。我们的目标是共同学习可重复的单元结构和网络结构的良好组合,特别适用于语义图像分割任务。

        就架构搜索方法而言,强化学习 [92, 93]和进化算法 [63, 62]即使在低分辨率的CIFAR-10数据集上也往往需要大量计算资源,因此可能不适用于语义图像分割。我们从可微分的NAS [69, 49]的表达式中获得启发,并开发了一种连续的松弛方法来精确匹配分层架构搜索空间的离散架构。通过随机梯度下降进行分层架构搜索。当搜索结束时,我们使用贪婪算法解码出最佳的单元结构,使用维特比算法高效解码出最佳的网络结构。我们直接在来自Cityscapes [13]的321×321图像裁剪上进行架构搜索。这种搜索非常高效,只需要在一个P100 GPU上进行约3天的时间。

        我们在多个语义分割数据集上报告了实验结果,包括Cityscapes [13]、PASCAL VOC 2012 [15]和ADE20K [90]。在没有ImageNet [65]预训练的情况下,我们的最佳模型在Cityscapes测试集上的性能显著超过了FRRN-B [60] 8.6% 和GridNet [17] 10.9%,在同时利用Cityscapes上的粗略注释时,与其他ImageNet预训练的最先进模型 [82,88,4,11,6] 的性能相当。值得注意的是,我们的最佳模型(无预训练)在Multi Adds方面的性能与DeepLabv3+ [11](有预训练)相当,但速度快了2.23倍。此外,我们的轻量级模型的性能仅比DeepLabv3+ [11]低1.2%,而参数数量减少了76.7%,在Multi-Adds方面速度提高了4.65倍。最后,在PASCAL VOC 2012和ADE20K上,我们的最佳模型在使用更少的预训练数据的情况下超过了几个最先进模型 [90,44,82,88,83]。

总结起来,我们论文的贡献有四个方面:

  • 我们是首批将NAS扩展到稠密图像预测领域的尝试之一。
  • 我们提出了一个网络级别的架构搜索空间,对已有的单元级别搜索空间进行了增强和补充,并考虑了更具挑战性的网络级别和单元级别结构的联合搜索。
  • 我们开发了一个可微分、连续的表达式,以在3天的GPU训练时间内高效地进行两级层次结构的架构搜索。
  • 在没有ImageNet预训练的情况下,我们的模型明显优于FRRN-B和GridNet,并在Cityscapes上达到了与其他ImageNet预训练的最先进模型相当的性能。在PASCAL VOC 2012和ADE20K上,我们的最佳模型也超过了几个最先进的模型。

2.相关工作

图像语义分割:在全卷积神经网络(FCNs [68, 51])的完全卷积方式下,卷积神经网络[42]在几个语义分割基准测试上取得了显著的性能。在最先进的系统中,有两个关键组成部分:多尺度上下文模块和神经网络设计。已经知道上下文信息对于像素标记任务[26, 70, 37, 39, 16, 54, 14, 10]非常重要。因此,PSPNet [88]在几个网格尺度上执行空间金字塔池化[21, 41, 24](包括图像级池化[50]),而DeepLab [8, 9]则应用了几个具有不同采样率的并行空洞卷积[28, 20, 68, 57, 7]。另一方面,神经网络设计的改进显著推动了性能的提高,从AlexNet [38],VGG [72],Inception [32, 76, 74],ResNet [25]到更近期的架构,如Wide ResNet [86],ResNeXt [85],DenseNet [31]和Xception [12, 61]。除了将这些网络作为语义分割的主干网络之外,还可以采用编码器-解码器结构[64, 2, 55, 44, 60, 58, 33, 79, 18, 11, 87, 83],这种结构可以在保持详细的对象边界的同时有效地捕获长距离的上下文信息。然而,除了FRRN [60]和GridNet [17]之外,大多数模型都需要从ImageNet [65]预训练的检查点进行初始化,用于语义分割任务。具体而言,FRRN [60]采用了一个双流系统,其中一个流中携带全分辨率信息,另一个流中携带上下文信息。GridNet在类似的思想基础上构建了多个具有不同分辨率的流。在这项工作中,我们应用神经架构搜索来为语义分割专门设计网络主干。我们进一步展示了在没有ImageNet预训练的情况下的最先进性能,并在Cityscapes [13]上显著优于FRRN [60]和GridNet [17]。

神经架构搜索方法:旨在自动设计神经网络架构,从而减少人力和工作量。一些工作[22, 34, 92, 49]在语言任务中搜索RNN单元,而更多的工作则在图像分类中搜索良好的CNN架构。一些论文使用强化学习(或者是策略梯度[92, 93, 5, 77]或者是Q-learning[3, 89])来训练一个循环神经网络,该网络表示生成CNN架构的策略的序列。与RL相反,还可以使用进化算法(EA),通过对迄今为止找到的最佳架构进行变异来“进化”架构[63, 84, 53, 48, 62]。然而,这些RL和EA方法在搜索过程中往往需要大量的计算资源,通常需要数千个GPU天。PNAS[47]提出了一种渐进搜索策略,大大降低了搜索成本,同时保持了搜索架构的质量。NAO[52]将架构嵌入到潜空间中,并在解码之前进行优化。此外,一些工作[59, 49, 1]利用样本模型之间的架构共享,而不是单独对每个模型进行训练,从而进一步降低了搜索成本。我们的工作遵循可微分NAS的形式化[69, 49],并将其扩展到更一般的分层设置中。

神经架构搜索空间:之前的论文,比如[92, 63],尝试直接构建整个网络。然而,更近期的论文[93, 47, 62, 59, 49]已经转向搜索可重复的单元结构,同时通过手动固定外部网络级别的结构。这个策略最早在[93]中提出,可能受到现代CNN常用的两级层次结构的启发。我们的工作仍然使用这种单元级别的搜索空间,以保持与之前的工作的一致性。然而,我们的贡献之一是提出了一个新的通用的网络级别搜索空间,因为我们希望在这两级层次结构上进行联合搜索。我们的网络级别搜索空间与[67]有相似的外观,但重要的区别在于[67]保留了整个“结构”,并没有改变架构的意图,而我们为每个连接关联了一个显式的权重,并专注于解码一个离散的结构。此外,[67]在将人脸图像分割成3个类别[35]方面进行了评估,而我们的模型在Cityscapes[13],PASCAL VOC 2012[15]和ADE20K[90]等大规模分割数据集上进行了评估。与我们最相似的工作是[6],它也研究了用于语义图像分割的NAS。然而,[6]专注于使用随机搜索来搜索较小的Atrous Spatial Pyramid Pooling(ASPP)模块,而我们专注于使用更先进、更高效的搜索方法来搜索更基础的网络主干架构。

3.架构搜索空间

        本节描述了我们的两级层次化架构搜索空间。对于内部单元级别(第3.1节),我们重新使用了[93,47,62,49]中采用的方法,以保持与之前的工作的一致性。对于外部网络级别(第3.2节),我们根据对许多流行设计的观察和总结,提出了一个新颖的搜索空间。

3.1.单元级别搜索空间

        我们将一个单元定义为一个小的全卷积模块,通常重复多次以构成整个神经网络。更具体地说,一个单元是一个由B个块组成的有向无环图。每个块是一个两分支结构,将两个输入张量映射到一个输出张量。在单元l中的第i个块可以用一个5元组(I1,I2,O1,O2,C)来指定,其中I1,I2 ∈ Il i Il i是选择应用于相应输入张量的层类型,C ∈ C是用来将两个分支的个体输出组合成该块的输出张量Hil的方法。单元的输出张量Hl只是按照顺序连接块的输出张量H1l,...,HBl。可能的输入张量集合Iil由前一个单元的输出Hl-1,前两个单元的输出Hl-2以及当前单元中前面的块的输出{H1l,...,Hil}组成。因此,随着在单元中增加更多的块,下一个块有更多的选择作为潜在的输入来源。可能的层类型集合O包括以下8种在现代CNN中常见的操作符:

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第1张图片

 于可能的组合操作符C的集合,我们简单地让逐元素相加成为唯一的选择。

3.2.网络级别搜索空间

        在由[93]开创的图像分类NAS框架中,一旦找到了一个单元结构,整个网络就会使用预定义的模式进行构建。因此,网络级别并不是架构搜索的一部分,因此其搜索空间从未被提出或设计过。这个预定义的模式简单明了:一些“正常单元”(保持特征张量的空间分辨率)被“缩减单元”(将空间分辨率减少一半并将滤波器数量乘以2)等距离地分隔开来。这种保持下采样策略在图像分类案例中是合理的,但在密集图像预测中,保持高空间分辨率也很重要,因此网络级别的变化更多[9,56,55]。在密集图像预测的各种网络结构中,我们注意到有两个一致的原则:

        •下一层的空间分辨率要么是上一层的两倍,要么是一半,要么保持不变。

        •最小的空间分辨率被下采样了32倍。

        在遵循这些常见做法的基础上,我们提出了以下网络级别的搜索空间。网络的开始是一个两层的“干线”结构,每一层将空间分辨率降低了2倍。之后,共有L层具有未知的空间分辨率,最大的分辨率被下采样了4倍,最小的分辨率被下采样了32倍。由于每一层的空间分辨率最多相差2倍,因此干线之后的第一层只能是下采样4倍或8倍。我们在图1中展示了我们的网络级别搜索空间。我们的目标是在这个L层的网格中找到一条好的路径。在图2中,我们展示了我们的搜索空间足够一般,可以涵盖许多流行的设计。在未来,我们计划进一步放宽这个搜索空间,包括U-net架构[64,45,71],其中第l层除了接收l-1层的输入外,还可以接收来自l之前的另一层的输入。我们再次强调,我们的工作在细胞级别的架构之外还搜索了网络级别的架构。因此,我们的搜索空间比之前的工作更具挑战性和通用性。

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第2张图片

 图1:左侧:我们的网络级别搜索空间,其中L = 12。灰色节点表示固定的“干线”层,沿着蓝色节点的路径表示候选的网络级别架构。右侧:在搜索过程中,每个单元都是一个密集连接的结构,如4.1.1节所述。每个黄色箭头都与一组值αj→i相关联。连接层之后的三个箭头分别与βls2ls2→s,βsl→s,β2ls→s相关联,如4.1.2节所述。最好以彩色查看。

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第3张图片

(a) DeepLabv3使用的网络级架构。

(b) Conv-Deconv使用的网络级架构。

(c) Stacked Hourglass使用的网络级架构。

图2:我们的网络级别搜索空间是通用的,并包括各种现有设计。

4.方法

        我们首先介绍了一个连续松弛的离散架构,它与上述描述的分层架构搜索完全匹配。然后我们讨论了如何通过优化进行架构搜索,以及在搜索结束后如何解码出离散架构。

4.1.架构的连续松弛

4.1.1.单元架构

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第4张图片

4.1.2.网络架构

        在一个单元内,所有张量都具有相同的空间大小,这使得等式(1)和等式(2)中的加权和成为可能。然而,正如图1清楚地展示的那样,在网络层级中张量的大小可能不同。因此,为了建立连续松弛,每一层l最多有4个隐藏状态{4Hl,8Hl,16Hl,32Hl},其中左上角的上标表示空间分辨率。我们设计了网络层级的连续松弛,以完全匹配第3.2节中描述的搜索空间。我们将每个灰色箭头与一个标量相关联,并进行网络层级的更新:

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第5张图片其中s=4、8、16、32,l=1、2、...、L。标量β被归一化,使得:

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第6张图片

 β也被实现为softmax。等式(6)展示了两个层级层次的连续松弛如何交织在一起。特别地,β控制外部网络层级,因此取决于空间大小和层索引。β中的每个标量控制一个完整的α集合,然而α指定的架构不依赖于空间大小或层索引。如图1所示,在第L层的每个空间分辨率上都附加了Atrous Spatial Pyramid Pooling(ASPP)模块(atrous rate相应调整)。它们的输出经过双线性上采样到原始分辨率,然后相加生成预测结果。

4.2.优化

        引入连续松弛的优势在于,控制不同隐藏状态之间连接强度的标量现在成为可微计算图的一部分。因此,它们可以使用梯度下降有效地进行优化。我们采用了[49]中的一阶近似,并将训练数据分为两个不相交的集合trainA和trainB。优化过程交替进行:

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第7张图片其中损失函数L是在语义分割小批量上计算的交叉熵。不相交集合的划分是为了防止架构过度拟合训练数据。

4.3.离散架构解码

单元架构:按照[49]的方法,我们通过首先保留每个块中2个最强的前任来解码离散的细胞架构(从隐藏状态j到隐藏状态i的强度为maxk,Ok6=zero αjk→i;回顾第3.1节中的定义,"zero"表示"没有连接"),然后通过取argmax来选择最可能的运算符。

网络架构方程(7)基本上说明了图1中每个蓝色节点的“出站概率”总和为1。实际上,β值可以解释为不同“状态”(空间分辨率)之间在不同“时间步长”(层编号)上的“转移概率”。相当直观地,我们的目标是找到从起点到终点的具有“最大概率”的路径。我们的实现中可以使用经典的Viterbi算法高效地解码这条路径。

5.实验结果

        在这里,我们报告了我们的架构搜索实现细节以及搜索结果。然后,我们使用我们找到的最佳架构在基准数据集上报告了语义分割结果。

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第8张图片

 图3:我们在Cityscapes上通过分层神经架构搜索找到的Auto-DeepLab架构。灰色虚线箭头显示了每个节点的最大β连接。atr:空洞卷积。sep:深度可分离卷积。

5.1.架构搜索实现细节

        我们在网络中考虑了总共L = 12层,并且每个细胞中有B = 5个块。网络级别的搜索空间有2.9×10^4个唯一路径,细胞结构的数量为5.6×10^14。因此,联合分层搜索空间的大小约为10^19。我们遵循常见的做法,在减半特征张量的高度和宽度时,将滤波器数量加倍。图1中每个具有下采样率s的蓝色节点都有B×F×s^4个输出滤波器,其中F是控制模型容量的滤波器倍增器。在架构搜索期间,我们设置F = 8。对于所有的s^2→s连接,我们使用步长2的卷积,既可以减小空间尺寸,又可以将滤波器数量加倍。对于所有的2s→s连接,我们使用双线性上采样后跟1×1卷积,既可以增加空间尺寸,又可以减半滤波器数量。[9]中使用的Atrous Spatial Pyramid Pooling模块有5个分支:一个1×1卷积,三个带有不同空洞率的3×3卷积和池化图像特征。在搜索过程中,我们简化了ASPP模块,将其缩减为只有3个分支,仅使用一个带有空洞率96 96 s的3×3卷积。每个ASPP分支产生的滤波器数量仍然是B×F×s^4。

        我们在Cityscapes数据集[13]上进行语义图像分割的架构搜索。更具体地说,我们从训练集的半分辨率(512×1024)图像中随机选择321×321的图像裁剪。我们随机选择训练集的一半图像作为trainA,另一半作为trainB(参见第4.2节)。架构搜索优化总共进行了40个epochs。由于GPU内存限制,批量大小为2。在学习网络权重w时,我们使用带有动量0.9的SGD优化器,余弦学习率从0.025衰减到0.001,权重衰减为0.0003。在进行softmax之前,α和β的初始值是从标准高斯分布中采样得到的,乘以0.001。它们使用Adam优化器[36]进行优化,学习率为0.003,权重衰减为0.001。我们经验性地发现,如果在w未训练良好时从一开始就优化α和β,架构往往会陷入坏的局部最优解。因此,我们在20个epochs之后开始优化α和β。整个架构搜索优化过程在一块P100 GPU上大约需要3天时间。图4显示,在整个过程中,验证准确率持续提高。我们还尝试了更长的epochs(60、80、100),但没有观察到好处。

        图3展示了找到的最佳架构。在网络级别的架构中,较高的分辨率在开始(长时间保持4倍下采样)和结束(8倍下采样)处更受青睐。我们还使用灰色虚线箭头展示了每个节点的最强输出连接。我们观察到,在前3/4层中普遍倾向于下采样,在最后1/4层中进行上采样。在细胞级别的架构中,经常使用空洞卷积和深度可分离卷积的组合,表明上下文的重要性已经被学习到。需要注意的是,对于图像分类任务来说,很少发现空洞卷积在细胞中有用。

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第9张图片

图4:在10个随机试验的40个epochs的架构搜索优化过程中的验证准确率。

5.2.语义分割结果

        我们在Cityscapes [13]、PASCAL VOC 2012 [15]和ADE20K [90]数据集上评估我们找到的最佳架构(图3)的性能。

        我们遵循[9,11]中的相同训练协议。简而言之,在训练过程中,我们采用多项式学习率调度[50],初始学习率为0.05,并使用较大的裁剪尺寸(例如,在Cityscapes上为769×769,在PASCAL VOC 2012和调整后的ADE20K图像上为513×513)。在训练过程中,我们微调批量归一化参数[32]。模型分别在Cityscapes上进行了150万次迭代训练,在PASCAL VOC 2012上进行了150万次迭代训练,在ADE20K上进行了400万次迭代训练。我们采用了类似于DeepLabv3+的简单编码器-解码器结构。具体来说,我们的编码器由我们找到的最佳网络架构与ASPP模块[8,9]相结合,我们的解码器与DeepLabv3+中的解码器相同,通过利用下采样率为4的低级特征恢复边界信息。此外,我们重新设计了“stem”结构,采用三个3×3的卷积(第一和第三个卷积的步幅为2)。前两个卷积层有64个滤波器,而第三个卷积层有128个滤波器。这个“stem”在分割任务中已经被证明是有效的[88,78]。

表2:Cityscapes验证集上不同Auto-DeepLab模型变种的结果。F:控制模型容量的滤波器乘数。我们所有的模型都是从头开始训练,并在推理过程中使用单尺度输入。

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第10张图片

表3:Cityscapes验证集结果。我们尝试了采用不同的训练迭代次数(500K、1M和1.5M次迭代)和Scheduled Drop Path方法(SDP)对结果的影响。所有模型都是从头开始训练的。第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第11张图片

5.2.1.Cityscapes数据集

        Cityscapes [13]数据集包含大小为1024×2048的5000张高质量像素级注释的图像(分别为2975张训练集、500张验证集和1525张测试集),还有约20000张粗略注释的训练图像。根据评估协议[13],我们使用19个语义标签进行评估,不考虑void标签。在表2中,我们报告了Cityscapes验证集的结果。与MobileNets [29,66]类似,我们通过改变滤波器乘数F来调整模型容量。从表中可以看出,更高的模型容量会以更慢的速度(通过更大的乘法加法操作数表示)换取更好的性能。

        在表3中,我们展示了将训练迭代次数从500K增加到1.5M次迭代时,使用我们的轻量级模型变种Auto-DeepLab-S的性能提高了2.8%。此外,采用Scheduled Drop Path [40,93]进一步提高了1.74%的性能,使得在Cityscapes验证集上达到了79.74%的性能。然后我们在表4中报告了测试集的结果。在没有任何预训练的情况下,我们的最佳模型Auto-DeepLab-L相比FRNN-B [60]提高了8.6%,比GridNet [17]提高了10.9%。在额外的粗略注释下,我们的模型Auto-DeepLab-L在没有在ImageNet [65]上进行预训练的情况下,实现了82.1%的测试集性能,超过了PSPNet [88]和Mapillary [4],并且与DeepLabv3+ [11]的性能相当,同时需要减少55.2%的Mutli-Adds计算量。值得注意的是,我们的轻量级模型变种Auto-DeepLab-S在测试集上达到了80.9%的性能,与PSPNet相当,仅使用了10.15M个参数和333.25B的Multi-Adds。

5.2.2.PASCAL VOC 2012数据集

        PASCAL VOC 2012 [15]包含20个前景对象类别和一个背景类别。我们使用[23]提供的额外注释对原始数据集进行增强,得到了10582张(train aug)训练图像。在表5中,我们报告了验证集的结果。我们的最佳模型Auto-DeepLab-L在单尺度推理下,相比[19]提高了20.36%的性能。此外,对于我们所有的模型变种,采用多尺度推理可以提高约1%的性能。进一步对我们的模型进行COCO [46]上的4M次迭代预训练可以显著提高性能。

        最后,在表6中,我们报告了在PASCAL VOC 2012测试集上使用我们在COCO上预训练的模型变种的结果。如表中所示,我们的最佳模型在测试集上达到了85.6%的性能,超过了RefineNet [44]和PSPNet [88]。与以Xception-65为网络主干的性能最好的DeepLabv3+ [11]相比,我们的模型落后了2.2%。我们认为PASCAL VOC 2012数据集太小,无法从头开始训练模型,因此在这种情况下,在ImageNet上进行预训练仍然是有益的。

表5:PASCAL VOC 2012验证集结果。我们尝试了采用多尺度推理(MS)和COCO预训练检查点(COCO)对结果的影响。在没有任何ImageNet图像的预训练的情况下,我们的最佳模型(Auto-DeepLab-L)相比DropBlock提高了20.36%的性能。

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第12张图片

表6:PASCAL VOC 2012测试集结果。我们的Auto DeepLab-L在测试集上获得了与许多在ImageNet和COCO数据集上进行预训练的最先进模型相媲美的性能。我们建议读者参考官方排行榜获取其他最先进模型的信息。

第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第13张图片

 表7:ADE20K验证集结果。我们在推理过程中采用了多尺度输入。†:结果分别从它们最新的模型库网站获得。ImageNet:在ImageNet上进行预训练的模型。Avg:mIOU和像素准确率的平均值。第十八章:Auto-DeepLab:用于语义图像分割的层次化神经架构搜索_第14张图片

5.2.3.ADE20K数据集

        ADE20K [90]包含150个语义类别和20000张训练图像和2000张验证图像的高质量注释。在我们的实验中,所有图像在训练过程中都被调整大小,使得较长的一边为513。在表7中,我们报告了验证集的结果。我们的模型在性能上超过了一些最先进的模型,包括RefineNet [44]、UPerNet [83]和PSPNet(ResNet-152)[88];然而,没有任何ImageNet [65]的预训练,我们的性能落后于最新的[11]工作。

6.结论

        在本文中,我们首次尝试将神经架构搜索扩展到稠密图像预测问题。我们并不仅仅关注单元级别,而是认识到空间分辨率的变化的重要性,并通过将网络级别纳入搜索空间来接受架构的变化。我们还开发了一种可微分的公式,可以在我们的两级分层搜索空间上进行高效的(比DPC [6]快约1000倍)架构搜索。搜索的结果是Auto-DeepLab,在基准语义分割数据集上进行了从头训练的评估。在Cityscapes数据集上,Auto-DeepLab的性能比之前的最先进方法提高了8.6%,并在利用粗略注释时与ImageNet预训练的顶级模型性能相当。在PASCAL VOC 2012和ADE20K数据集上,Auto-DeepLab也优于几个ImageNet预训练的最先进模型。在未来的工作中,在当前的框架内,相关应用如目标检测应该是可行的;我们还可以尝试在不同层之间解开单元架构α(参考[77]),几乎没有额外的计算开销。在超出当前框架的范围内,一个更通用的网络级别搜索空间应该是有益的(参考第3.2节)。

你可能感兴趣的:(架构,cnn,人工智能,神经网络)