abstract
本文首次将NAS(Neural Architecture Search 神经架构搜索)应用到语义分割领域。
-
NAS
在大规模图像分类问题上,NAS定义的神经网络框架的表现已经超过了人类设计的网络。在本篇论文中我们研究把NAS应用于语义分割上。 -
motivation
现有的研究通常注重搜索可重复的单元结构,而用人工设计外部网络结构来控制空间分辨率变化。这样做简化了搜索空间,但对于表现出有许多网络级架构变体(network level architectural variations)的密集图像预测(dense image prediction)而言,该方法越来越成问题。
【具体的在introduction中有介绍】 -
our work
因此我们除了搜索单元级结构(cell level structure)之外还要搜索网络级架构(network level structure),从而形成分层架构搜索空间(hierarchical architecture search space)。我们提出包含许多流行网络设计的网络级搜索空间,并且提出一个公式进行基于梯度的高效架构搜索( efficient gradient-based architecture search)。
1. introduction
- NAS应用到语义分割的必要性
在本文,我们研究了将神经架构搜索用于图像语义分割的方法,图像语义分割是计算机视觉中的重要任务,它将诸如“person”或“bicycle”等标签分配给输入图像的每个像素。 - 简单将NAS应用到图像分类的idea是移植到语义分割是不可行的
在图像分类中,NAS通常使用从低分辨率图像到高分辨率图像的迁移学习,而语义分割的最佳框架必须在高分辨率图像运行。因此我们需要:- 更relaxed和general的search space
我们需要设计一个更弹性和通用的搜索空间,用来捕捉更高的分辨率带来的结构变化(architectural variations) - 更有效的architecture search technique
我们需要用一个更有效的结构搜索技术,因为更高的分辨率需要更多的计算
- 更relaxed和general的search space
- 当前NAS都遵循CNN的两层分级设计,只在内部单元级别使用自动搜索,外部网络级别使用手动设计
【这部分对应abstract的introduction】
现有CNN设计通常遵循两层分级结构(two-level hierarchy):外部网络级(outer network level)和内部网络级(inner cell level)。outer network level控制空间分辨率变化,inner cell level控制特定的层级的计算(layer-wise computations)。
当前NAS绝大部分工作都是遵循CNN的这两种分级设计,但是只在inner cell level使用自动搜索,outer network level还是手动设计。这种有限的搜索空间对dense image prediction而言是一个问题,因为dense image prediction对空间分辨率变化很敏感。 - 我们的工作
我们提出了类似网格的网络级搜索空间(trellis-like network level search space),它增强了[93]中首次提出的常用单元级搜索空间,从而形成分层架构搜索空间(hierarchical architecture search space)。
[93]论文链接http://openaccess.thecvf.com/content_cvpr_2018/papers/Zoph_Learning_Transferable_Architectures_CVPR_2018_paper.pdf
我们的目标是专门学习可重复单元结构和网络结构的良好组合,以进行语义图像分割。
我们从NAS的可微分公式汲取灵感,并开发出了与分层架构搜索空间完全匹配的连续松弛的离散架构。这个分级架构搜索通过随机梯度下降进行。**当搜索终止时,最好的单元架构会被贪婪解码,最好的网络架构会有效的通过Viterbi算法解码。**我们直接在裁剪得到的Cityscapes[13] 321×321图像上进行架构搜索。该搜索十分有效,在单个P100 GPU上只需要花费3天时间。
- contribution
- 我们是首次将NAS从图像分类扩展到密集图像预测的尝试之一
- 我们提出了一个网络级的架构搜索空间,它可以增强和补充已经得到深入研究的单元级架构搜索,并对网络级和单元级架构进行更具挑战性的联合搜索。
- 我们开发出一个可微的连续公式,它可以在两级分层架构上进行有效搜索,在单个GPU上只需3天。
- 在Cityscapes上,未经ImageNet预训练的情况下,我们的模型显著优于FRRN-B和GridNet,经过ImageNet预训练的情况下,我们和其他最先进模型的表现相当。在PASCAL VOC 2012 和ADE20K上,我们最好的模型也优于几个当前最先进的模型。
2.related work
3.Architecture Search Space 架构搜索空间
本节介绍我们的两级分层结构搜索空间(two-level hierarchical architecture search space)。
- 3.1: inner cell level 内部单元级
对于3.1讲的内部单元级,我们复用[93, 47, 62, 49]中采用的方法,从而和以前的工作保持一致。
[93]Learning transferable architectures for scalable image recognition.
[47] Progressive neural architecture search.
http://openaccess.thecvf.com/content_ECCV_2018/papers/Chenxi_Liu_Progressive_Neural_Architecture_ECCV_2018_paper.pdf
[62] Regularized evolution for image classifier architecture search
[49]Darts: Differentiable architecture search. - 3.2:outer network level 外部网络级
对于3.2讲的外部网络级,我们基于对许多流行设计的观察和总结提出了一种新颖的搜索空间。
3.1 Cell Level Search Space 单元级搜索空间
我们将一个单元(cell)定义为一个小的全卷积模块,通常会重复多次去形成整个神经网络。具体来说,一个 cell 是 由B 个块 (blocks)组成的一个有向无环图(directed acyclic graph)。
每个块是双分支结构,将两个输入张量(tensor)映射到一个输出tensor。cell l中的block i可能会用一个5元组 ( I 1 , I 2 , O 1 , O 2 , C ) (I_1,I_2,O_1,O_2,C) (I1,I2,O1,O2,C)定义,其中 ( I 1 , I 2 ) ∈ I i l (I_1,I_2)∈I_i^l (I1,I2)∈Iil是input tensor的选择, ( O 1 , O 2 ) ∈