学习可延展不同图像分类任务的

导论
开发神经网络图像分类模型往往离不开重要的结构工程。本文研究了一种直接在感兴趣的数据集上学习模型体系结构的方法。由于这种方法在数据集较大时开销很大,因此我们建议在小型数据集上搜索体系结构构建块,然后将该块转移到更大的数据集中。这项工作的主要贡献是设计了一个新的搜索空间(我们称之为“NASNet搜索空间”),以实现可移植性。在研究人员设计的实验中,NASNet会搜索CIFAR-10数据集上最好的卷积层(或“cell”),然后将该单元应用到ImageNet数据集中,方法是将该单元的更多block叠在一起,每个单元都有各自的参数来设计一个卷积结构,该网络被命名为MNASNet。另外,研究人员还引入了一种称为ScheduledDropPath的新的正则化技术,它大大提高了NASNet模型的泛化能力。在CIFAR-10数据集上,使用NASNet+ScheduledDropPath的方法在精度上达到了2.4%的错误率,这是目前为止最先进的方法。虽然无法在ImageNet上直接搜索该单元格,但在已知的方法中,由最佳单元格构建的NASNet在ImageNet上最高准确率为82.7%,top5准确率为96.2%。与以前最先进的模型相比,我们的模型比最好的人类发明的架构精确度高出1.2%,同时减少了90亿次FLOPS,计算需求减少了28%。基于不同的计算成本进行评估,NASNet的精确度超过了最先进的人类设计模型的精度。例如,一个小型的NASNet版本也达到了74%的顶级精度,这比同等大小的、最先进的移动平台模型要好3.1%。最后,从图像分类中学习到的图像特征是通用的,可以转移到其他计算机视觉问题上。在目标检测任务上,NASNet框架结合Faster-RCNN框架将精度提高了4%,mAP为43.1%。
开发图像分类的神经网络模型需要至关重要的架构工程,在ImageNet分类任务上使用卷积网络架构,这些年的工作是突飞猛进的,由设计架构之类的工程性手段带来的效果令人印象深刻。
本论文研究了一种设计卷积神经网络的方法,它可以用于各种图像分类任务,包括ImageNet任务的定制上。该方法受到之前的神经架构搜索方法的影响,它是用强化学习的方法进行架构定制的(么么哒)。然而,把NAS和其他搜索方法直接使用到大型数据集上,太奢侈了(呜呜)。也因此,研究人员先把小的数据集(比如CIFAR-10)当作某种代理数据集,在将该数据集上训练的网络迁移到大的数据集上(比如ImageNet)。(我去,从来只有大数据分布向小数据分布迁移的道理)。研究人员设计了一个搜索空间,姑且称之为”NASNet搜索空间“,架构的复杂度与网络的深度和输入图像的尺寸无关,也借此实现了某种可迁移性。更具体地说,该搜索空间里所有卷积网络是由不同权重但架构相同的卷积层(称为”cell“)组成的。找最好的神经网络架构等同于搜索最优的细胞(cell)架构。搜索最优的Cell结构有两个好处:它比搜索整个网络架构要快;单个cell在其他问题上的泛化性能更好。在我们的实验中,通过这个方法,我们先找到了CIFAR-10的最好架构,再乘以7,然后就很成功地迁移到ImageNet上去了。(乌拉)
NASNet在CIFAR-10实现了最佳结构,然后迁移到ImageNet上,无需太多改动。在ImageNet上,NASNet实现了已经公开的方法里最先进(STA)的效果,top-1精度82.7%,top-5精度96.2%。这比之前人手工设计的结构在top-1精度上提高了1.2%,同时减少了900万次FLOPS。在CIFAR10数据集上,NASNet的错误率为2.4%,也是目前的STA。
与此同时,通过更改卷积核以及滤波器的数目,我们可以更具不同的计算需求定制不同的NASNet。受惠于这一特性,我们可以在相同和更低计算开销的情况下,设计出一系列识别精度超过手工设计架构的模型。值得一体的是,最小版本的NASNet在ImageNet上的top-1精度为74%,比之前为移动端设计的架构高出了3.1个百分点。
最后,NASNet学习到的特征,可以迁移到其他计算机视觉任务上,我们可以将其与Faster-RCNN网络融合在一起,然后发现无论是大模型还是移动优化的模型,都在COCO目标检测数据集上实现了当前最优的效果。我们的NASNet大型模型的mAP为43.1%,高于目前的STA4个百分点。
方法
这个工作主要与超参数优化有关,现在这方面的工作包括Neural Fabrics、DiffRNN 、MetaQNN和 DeepArchitect。研究人员受到所谓Meta-Learning或Learning-to-learn、LSTM和Neural Architecture Search的启发。
论文的工作主要是利用搜索方法在感兴趣的数据集上找到良好的卷积体系结构。研究人员在这项工作中使用的主要搜索方法主要是之前提出的神经架构搜索(NAS)框架。在NAS中,控制器是由递归神经网络(RNN)组成,它会去采样具有不同体系结构的子网络。子网络通过训练达到收敛,以在保持的验证集上获得一定的精确度。产生的精确度用于更新控制器,以便控制器将随着时间的推移生成更好的体系结构。训练过程中,会使用策略梯度更新控制器权重。


