分分1分快3玩法CVPR 2019 神经网络架构搜索进展综述 | 雷锋网

  • 时间:
  • 浏览:2

来源:https://pixabay.com/

本文将介绍今分分1分快3玩法年于美国长滩举办的CVPR2019会议上展示的神经网络架构分分1分快3玩法搜索(NAS)领域的研究成果分分1分快3玩法。原标题:Neural Architecture Search at CVPR 2019

作者 | Vladimir Nekrasov

编译 | 林肯二百一十三(西安交通大学)

我相信,每分分1分快3玩法个深度学习研究者和从业者都多有几次少地考虑过在亲戚或多或少人避免的具体哪有几次的问题上应该使用哪有几次样的神经网络架构。什么都有一群人都殚精竭虑地尝试提出像AlexNet、VGG以及ResNet那样的有效架构。因此,“博士生下降”也成了4个多多 红极一时的梗。(注:“博士生下降”英文为Grad Student Descent,简单而言却说 “找4个多多 博士生,让他不断调参,直到算法工作”。并算是 说法歪曲自深度学习的Gradient Descent算法,仅作调侃)

现在呢,我很想骄傲地发表声明——“天天调参的鬼日子开使英文了!”——因此还为时过早。手动调参寻找神经网络架构依然是个有趣的工作,尤其是对于哪有几次带了什么都有有学生的导师而言(开玩笑啦~)。

  神经网络架构搜索(NAS)——前言

那末哪有几次的问题来了,神经网络架构搜索(NAS)究竟是哪有几次?为哪有几次亲戚亲戚或多或少人要了解NAS呢?(并算是 主次是为了去年完正那末跟进领域内进展的人准备的)

NAS的核心思想是使用搜索算法来发现用于避免亲戚亲戚或多或少人的哪有几次的问题所可不还可不都可以的神经网络底部形态。回到“博士生下降”得话题:假设你是个希望避免哪有几次的问题A的导师,让他让他的学生来想并算是该哪有几次的问题的最优架构——那末,你的学生就那个她 的搜索算法(听起来似乎更像奴隶?)。

机会你并都是 那种泯灭人性的导师(当然也机会你却说 那个学生),你机会会首先定义并算是搜索空间,并算是 搜索空间含高 定义神经网络架构的基本构建模块(block)。通常地,每并算是配置字符串(configuration string)描述并算是架构——比如说,给定4个多多 层(分别用0、1、2表示)和并算是block(分别为A:1x1卷积和B:3x3卷积),那末字符串“0A1A2B”表示“x->1x1卷积->1x1卷积->3x3卷积”的网络底部形态。让他天马行空地凭想象定义并算是 搜索空间,但别忘了,搜索空间越大,你的搜索算法可不还可不都可以运行的迭代次数就不多,用到的GPU算力也就不多。

搜索算法有哪有几次可供亲戚亲戚或多或少人挑选呢?早期的并算是算法是进化搜索——网络架构的种群(population,比如都可不还可不都可以是随机初始化的或多或少架构)基于适应度(或“收益”,通常即给定架构在特定哪有几次的问题上的验证指标)不断地被训分分1分快3玩法练和突变(mutate,比如对架构的或多或少主次进行混合)以达到好的验证指标。另并算是方案是基于强化学习,让智能体(有以前称作“控制器”)去发现网络架构的最优配置。并算是 智能体通常是用循环神经网络实现的,它的目标是寻找才能获得更高收益的神经架构。或多或少的搜索算法还包括基于梯度的优化(所有机会的架构组成4个多多 巨大的图,每条边4个多多多 可学习的实值,代表每个block被使用的概率)、贝叶斯优化(搜索空间由并算是启发函数贯穿,并算是 启发函数都可不还可不都可以是用于预测采样模型准度的代理损失函数)等等。

图注:NAS的高层表示。图片来源:Elsken et. al

机会你对上述算法感兴趣,我推荐阅读Elsken等人的这篇综述。亲戚或多或少人还建立维护了4个多多 网站,让他在这里找到最近的相关文章。

  CVPR 2019上的NAS

下面本文将目光转向在CVPR 2019会议上登场的NAS相关工作。机会你只看过大体的总结,下表含高 了哪有几次工作的论文和代码地址(前提是它开源)、它们使用的搜索算法、领域和可不还可不都可以的资源。机会这里那末涉及您的文章,机会是我的疏忽原困它被忽略了——请您及时指正。CVPR 2019的所有论文都都可不还可不都可以在这里找到。

