CVPR2019神经网络体系结构研究进展综述

来源:https://pixabay.com/本文将介绍今年在美国长滩举行的CVPR2019会议上提出的神经网络架构搜索领域的研究成果。

(Xi交通大学)我相信每个深入研究的研究者和实践者都或多或少地考虑过在他们处理的具体问题上应该使用什么样的神经网络架构。

许多人都在努力想出有效的架构,比如AlexNet、VGG和ResNet。

因此,“博士生下降”也成为一个热点问题。

(注:“博士生下降”的英文单词是梯度下降(GradStudentDescent),简单意思是“找到博士生,让他不断调整参数,直到算法工作为止”。

这种说法扭曲了深度学习的梯度下降算法。现在,我要自豪地宣布,“每天参与的幽灵日已经结束!”-但是现在还为时过早。

手动调整参数寻找神经网络结构仍然是一项有趣的工作,特别是对于那些带很多学生(开玩笑~)的导师。

神经网络体系结构搜索——前言很成问题。网络连接存储到底是什么?为什么我们应该理解网络连接存储?(这一部分是为那些去年根本没有跟踪该领域进展的人准备的)网络连接存储(NAS)的核心思想是使用搜索算法找到解决我们的问题所需的神经网络结构。

回到“博士生下降”的话题:假设你是一个想解决问题a的导师,你会让你的学生为这个问题想一个最佳的框架——那么你的学生就是你的搜索算法(听起来更像奴隶?).

如果你不是那种缺乏人性的老师(当然,你也可能是学生),你可以先定义一个搜索空,这个搜索空包含了定义神经网络架构的基本构件。

通常,每个配置字符串描述一个体系结构——例如,给定三个层(分别由0、1和2表示)和两个块(分别由a: 1×1卷积和b: 3×3卷积表示),则字符串“0A1A2B”表示“x->;1×1卷积->;1×1卷积->;3×3卷积”。

您可以通过想象任意定义这个搜索空[/k0/]但是不要忘记,搜索空越大,您的搜索算法需要运行的迭代越多,它使用的GPU计算能力也越强。

我们可以选择哪些搜索算法?早期的算法之一是进化搜索(evolutionary search)——网络体系结构的群体(例如一些可以随机初始化的体系结构)基于适应度(或“收入”(income),通常是给定体系结构在特定问题上的验证指数)被连续训练和变异(例如混合体系结构的某些部分),以获得良好的验证指数。

另一种方案基于强化学习,它允许代理(有时称为“控制器”)发现网络架构的最佳配置。

这种代理通常由一个循环神经网络实现。它的目标是找到一种可以获得更高回报的神经结构。

其他搜索算法还包括基于梯度的优化(所有可能的体系结构形成一个巨大的图形,在每一侧都有一个可学习的实值,表示每个块被使用的概率)、贝叶斯优化(search 空被一些启发式函数渗透,该函数可以是用于预测采样模型精度的代理损失函数)等。

注:网络连接存储的高级代表。

资料来源:埃尔斯肯等人如果你对上述算法感兴趣,我建议阅读埃尔斯肯等人的这篇评论。

他们还建立并维护了一个网站,在那里你可以找到最新的相关文章。

以下文章将重点介绍在2019年淡水河谷会议上提出的与淡水河谷相关的工作。

如果您只想查看一般摘要,下表包含这些作品的论文和代码地址(前提是它是开源的)、它们使用的搜索算法、它们需要的字段和资源。

如果这里没有关于你的文章,可能是我的疏忽导致了它被忽略–请及时改正。

CVPR2019的所有论文都可以在这里找到。

宏观总结自动深度实验室:语义分割的层次神经架构搜索熟悉语义分割领域的研究人员应该熟悉深度实验室团队,对吧?他们不断提出新的思想和模型,不断推动语义分割模型的性能提高。

这一次,作者使用网络连接存储来寻找语义分割的最佳模型。

自动深度实验室(Auto-DeepLab):层次神经架构搜索语义分割本质上,这项工作是对DARTS的适应性改进。

如果你不知道DARTS,这里有一个简单的解释:DARTS(可微架构搜索)是一种基于梯度的随机优化方法,它一次初始化所有可能的架构,并在优化网络权重参数的同时优化混合概率(即模型选择每条边的概率)。

《自动深度实验室》(Auto-DeepLab)的作者更进一步:为了寻找一个适合语义分割的模型,作者还要求网络连接存储算法优化跨步操作——也就是说,是对特征图进行下采样,保持比例不变,还是在网络架构图中的任何地方进行上采样。

作者使用P100GPU图形处理器进行了为期3天的神经架构搜索,获得了与DeepLab-v3+性能大致相同的网络结构。

注意:由AutoDeepLab发现的体系结构。

图片来源:Liu等人有趣的是,作者并没有在ImageNet上预先训练搜索到的网络,而是直接从零开始训练城市风景(CityScapes)和ADE20K数据集。只有PASCALVOC数据集使用MSCOCO进行了培训。

作者在原文中提到:“我们认为PASCALVOC2012数据集太小,不能从头开始训练模型。

在这种情况下,使用ImageNet进行预培训更有效。”

老实说,很高兴看到ImageNet预培训对作者使用的所有数据集的影响。例如,预培训会使模型在城市景观数据集上获得更好的结果吗?本文结合ENAS和飞镖的最佳实践,提出了gdas方法。

上面已经提到了飞镖的定义;ENAS是Phamet.al提出的一种基于强化学习的神经架构搜索方法,它也在开始时初始化一个巨大的图形——但与DARTS在每条边上增加权重的方式不同,ENAS使用基于强化学习的控制器来决定选择哪条路径。

在这里,作者明确采用了一些路径并对它们进行了优化。

由于该样本是离散的,作者采用冈贝尔采样技术实现反向传播。

作者写道:“我们在前向传播中使用argmax函数…和softmax在反向传播中的功能……”。

总的来说,该方法实现了对用于图像分类的CIFAR-10数据集和用于语言建模的PennTreeBank数据集的快速搜索。

注:GDAS发现的网络元素。

图片来源:东安洋行(DongandYangGDAS)加速训练和节省内存的另一种技术是直接在前向传播中使用argmax函数——在原地使用后,只需要返回argmax选择的索引处生成的梯度。

作者声称用批次训练的其他层仍然会得到梯度,因为每个批次中样本所采用的路径是不同的。

移动神经网络架构搜索在本文中,作者考虑了网络连接存储搜索的一个重要应用——寻找适合移动设备的网络架构来快速推断场景。

为此,笔者提出了一种多目标优化方法——训练基于强化学习的控制器,寻找一种不仅能得到高分,而且能在谷歌像素1的中央处理器上短时间内做出响应的模型架构。

作者遵循帕累托最优准则,即“如果模型能够在不花费额外时间的情况下达到高精度,或者在不降低精度的情况下花费更少时间,那么模型就是帕累托最优的”。

注:MnasNet神经架构搜索方法概述。

资料来源:Tanet等人此外,为了确保模型在搜索空时有效和可用,作者定义了一个具有多层的“块”。

在每个“块”中,相同的层重复n次——层的类型和重复次数由强化学习控制器预测。

一般来说,MnasNet架构设计是受mobilinetv2的启发,所以MnasNet也可以被认为是使用强化学习对mobilinetv2的微调。

(但是这种“微调”在计算上有点太昂贵了!MnasNet花费了6,912个“TPU× x小时”!RENAS:基于强化进化神经网络架构搜索RENAS的主要思想是使用可微强化学习控制器来增强锦标赛选择方法的变异机制。

锦标赛选择方法首先初始化由神经结构(即进化算法中的个体)组成的群体。

在对每个神经架构个体进行训练后,通过对验证集的评估来确定它们的适合度。

在那之后,群体中适应性最强的个体发生突变——比如改变它的一些层次或操作——来生产一个孩子。

在RENAS论文中,作者添加的强化学习控制器定义了给定网络是如何变异的。

为了加快训练过程,子模型直接继承父模型的模型参数。

注意:进化算法搜索使用强化学习变异。

图片来源:切尼特·阿尔纳斯-FPN:为目标检测寻找特征金字塔结构本文重点介绍了网络连接存储的另一个应用——自动改进目标检测网络。

近几年来,特征金字塔网络(FPN)已经成为几乎所有高性能目标检测网络的标准。

本质上,FPN在逐渐解码由网络主干(编码器)提取的特征中发挥作用。

网络连接存储-FPN论文的动机是寻找一些方法来更好地结合来自原始网络主干结构的不同层的多尺度信息。

为此,作者定义了“mergingcell”的搜索区间空-以各种尺度的特征作为输入,将这些特征细化为输出。

在合并单元中,基于强化学习的控制器选择两个输入层(可以具有不同的尺度)、输出尺度和合并方法(可以是基于注意力的求和或全局汇集等)。)。

合并单元的输出被添加到下采样的汇集层,作为下一步选择的选项之一。

图注:合并单元的结构。

图片来源:作者Ghiasiet等人表示,合并单元的设计使得“任何时间检测”成为可能,因为多个模块化单元可以堆叠在一起,并且在其中任何一个之后前向传播可能会停止。

这样,即使我们提前结束退出并在此时使用网络的输出层进行目标边界回归,特征映射仍然足以使边界回归有效地检测对象边界。

为了加快网络搜索速度,作者使用了输入比例为512×512的较轻的ResNet-10作为网络主干。

IRLAS:基于逆向强化学习的IRLAS神经架构搜索的作者观察到,人们自己设计的网络拓扑结构往往比自动生成的更优雅,这些结构同时定义了网络的响应时间和内存消耗。

因此,作者没有明确设置资源消耗的约束条件,而是尽量让生成的网络拓扑模仿一些经典的网络模型(如ResNet)。

这部分“模仿”是通过奖励功能中的附加项目来实现的。

注:IRLAS概述。

图片来源:郭等人,我个人喜欢“提取现有网络架构设计的精髓,更好地训练网络连接存储模型”的想法。

如果作者能够进一步提出一个方案,使网络连接存储模型能够从许多经典模型(不超过一个)中学习,那将会更加有趣。

使用辅助单元快速搜索小语义分割模型的王波警告说:我(原始博客帖子的作者)也是本文的合著者之一,因此以下观点可能有偏见~传统上,基于强化学习的网络连接存储算法需要大量运算(通常以“GPUx小时”或“TPU小时”来表示)。

尽管这些网络连接存储算法在较小的“代理”数据集(如CIFS-10)的分类任务上仍然具有良好的性能,但这种“代理”数据集在输出更“密集”的任务(如语义分段)上尚不可用。

此外,与训练分类模型相比,训练分割模型需要更多的时间和资源。

为此,本文着重于加速基于强化学习的语义分割神经结构搜索的内环——即样本网络结构的训练和评估。

基于预先训练的图像分类器(这里使用MobileNet-v2),我们只搜索它的解码器部分。

为此,我们设计了一些加速收敛的技术:1)两阶段训练和早期预测。