图1. 神经架构搜索框架。 一个控制器以概率p从搜索空间里里预测架构A。具有A架构的子网络被训练,直到达到收敛精度R。然后以R的比例因子更新控制器的梯度。
该研究工作的主要贡献在于提出了一种创新型的搜索空间,先在CIFAR-10找到最佳架构,再向更大规模数据集(数据集大、分辨率高)上做推广。网络命名为NASNet,搜索空间为NASNet搜索空间。设计的灵感主要来源于卷积神经网络的架构如同搭积木,能不能从中归纳演绎出一些怪率呢?基于以上观察,研究人员希望通过一个RNN控制器去预测卷积核出现的概率,然后这些基元表示的卷积核细胞可以在任何空间尺寸和不同滤波器深度情况下任意组合。(低层次的感知,但已经有办法达到半自动化设计的程度了)。
在以往的方法法中,卷积网络的总体架构是手动预定的。它们由重复多次的卷积单元组成,其中每个卷积单元具有相同的结构,但是不同的权重。为了易于为任意大小的图像构建可扩展的体系结构,在以特征映射为输入时,通常需要两种类型的卷积单元以服务两个主要功能:(1)返回同一维的特征映射的卷积单元,和(2)返回特征映射的卷积单元,其中特征映射高度和宽度被减小2倍。我们分别命名第一类型的Normalization Cell和第二类型的Reduction Cell。对Reduction Cell,训练程序会使应用于单元的输入的初始操作具有两倍的步幅以减小高度和宽度。


图2.为Cifar-10和ImageNet设计的不同架构
图2显示了CIFAR-10和ImageNet的Normal Cell和Reduction Cell的位置。注意:在ImageNet上,会有更多的ReductionCell,因为传入的图像大小为299×299,而CIFAR的图像大小为32×32。Normal Cell和Reduction Cell可能具有相同的体系结构,但研究人员经验性地发现,学习两种不同的体系结构是有益的。当空间激活尺寸减小时,他们使用一种常见的启发式方法将输出中的滤波器数目增加一倍,以保持大致恒定的隐藏状态维。重要的是,就像Inception和ResNet模型展现一样,我们将基本模式(Motif,CNN积木)重复次数N和初始卷积滤波器的数目作为自由参数,以适应图像分类问题的规模。
这样,变化的只是Normal Cell和Reduction Cell的个数呢,这可以通过RNN搜索得到。(妙啊!)。在问题的搜索空间中,每个单元接收作为输入的两个初始隐藏状态Hi和Hi-1,它们是前两个低层或输入图像中的两个单元的输出。给定这两个初始隐藏状态,控制器RNN递归地预测卷积单元的其余结构(图3)。每个区的控制器的预测被分组为B块,其中每个块具有由5个不同的SoftMax分类器构成的5个预测步骤,对应于块本身的选择,就是离散的。
步骤1. 从之前创建的Block集合的隐状态中,选出hi、hi-1。
步骤2.重复步骤1。
步骤3. 选择一个数学操作,把步骤1的隐状态作为输入。
步骤4. 选择一个数学操作,把步骤2的隐状态作为输入。
步骤5. 把步骤3和4的结果组合成一个新的隐状态。