宏观总结

  Auto-DeepLab:语义分割的分层神经架构搜索

熟悉语义分割领域的研究者应该对DeepLab团队都是 陌生吧?亲戚或多或少人不断提出新的思路、新的模型,不断推进语义分割模型的性能提升。这次,作者使用NAS来寻找语义分割哪有几次的问题的最佳模型。Auto-DeepLab:语义分割的分层神经架构搜索

本质上讲,这篇工作是对DARTS的并算是适应性改进。机会你不了解DARTS,下面是对它的或多或少简单说明:DARTS(可微架构搜索,Differentiable Architecture Search)是并算是基于梯度的随机优化方式,它将所有机会的架构一次性初始化,因此在优化网络权重参数的同時 还优化混合概率(即模型挑选每每根绳子 边的概率)。Auto-DeepLab的作者则更进一步:为了搜索适合语义分割的模型,作者还让NAS算法去优化stride运算——也却说 在网络架构图中的各处是要下采样底部形态图,或是保持尺度不变,还是进行上采样。使用一块P50 GPU,作者运行神经架构搜索4天 后得到了与DeepLab-v3+性能大致相当的网络底部形态。

图注:AutoDeepLab发现的并算是架构。图片来源:Liu et. al

有意思的是,作者并那末将搜索到的网络在ImageNet上进行预训练,却说 直接从零开使英文在CityScapes和ADE20K数据集上进行训练的,那末对PASCAL VOC数据集使用了MS COCO进行训练。作者在原文中提到:“亲戚亲戚或多或少人认为PASCAL VOC 2012数据集太小了,用来从零开使英文训练模型我我其实过低。并算是 情况汇报下,还是用ImageNet进行预训练会更有效”。说我我其实的,却说 能看过ImageNet预训练对作者用的所有数据集上的效果就好了,比如说进行预训练会不需要让模型在CityScapes数据集上也获得更好的效果呢?

  用单GPU四小时搜索出健壮的神经网络架构

这篇论文中,作者结合了ENAS和DARTS二者的最佳实践,从而提出了GDAS(Gradient-based search using Differentiable Architecture Sampler)方式。DARTS的定义上文机会提到;ENAS是Pham et. al提出的并算是基于强化学习的神经架构搜索方式,它在一开使英文同样初始化了4个多多 巨大的图——但与DARTS在每个边加进去去进去权重的方式不同,ENAS使用基于强化学习的控制器来决定挑选哪每根绳子 路径。

这里,作者显式地采取了或多或少路径并进行优化。机会并算是 采样是离散的,作者借助了Gunbel采样技巧来实现反向传播。作者原文写道:“亲戚亲戚或多或少人在前向传播时使用argmax函数……而在反向传播时使用了softmax函数……”。总体上,该方式在用于图像分类的CIFAR-10数据集和上用于语言建模的Penn Tree Bank (PTB)数据集上实现了快速搜索。

图注:GDAS发现的网络单元。图片来源:Dong and Yang

GDAS的曾经加速训练、节省内存的技巧是在前向传播中直接使用argmax函数——使用了in-place后,那末被argmax挑选的4个多多 索引处生成的梯度可不还可不都可以回传。作者声称,使用batch训练的其它层还是会得到梯度,机会每个batch中的样本经过的路径是不同的。

  MnasNet:平台感知的移动端神经网络架构搜索

这篇论文中,作者考虑的是NAS的并算是重要应用——搜索适合移动设备快速推断场景的网络架构。为此,作者提出并算是多目标的优化方式——基于强化学习的控制器被训练搜索并算是不仅能得到高分、因此才能在Google Pixel 1的CPU上短时间内响应的模型架构。作者遵循帕累托优化准则,即“机会模型能在不花费额外时间的条件下达到高准确率,机会在不降低准确率的条件下花费更少的时间,则该模型是帕累托最优的”。

图注:MnasNet神经架构搜索方式概观。图片来源:Tan et. al

另外,为了保证模型在搜索空间中高效且可用,作者定义了并算是多个层的“block”。每个“block”中,同4个多多 层被重复N次——层的类型和重复次数是由强化学习控制器预测的。总体而言,MnasNet架构设计 是受MobileNet-v2启发的,因此也都可不还可不都可以认为:MnasNet是使用强化学习对MobileNet-v2的微调。(不过并算是 “微调”怪怪的太耗费计算资源啦!MnasNet花费了整整6914个多多 "TPU×小时"!)

  RENAS:强化进化神经网络架构搜索