在第一阶段,我们预先计算编码器的输出,只训练解码器。

如果此阶段后的奖励值低于平均奖励值,则简单地终止此培训。否则,它将进入第二阶段,以端到端的方式训练整个网络。

2)采用知识蒸馏和波利亚克加权平均来加速解码器的收敛。

3)此外,我们还使用了中继监控优化——但不是简单地使用单个网络层进行分段,而是使用由强化学习控制器生成的模型结构来参数化中继分频器。

我们推测,这种过度参数化有助于小语义分割模型:a)它可以使网络主干的梯度更平滑,b)它使得对较浅中间层的任务要求不那么严格。

注:作者发现了一个语义分割模型。

图片来源:Nekrasovet.alFBNet:利用可微网络连接系统设计高效的硬件感知卷积网络。像上面提到的一些工作一样,FBNet的作者也将search 空初始化为一个由不同层组成的巨大图,并使用可微随机优化方法,辅以Gumbel采样技术进行搜索。

此外,作者使用查找表来估计在生成的网络路径上每个块操作花费的时间。

与只搜索一两个块(单元)的网络连接存储文章不同,作者定义了整个网络的宏结构(宏结构/[/k0/)和候选块(每层的微结构/[/k0/),并分别进行搜索。

注意:FBNet发现了一些网络架构。

k代表卷积核大小,e代表放大率,g代表体积积分组的参数图片来源:Wuet.alFBNet的作者使用SamsungGalaxyS8作为目标设备,并使用int8数据类型进行推断。

作者认为以各种不同的设备为目标是不现实的,毕竟,我们正在寻找的是更好的特定于设备的网络(上面提到的查找表也是特定于设备的)。

可定制的语义分割网络架构搜索本文作者将DARTS应用于语义分割,并将搜索空设计成三个单元——图片分类中的常用单元、简化单元和受ASPP启发的多尺度单元。

除了特定任务的损失函数之外,算法的优化目标还增加了一个新的目标函数——“选择特定操作的成本”。

为了定义给定操作的“成本”值,作者提出了一种方法来比较和测量“仅用给定操作建立的单元”和“仅用单个操作建立的单元”之间的响应时间、参数数量或触发器数量的差异。

注意:基于资源的语义分割神经架构搜索。

来源:Zhang等人的作者在搜索多尺度单元之前,首先搜索包括公共单元和缩减单元的语义分割网络主干,然后使用ImageNet对它们进行微调。

令人惊讶的是,作者仍然可以通过使用这种简单而粗略的估计方法有效地找到一个小而精确的网络体系结构。

鸡蛋下面还有两篇文章。虽然这两篇文章与网络连接存储没有密切关系,但它们可能会引起一些人的兴趣。

MFAS:多模式融合网络架构搜索(Multi-modal Convergence Network Architecture Search)本文作者试图解决多模式融合的问题——即给定多个固定模式网络,寻找连接它们的隐藏层的最佳方式,从而实现特定任务的最佳性能。

例如,一个常见的策略是后期融合——只有每个网络的最后一层的输出被融合在一起(例如求和、连接等)。)。

作者还将多模态融合问题定义为神经架构搜索,它不是从零开始搜索整个网络结构,而是只搜索训练网络的连接模式。

为此,作者采用了基于序列模型的优化方法。

在SMBO中,一个称为“代理”的独立函数通常用于估计采样架构的精度。

不同之处在于搜索空从一组相对较小的体系结构开始,并且在“替代”功能被预先训练之后,网络体系结构的大小逐渐增加。

传统网络连接存储框架中这种方法的一个典型案例是渐进式网络连接存储。

通过上述方法,作者发现了一些多模态融合结构,用于预测电影类型和电影简档在移动多媒体数据库数据集上,以及行为识别的结构,基于姿势和RGB信息在南大三维数据集上。

通过神经网络结构搜索的神经生物学评价指标神经生物学中有一种理论认为人类大脑对相似的物体产生相似的神经反应。

基于这一理论,作者推测具有类似人脑的激活机制的神经网络也应该具有更强的泛化能力。

因此,作者提出了一个“与人脑模型相似度”的评价指标,并用这个指标来比较人体的功能磁共振成像(fMRI)与神经网络的激活行为。

这里,作者考虑的网络被称为预解码网络(PredNet),它可以用于无监督的视频预测,即给定当前帧,预测后可能发生什么。

为了定义HMS,作者建立了一个“表征相异矩阵”(RDM)来量化两个系统(这里是网络和人脑)对一对刺激的反应。

给定两个关系数据模型,HMS被定义为两者的斯皮尔曼秩相关系数。

注:卫生管理系统指数的计算流程。

来源:Blanchardet.al .值得注意的是,作者发现HMS与验证集的准确性有很强的相关性——也就是说,HMS可以作为寻找泛化性能强的网络和提前停止的指标。

此外,为了计算头盔显示器,这种方法只需要92个刺激。

看看这一研究方向如何引发生物理论和人工神经网络之间的碰撞,将会很有趣。本文的实现代码已经打开:https://github.com/CVRL/human-model-similarity’s关于“CVPR2019是网络连接存储领域重大突破的盛会”的结论有点夸张,但看到这么多工作能够克服对大量GPU/TPU计算能力的依赖,同时实现同等性能,确实令人鼓舞。我很期待看到网络连接存储的研究将会取得什么进展,以及有多少网络连接存储的研究者能够想到这些技能。

在总结了所有这些之后,我想再提一点:从零开始在网络架构中搜索图像以外的分类任务仍然是一个巨大的挑战。

今年,我们看到了一些基于强化学习改进(如NAS-FPN、FastDenseNAS)、基于可微优化改进(如AutoDeepLab、CAS)和从一开始就预定义的巨大网络结构(类似于飞镖)的神经架构搜索方法,这些方法或多或少做出了一些让步——如将搜索空限制在有限的层数(基于强化学习的),或在搜索开始时预定义的巨大结构(基于飞镖)。

我不禁想到了我们在2015年左右见到的语义分割的进展——那时候的那些工作,大多数都是基于图像分类器的改进CVPR2019神经网络体系结构研究进展综述的(见Longet.al的开创性工作——FCN)。我不禁想起了我们在2015年前后看到的语义分割的进展——当时的大部分工作都是基于图像分类器的改进(参见朗等人的开创性工作——FCN)。

此后,针对各种具体任务的各种模型逐渐变得越来越成熟和多样化(如ASPP、PSP、RefineNet等)。),从而促进了这一领域的蓬勃发展。