在第5步的时候,RNN有两种选择,它可以对步骤3、4隐状态运算的输出做点加,也可以做拼接。最后,将在卷积单元中生成的所有未使用的隐藏状态深度连接在一起,以提供最终的单元输出。

该算法将新创建的隐藏状态附加到现有隐藏状态的集合作为后续块中的潜在输入。控制器RNN重复上述5个预测步骤,一共有B个周期,对应于卷积单元中的B块。在实验中,选择B=5提供了良好的结果,尽管由于计算限制,研究人员没有穷尽地搜索该空间。


为了使控制器RNN能够同时预测Normal Cell和Reduction Cell,我们只需使控制器总共有2×5B的预测,其中第一个5B为Normal Cell做预测,第二个5B为Reduction Cell做预测。
最后,研究人员的工作利用 NAS中的强化学习建议; 然而,也可以使用随机搜索来搜索 NASNet 搜索空间中的体系结构。 在随机搜索中,可以从均匀分布中采样决策,而不是从控制器 RNN 中的 Softmax 分类器中采样决策。 在实验中,研究人员发现随机搜索比 CIFAR 10 数据集上的强化学习略差。 虽然使用强化学习是有价值的,但这种差距不如NAS论文所阐述的那么大。 这一结果表明,1) NASNet 搜索空间构造良好,使得随机搜索能够合理地执行,2) 随机搜索可以作为某种需要严肃对待的基准。
实验
在这一部分中,我们描述了用上述方法学习卷积Cell的实验。总之,所有的架构搜索都是在CIFAR-10分类任务执行的。控制器RNN使用最优策略优化(PPO)进行训练,使用全局工作队列系统生成由RNN控制的子网络池。实验用了500块GPU训练。
搜索候选卷积核花了四天四夜,要知道之前花了28天,简直是巨大的进步(XD)。然后,精度上还干得不错。


图4. 具有B=5个块的最佳卷积单元(NASNET-A)的结构用CIFAR-10识别。输入(白色)是先前激活(或输入图像)的隐藏状态。输出(粉红色)是所有得到的分支上级联操作的结果。每个卷积单元是B块的结果。单个块对应于两个基本操作(黄色)和组合操作(绿色)。
图4是对Normal Cell和Reduction Cell操作的示意图,采用了可分离卷积的模式,在CIFAR-10上先得到比较好的结果,再推广到ImageNet上。用神经网络架构搜索方法,我们得到了三组比较好的模型,称之为NASNetA, NASNet-B and NASNet-C。
通过在CIFAR-10和一个ImageNet分类任务上展示是如何使用这种架构的,我们演示了卷积单元的用途。它有效把计算预算降了几个数量级。在学习了卷积单元之后,可以探索若干超参数来构建一个特定任务的最终网络:(1)单元重复数N和(2)初始卷积单元中的滤波器数目。在选择初始滤波器的数目后,我们使用一种常见的启发式方法,在步长为2时,将滤波器的数目增加一倍。最后,我们定义了一个简单的表示法,例如4@64来表示所有网络中的这两个参数,其中4和64分别表示网络倒数第二层的单元重复数和滤波器数目。
在训练NASNet时,我们设计出了ScheduledDropPath,一种改进的DropPath[版本,是NASNet的一种有效的正则化方法。在DropPath中,单元中的每一条路径在训练期间随机下降,并具有一定的固定概率。在我们修改的版本ScheduledDropPath中,单元格中的每条路径都以在训练过程中线性增加的概率被删除。我们发现DropPath在NASNET中不太有效,而ScheduledDropPath在CIFAR和ImageNet实验中都显著改善了NASNets的最终性能。
1)CIFAR-10实验
对于CIFAR-10的图像分类任务,我们设置了N=4或6(如图2).最好的架构的测试精度报告记录在表1,并和其他最先进的模型进行了对比。从表中可以看出,一个没有做任何数据增强的NASNet的模型达到了最先进的错误率为2.40%(平均5次),这略好于之前的最佳记录2.56%。该模型的最佳单次运行误差率为2.19%。