RENAS的主要思路在于:使用可微的强化学习控制器来增强锦标赛挑选法的变异机制。

锦标赛挑选法首先会初始化4个多多 由神经架构(即进化算法中的个体,individual)组成的种群(population)。每个神经架构个体被训练以前,通过在验证集上进行评估来挑选它们的适应度(fitness)。以前,种群中适应度最强的个体被变异(mutate)——比如改变它的或多或少层机会运算——从而产生子代(child)。在RENAS论文中,作者加进去去的强化学习控制器定义了给定网络何如进行变异。为了加速训练过程,子代模型直接继承了父代的模型参数。

图注:使用强化学习变异的进化算法搜索。图片来源:Chen et. al

  NAS-FPN:搜索用于目标检测的底部形态金字塔架构

并算是 篇论文则关注了NAS的另并算是应用——自动化地改进目标检测网络。在过去的几年里,底部形态金字塔网络(FPN)几乎成了所有高性能目标检测网络的标配。本质上讲,FPN起到了对网络主干(编码器)提取的底部形态的逐步解码的作用。NAS-FPN这篇论文的动机却说 寻找或多或少方式来从原始的网络主干底部形态的各层上更好地结合多种尺度的信息。

为此,作者定义了”合并单元“(merging cell)的搜索空间——以多种尺度的底部形态作为输入,将哪有几次底部形态进行精化后作为输出。在合并单元中,基于强化学习的控制器对4个多多 输入层(机会尺度难能可贵相同)、输出尺度和融合方式(都可不还可不都可以是求和,或是基于注意力的全局池化等)进行挑选。合并单元的输出被加进去去到下采样的池化层中,作为下一步挑选的选项之一。

图注:合并单元的底部形态。图片来源:Ghiasi et. al

作者表示,合并单元的设计使得“anytime detection”成为机会,机会多个模块化的单元都可不还可不都可以被堆叠在同時 ,前向传播机会在其中任何4个多多 以前停止。曾经,即便亲戚亲戚或多或少人提前开使英文前向传播(early exit)并用此时网络的输出层进行目标边框回归,该底部形态图依然能足够使边框回归才能有效地检测出物体边框。为了加速网络搜索,作者使用了输入尺度为512x512的、较轻量级的ResNet-10作为网络主干。

  IRLAS:基于反向强化学习的神经架构搜索

IRLAS的作者观察发现:亲戚亲戚或多或少人自行设计的网络拓扑底部形态往往比自动化生成的哪有几次底部形态更优雅,而哪有几次底部形态同時 定义着网络的响应时间和内存消耗。因此,作者那末显式地设定资源消耗的约束,却说 试图促使生成的网络拓扑尽机会地模仿并算是经典网络模型(如ResNet)。“模仿”并算是 主次是通过4个多多 奖励函数中的4个多多 附加项来实现的。

图注:IRLAS概观。图片来源:Guo et. al

我当时人非常喜欢并算是 “提取已有网络架构设计 的精华从而更好地训练NAS模型”的思想。机会作者能进一步得出并算是方案使得NAS模型才能借鉴多种经典模型(而不止4个多多 ),或许会更有意思呢。

  使用辅助单元快速搜索小型语义分割模型

王婆警告:我(原博文作者)也是这篇论文的合著作者之一,什么都有有以下观点机会有所偏颇哦~

传统上,基于强化学习的NAS算法可不还可不都可以多量的运算(通常以“GPUx小时”计,机会“TPU-小时”)。尽管哪有几次NAS算法在分类任务上对较小的“代理”数据集(比如CIFAR-10)还是有不错的性能,因此在输出较为“密集”的任务(如语义分割)上,暂时还那末并算是 “代理”数据集可用。况且,训练4个多多 分割模型可比训练分类模型耗费的时间和资源多多了。