我相信在不久的将来,我们还会看到更多针对特定任务定制的网络连接存储模型,而不仅仅是图像分类和语言建模的基本任务。

非常感谢陈豪阅读本文初稿并提出建设性意见和建议。

这篇文章写于2019年7月5日。

本文编辑:皮塔英语原文:https://drsleep.github.io/NAS-at-CVPR-2019/想继续查看文章的相关链接和参考资料?点击[CVPR2019神经网络架构搜索进度回顾]进入!福利交付-免费交付全干货课程!“有趣的蟒蛇:从数据挖掘到深度学习”涵盖了从蟒蛇介绍到简历和自然语言处理实践的所有内容。这是一门非常好的深度学习入门课程,共有9节32小时的课程,总时长约13小时。

课程页面:https://ai.yanxishe.com/page/domesticCourse/37’s《计算机视觉基础课程》(Basic Course of Computer Vision)本课程主要介绍计算机视觉方向的深度学习算法和应用,涵盖计算机视觉的历史和整个课程规划,美国有线电视新闻网的模型原理和训练技巧,计算机视觉应用案例等。,适合对计算机视觉感兴趣的新人。

课程页面:https://ai.yanxishe.com/page/domesticCourse/46人工智能研究所现在向社区认证用户免费开放两门课程。只要您在认证期间在注释框中填写“Python”,您就可以在认证通过后获得课程的所有解锁权限。

未经允许不得转载:威尼斯人app » CVPR2019神经网络体系结构研究进展综述
分享到:
赞(0)

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址