表1. CIFAR-10训练结果
2) ImageNet实验
在ImageNet数据集上,研究人员用了基于CIFAR-10数据集学到的最佳卷积单元架构。需要强调的是,研究人员迁移了CIFAR-10任务上的架构,但对于ImageNet数据集的权重,却需要从头进行训练。
ImageNet训练结果摘要见表2 和表3 及图 5 。 在第一组实验中,研究人员训练了几个在 299 x 299 或 331 x 331 分辨率图像上操作的图像分类系统,在不同的计算需求中进行了不同的实验,以创建与 Inception-v2、 Inception-v3和 PolyNet在计算成本上大致相同的模型。 实验证明,神经网络架构搜索方法实现了最先进的性能,浮点操作和参数比参照的模型少。 第二,实验证明,通过调整模型的规模,可以在较小的计算预算中达到最先进的性能,超过之前科学家和工程师手工设计的卷积神经网络。
表2向我们展示了用CIFAR-10发现的卷积单元可以很好地推广到ImageNet训练任务上。具体说来,基于卷积单元的每个模型都超过相应的手动设计模型的预测性能。重要的是,最大的模型在一次性的、非集成性的预测中就实现了ImageNet数据集上82.7%的准确率,超过了之前的最佳公布结果1.2个百分点。NASNet在精度上最优,同时具有更少的浮点数操作。图5是与已有模型的比较,红线是NASNet的结果,黑线是之前人工设计的模型。


表2. 云端模型在ImageNet上的训练结果


表3.计算受限环境下NASNet模型同手工设计模型的比较(比如移动端,所有模型的分辨率均为224*224)


图5. 在ImageNet数据集上,不同的模型的准确率与参数变化图
最后,研究人员展示了最佳卷积单元在资源受限的环境中表现得有多好,例如移动设备(表 3 )。 在这些设置中,浮点操作的数量受到严重限制,预测性能必须与计算资源有限的设备上的延迟需求进行权衡。 在 224 x 224 幅图像上使用基线模型MobileNet-和 ShuffleNet,他们分别获得了 70.6% 和 70.9% 的精度,但进行了5.5亿次加法与乘法运算。 由最好的卷积单元构建的体系结构获得了优越的预测性能( 74.0% 的准确性),用更小的计算量超过了之前的模型。 总之,我们发现学习的卷积单元在模型尺度上是灵活的,在计算预算中达到了近 2 个数量级的提高。
3)对目标检测任务的改进
图像分类网络提供了可移植到其他计算机视觉问题的通用图像特征。最重要的是,它解决了物体在图像中的空间定位的问题。为了进一步验证NASNet-A网络的性能,研究人员测试了基于NASNet的目标检测模型在具体任务上是否有性能提升。
把NASNet模型同Faster-RCNN框架结合在一起,然后在COCO数据集上,用8000个样本的迷你验证集做测试。

4) 架构搜索方法的有效性


图6. 用强化学习搜索神经网络的架构和随机初始化训练的比较
强化学习搜索的方法得到的模型,在最后收敛的时候,比随机初始化或随机搜索模型高一个百分点,如同之前NAS论文强调的,它或许有用,但又没那么夸张。

结论
在这项工作中,研究人员展示了如何能从不同的图像分类任务的数据中学习可伸缩的、卷积的单元,这样搜索得到的体系结构是相当灵活的,因为它可以在计算成本和参数方面进行缩放,以便很容易地解决各种问题。在所有情况下,无论是云端模型还是为了移动环境设计的模型,都取得了最优的精度,超过了所有手工设计的模型。
主要的设计思路是构建了一个搜索空间,解耦架构的复杂性和网络的深度,把较小数据集(如CIFAR-10)上通过搜索得到的模型结构向其他各种图像数据集上的分类任务做迁移。
结果展现了,不需要太多的计算资源,NASNet的模型就可以在CIFAR-10和ImageNet数据集上取得当前最优的效果。然后,把分类网络提取出来的特征用于后续的计算机视觉任务(比如,目标检测、人脸检测和图像定位)。比如,它用于Faster-RCNN,可以在特定的目标检测数据集上达到当前最优的效果。最后,在移动端和嵌入式架构上,NASNet使用了更少的计算资源,性能上也超过了之前的流线形体系结构。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Google photo

您正在使用您的 Google 账号评论。 注销 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s