正因那末,亲戚亲戚或多或少人这篇文章专注于加速基于强化学习的语义分割神经架构搜索的内层循环——也却说 对于采样的网络底部形态的训练与评估。亲戚亲戚或多或少人以4个多多 预训练的图像分类器为基础(这里使用的是MobileNet-v2),只对它的解码器主次进行搜索。为此,亲戚亲戚或多或少人设计了或多或少加速收敛的技巧:1)两阶段训练与早停(early stopping)。第一阶段中,亲戚亲戚或多或少人提前计算出编码器的输出,并只训练解码器。机会并算是 阶段后的奖励值比平均的奖励低得话,就干脆终止这次训练;因此进入第二阶段,以端到端的方式训练整个网络。2)亲戚亲戚或多或少人借助知识蒸馏和Polyak权重平均来加速解码器主次的收敛。3)另外,亲戚亲戚或多或少人还运用中继监督优化——但都是 简单地使用单个网络层来进行分割,却说 使用强化学习控制器产生的模型底部形态对中继分割器进行过参数化。亲戚亲戚或多或少人推测,并算是 过参数化对于小型语义分割模型有以下帮助:a)它都可不还可不都可以使网络主干的梯度更平滑,b)它使得对较浅的底下层的任务要求不那末严苛。

图注:作者发现的并算是用于语义分割的模型。图片来源:Nekrasov et. al

  FBNet:使用可微NAS的高效硬件感知卷积网络设计

像底下提到的或多或少工作一样,FBNet的作者也是把搜索空间初始化为4个多多 由不同的层组成的巨大的图,并采用可微的随机优化方式,辅以Gumbel采样技巧进行搜索。除此之外,作者用了4个多多 查询表来估计生成的网络通路上每4个多多 块运算花费的时间。与哪有几次只搜索一并算是块(单元)的NAS文章不同,作者在这里定义了整个网络的宏观架构(宏观底部形态空间)和每一层的候选块(微观底部形态空间),并对它们分别进行搜索。

图注:FBNet搜索到的或多或少网络架构。K代表卷积核大小,E代表放大倍率,G代表卷积分组的参数图片来源:Wu et. al

FBNet的作者以Samsung Galaxy S8为目标设备,使用int8数据类型进行推断。作者认为,以多种不同的设备为目标是不现实的,毕竟亲戚亲戚或多或少人要搜索的是更好的针对特定设备的网络(上文提到的查询表也是针对特定设备的)。

  可自定义的语义分割网络架构搜索

这篇文章的作者将DARTS面向语义分割进行了适应,并将搜索空间设计为并算是单元——图片分类里常见的普通单元、缩小单元,以及受ASPP启发而设计的多尺度单元。除了特定任务的损失函数外,算法的优化目标还加入了4个多多 新的目标函数——“挑选特定操作的代价”。为了定义给定操作的并算是 “代价”值,作者提出了对“仅使用给定操作建立的单元”和“仅使用单一操作建立的单元”之间响应时间、参数数量或FLOP数的差距进行比较、衡量的方式。

图注:基于资源的语义分割神经架构搜索。图片来源:Zhang et. al

作者在搜索多尺度单元以前,首先搜索了含高 普通单元和缩小单元的语义分割网络主干,再使用ImageNet对亲戚或多或少人进行微调。意外的是,作者使用曾经简单粗暴的估计方式依然能有效地找到小而准确的网络架构。

下边还有两篇文章,我其实这两篇难能可贵与NAS紧密相关,但或许对或多或少人来讲还是怪怪的意思的。

MFAS:多模态融合网络架构搜索

这篇文章的作者试图避免的是多模态融合哪有几次的问题——也却说 说,给定多个固定模态的网络,去寻找连接亲戚或多或少人的隐藏层的最佳方式,从而对于特定的任务达到最佳的性能。举例而言,并算是常见的策略是晚融合(late-fusion)——那末每个网络最后一层的输出被融合在同時 (比如求和,连接等等)。作者将多模态融合哪有几次的问题也定义为神经架构搜索,它都是 从零开使英文对整个网络底部形态进行的搜索,却说 仅仅寻找机会训练好的网络的连接方式。

为此,作者使用了基于序列模型的优化方式(SMBO)。在SMBO中,往往会用4个多多 单独的、称作“surrogate”的函数来估计采样到的架构的准确率。不一样的是,搜索空间是从4个多多 比较小的架构集合开使英文的,“surrogate”函数被预训练后,网络架构的尺寸才被逐渐变大。传统NAS框架中并算是 方式的4个多多 经典案例是渐进式NAS。

通过上述方式,作者找到了或多或少在MM-IMDB数据集上用于预测电影流派和电影简介的多模态融合架构,以及在NTU RGB-D数据集上用于根据姿态和RGB信息进行行为识别的架构。

神经网络架构搜索的并算是神经生物学评估指标

在神经生物学含高 曾经并算是理论:对于你这个的物体,人脑会产生你这个的神经响应。基于并算是 理论,作者推测:具有与人脑你这个的激活机制的神经网络,也应该有更强的泛化能力。因此,作者提出了并算是“与人脑模型的你这个度”(HMS)的评价指标,并用并算是 指标来对人体的功能性磁共振成像(fMRI)和神经网络的激活行为进行比对。在这里,作者考虑的网络称作PredNet,可用于非监督视频预测,即给定当前帧、预测以前机会处于的内容。

为了定义HMS,作者建立了并算是“表示性不你这个程度矩阵”(RDM,representational dissimilarity matrix)来量化4个多多 系统(这里是网络与人脑)对一对刺激的响应。给定4个多多 RDM,HMS被定义为二者的斯皮尔曼等级相关系数。

图注:HMS指标的计算流。图片来源:Blanchard et. al

值得关注的或多或少是,作者发现HMS与验证集精确度有很强的相关性——也却说 说,HMS是我不好才能作为用于寻找具有较强泛化性能的网络并提早停止的指标。另外,要计算HMS,该方式只可不还可不都可以92次刺激。机会能看过并算是 研究方向能让生物学理论与人工神经网络碰撞产生何如的火花,那都是 意思啦!

该论文的实现代码已开源:

https://github.com/CVRL/human-model-similarity

尽管说“CVPR 2019是NAS重大突破的一场盛会”怪怪的言过我我其实,但能见识到不多工作在克服了对多量GPU/TPU算力的依赖的同時 又能达到与之相当的性能,我我其实是激(yi)动(ke)人(sai)心(ting)呀!我很期待看过NAS的研究机会取得何如的进展,以及NAS的众多研究者才能想到何如的技巧呢。

总结了不多,我还想提及或多或少:从零开使英文搜索用于图像以外的分类任务的网络架构依然是个巨大的挑战。今年亲戚亲戚或多或少人见识到了或多或少神经架构搜索方式有基于强化学习改进的(如NAS-FPN、FastDenseNAS)、基于可微优化改进的(如AutoDeepLab、CAS)和从一开使英文就预定义巨大的网络底部形态的(你这个于DARTS的哪有几次),而哪有几次都或多或少地做出了或多或少让步——比如将搜索空间限定在有限数量的或多或少层(基于强化学习的哪有几次),或在搜索开使英文时预定义巨大的底部形态(基于DARTS的)。我不禁想到了亲戚亲戚或多或少人在2015年左右见到的语义分割的进展——那以前的哪有几次工作,大多数都是 基于图像分类器的改进的(见Long et. al的开创性工作——FCN)。而从那以前,针对各种具体任务的各种模型逐渐变得那末心智心智心智成熟期是什么是什么是什么期的句子、复杂化(如ASPP、PSP、RefineNet等等),进而推动了并算是 领域的蓬勃发展。我相信,不久以前,亲戚亲戚或多或少人也会见识到更多为具体任务量身定做的NAS模型,而不却说 图像分类和语言建模哪有几次基本任务。

非常感谢Chen Hao阅读本文初版草稿并提出建设性的意见和建议。

本文撰写于2019年7月5日。

本文编辑:Pita

英语原文:https://drsleep.github.io/NAS-at-CVPR-2019/

我想要继续查看该篇文章相关链接和参考文献?

点击【CVPR 2019 神经网络架构搜索进展综述】即可访问!

福利大放送——满满的干货课程免费送!

「好玩的Python:从数据挖掘到深度学习」该课程含高 了从Python入门到CV、NLP实践等内容,是非常不错的深度学习入门课程,共计9节32课时,总长度约为14个小时。。

课程页面:https://ai.yanxishe.com/page/domesticCourse/37

「计算机视觉基础入门课程」本课程主要介绍深度学习在计算机视觉方向的算法与应用,含高 了计算机视觉的历史与整个课程规划、CNN的模型原理与训练技巧、计算机视觉的应用案例等,适合对计算机视觉感兴趣的新人。

课程页面:https://ai.yanxishe.com/page/domesticCourse/46

现AI研习社将两门课程免费开放给社区认证用户,因此我您在认证时在备注框里填写「Python」,待认证通以前,即可获得该课程完正解锁权限。心动不如行动噢~

认证方式:https://ai.yanxishe.com/page/blogDetail/13999

雷锋网雷锋网(公众号:雷锋网)雷锋网

雷锋网原创文章,未经授权禁止转载。详情见转载须知。