RegNet | 何恺明团队最新作品,源于Fackbook AI(附下载链接)

点击蓝字关注我们

扫码关注我们

公众号 : 计算机视觉战队

扫码回复:regnet,获取下载链接

简述

在这项工作中,何老师团队提出了一个新的网络设计范例。我们的目标是帮助提高对网络设计的理解,并发现跨设置泛化的设计原则。

我们不是专注于设计单个的网络实例,而是设计参数化网络总体的网络设计空间。整个过程类似于经典的手工网络设计,但是提升到了设计空间的层次。使用我们的方法,我们探索了网络设计的结构方面,并得出一个由简单的、规则的网络组成的低维设计空间,我们称之为RegNet。RegNet参数化的核心思想非常简单:良好网络的宽度和深度可以用量化的线性函数来解释。我们分析了RegNet设计空间,得出了与当前网络设计实践不相符的有趣发现。RegNet设计空间提供了简单而快速的网络,可以很好地跨越各种触发器。

在可比较的训练设置和flops的情况下,RegNet模型在gpu上的运行速度高达5倍,表现优于当前流行的有效网模型。

背景

深度卷积神经网络是视觉识别的引擎。在过去的几年里,更好的体系结构在视觉识别领域取得了长足的进步。例如LeNet、AlexNet、VGG和ResNe。这一工作体系既提高了神经网络的有效性,也提高了我们对网络设计的理解。特别是上述工作序列,分别说明了卷积、网络和数据大小、深度和残差的重要性。这些工作的结果不仅是特定的网络实例化,而且是设计原则,可以推广和应用于许多设置。

上图所示:设计空间设计。我们建议设计网络设计空间,其中设计空间是可能的模型架构的参数化集合。设计空间设计类似于人工网络设计,但提升到了人口层面。在我们流程的每个步骤中,输入是初始设计空间,输出是更简单或更好模型的精细化设计空间。在[I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Dollar. ´On network design spaces for visual recognition. In ICCV,2019]之后,我们通过采样模型并检查它们的误差分布来描述设计空间的质量。例如,在上图中我们从最初的设计空间和应用两个改进措施产量设计空间B C。在这种情况下C⊆B⊆(左),和误差分布严格改善从A到B C(右)。希望适用于模型总体的设计原则更有可能是健壮的和一般化的。

虽然手动网络设计已经取得了很大的进展,但是手动找到优化良好的网络可能是一项挑战,特别是在设计选择的数量增加的情况下。解决这一限制的一种流行方法是神经架构搜索(NAS)。给定一个可能的网络的固定搜索空间,NAS会自动在搜索空间中找到一个好的模型。近年来,NAS受到了广泛的关注,并取得了良好的研究成果。

尽管NAS有效,但这种范式也有局限性。搜索的结果是将单个网络实例调优到特定的设置(例如,硬件平台)。在某些情况下,这就足够了;然而,它并不能帮助我们发现网络设计原则,从而加深我们的理解,并使我们能够归纳出新的设置。特别是,我们的目标是找到易于理解、构建和泛化的简单模型。

在这项工作中,我们提出了一个新的网络设计范例,它结合了手工设计和NAS的优点。我们不是专注于设计单个的网络实例,而是设计参数化网络总体的设计空间。和手工设计一样,我们的目标是可解释性,并发现描述网络的一般设计原则,这些网络简单、工作良好,并且可以在各种设置中泛化。与NAS一样,我们的目标是利用半自动过程来帮助实现这些目标。

我们采用的一般策略是逐步设计一个初始的、相对不受约束的设计空间的简化版本,同时保持或提高其质量(上图)。整个过程类似于手工设计,提升到总体水平,并通过网络设计空间的分布估计进行指导。

作为这个范例的一个测试平台,我们的重点是探索假定标准模型族包括VGG、ResNet和ResNeXt的网络结构(例如,宽度、深度、组等)。我们从一个相对不受约束的设计空间开始,我们称之为AnyNet(例如,宽度和深度在不同阶段自由变化),并应用我们的人在循环的方法来达到一个由简单的“规则”网络组成的低维设计空间,我们称之为RegNet。RegNet设计空间的核心很简单:舞台宽度和深度由量化的线性函数决定。与AnyNet相比,RegNet设计空间具有更简单的模型,更易于解释,并且具有更高的优秀模型集中度。

相关工作

相关工作就简单叙述下,有兴趣的可以自己去阅读。

手动网络设计

AlexNet的引入使网络设计成为一个蓬勃发展的研究领域。在接下来的几年里,提出了改进的网络设计;例如VGG, Inception, ResNet, ResNeXt, DenseNet,和MobileNet。这些网络背后的设计过程很大程度上是手工的,并且专注于发现新的设计选择,以提高准确性,例如使用更深层次的模型或残差。我们同样分享发现新设计原则的目标。事实上,我们的方法类似于手工设计,但是在设计空间级别执行。

自动化的网络设计

最近,网络设计的过程已经从手工探索转向了自动化程度更高的网络设计,并由NAS推广开来。NAS已被证明是寻找良好模型的有效工具。NAS的大部分工作集中在搜索算法上,即,在一个固定的、手工设计的搜索空间(我们称之为设计空间)中高效地找到最佳网络实例。相反,我们关注的是设计新颖设计空间的范例。两者是相辅相成的:更好的设计空间可以提高NAS搜索算法的效率,并且通过丰富设计空间来产生更好的模型。

网络扩展

手动和半自动网络设计通常都关注于为特定的机制寻找性能最佳的网络实例(例如,与ResNet-50相当的失败数)。由于这个过程的结果是一个单一的网络实例,所以不清楚如何使实例适应不同的机制(例如,更少的失败)。一种常见的做法是应用网络缩放规则,如改变网络深度、宽度、分辨率或三者同时改变。相反,我们的目标是发现普遍的设计原则,这些原则适用于各种制度,并允许对任何目标制度下的最佳网络进行有效的调优。

比较网络

考虑到大量可能的网络设计空间,使用可靠的比较度量来指导我们的设计过程是至关重要的。最近,有作者提出了一种比较和分析从设计空间中采样的网络总体的方法。这个分布级视图与我们寻找通用设计原则的目标完全一致。因此,我们采用这种方法,并证明它可以作为一个有用的工具,为设计空间的设计过程。

参数化

我们最终的量化线性参数化与之前的工作有相似之处,例如如何设置舞台宽度。然而,有两个关键的区别。首先,我们提供了一个实证研究证明我们所做的设计选择。其次,我们提供了以前不了解的结构设计选择(例如,如何在每个阶段设置块的数量)。

新算法

我们的目标是设计更好的视觉识别网络。我们不是在特定的环境下设计或寻找单一的最佳模型,而是研究模型总体的行为。我们的目标是发现一般的设计原则,可以适用于和改善整个模型人口。这样的设计原则可以提供对网络设计的洞察,并且更有可能泛化到新的设置中(不同于针对特定场景进行调整的单个模型)。

我们依靠Radosavovic等人提出的网络设计空间的概念。一个设计空间是一个庞大的,可能是无限的,模型架构的种群。[I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Dollar. ´ On network design spaces for visual recognition. In ICCV, 2019]的核心观点是,我们可以从设计空间中抽取模型样本,生成模型分布,并使用经典统计数据中的工具来分析设计空间。我们注意到这与架构搜索不同,架构搜索的目标是从空间中找到单个的最佳模型。

在这项工作中,我们建议设计一个逐步简化版本的初始,无约束的设计空间。我们将这个过程称为设计空间设计。设计空间设计类似于顺序的手工网络设计,但提升到总体水平。具体地说,在我们的设计过程的每一步中,输入是一个初始设计空间,输出是一个精细化的设计空间,其中每一步的目的是发现设计原则,从而生成更简单或性能更好的模型。

相对于AnyNet设计空间,RegNet设计空间是:

  • 在它所允许的网络配置的尺寸和类型方面都进行了简化;

  • 包含了更集中的性能最好的模型;

  • 更易于分析和解释。

设计空间设计工具

我们首先概述用于设计空间设计的工具。为了评估和比较设计空间,我们使用了Radosavovic等人提出的工具,他们提出通过从设计空间中抽取一组模型并对结果模型误差分布进行表征来量化设计空间的质量。这种方法背后的主要直觉是,与使用搜索(手动或自动)和比较来自两个设计空间的最佳模型相比,比较发行版更健壮、更有信息性。

为了获得模型的分布,我们从一个设计空间中采样并训练n个模型。为了提高效率,我们主要在低计算、低时代的训练体制下进行。特别地,在本节中,我们使用4亿个flop3 (400MF)机制,并在ImageNet数据集[3]上对每个采样模型进行10个纪元的训练。我们注意到,虽然我们训练了许多模型,但每一次训练都是快速的:在400MF下训练100个模型10个epoch与在4GF下训练单个ResNet-50模型100 epoch大致相当。

与[I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Dollar. ´ On network design spaces for visual recognition. In ICCV, 2019]一样,我们分析设计空间质量的主要工具是误差经验分布函数(EDF)。有误差ei的n个模型的误差EDF为:

F(e)给出了误差小于e的模型的比例。我们在上图(左)中展示了来自AnyNetX设计空间的n = 500个采样模型的误差EDF。给定一组训练过的模型,我们可以绘制和分析各种网络属性与网络错误之间的关系,参见上图(中间)和上图(右边),这两个示例取自AnyNetX设计空间。这样的可视化显示了一个复杂的高维空间的一维投影,可以帮助获得对设计空间的洞察。对于这些图,我们使用一个经验bootstrap4来估计最佳模型的可能范围。

总结

  • 我们生成分布模型获得的采样和训练n模型的设计空间;

  • 我们计算和绘制错误edf总结设计空间质量;

  • 我们想象的各种属性设计空间和使用经验引导了解;

  • 我们使用这些信息来改进设计空间。

设计空间中模型的一般网络结构。(a)每个网络包括一个stem (stride-two 3×3 conv with w0 = 32 output channels),接着是执行大部分计算的网络主体,然后是预测n个输出类的head(平均池接全连接层)。(b)网络主体由一系列按逐步降低分辨率ri操作的阶段组成。(c)除了第一个使用stride-two conv的块外,每个阶段都由一系列相同的块组成。虽然一般结构简单,但可能的网络配置的总数是巨大的。

AnyNet的设计空间

接下来,我们将介绍我们最初的AnyNet设计空间。我们的重点是探索假定标准的固定网络块(例如,剩余瓶颈块)的神经网络结构。在我们的术语中,网络的结构包括一些元素,如块的数量(即网络深度)、块的宽度(即通道的数量)和其他块的参数(如瓶颈比率或组的宽度)。网络的结构决定了计算、参数和内存在整个网络计算图中的分布,是决定其准确性和效率的关键。

在我们的AnyNet设计空间中,网络的基本设计非常简单。给定一个输入图像,一个网络由一个简单的主干、执行大部分计算的网络主体和预测输出类的最终网络头组成,如图3a所示。我们保持杆和头固定,尽可能简单,相反,我们关注网络主体的结构,这是决定网络计算和精度的核心。

我们的实验大多使用标准的残差瓶颈块与组卷积,如上图所示。我们将其称为X块,在其上构建的AnyNet设计空间称为AnyNetX。虽然X块非常简陋,但我们证明了它在优化网络结构时可以非常有效。

AnyNetX设计空间有16个自由度,因为每个网络由4个阶段组成,每个阶段i有4个参数:块数量di、块宽度wi、瓶颈比bi和组宽度gi。我们修正了输入分辨率r = 224,除非另有说明。为了得到有效的模型,我们对di≤16,wi≤1024,且可被8整除,bi∈{1,2,4},gi∈{1,2,…, 32}(稍后测试这些范围)。

我们重复采样,直到在我们的目标复杂度范围内(360 - 400MF)获得n = 500个模型,并对每个模型进行10个epoch的训练。AnyNetX的基本统计数据如上面第二张图所示。

AnyNetX的sic统计数据如下图所示。在AnyNetX设计空间中有(16·128·3·6)4≈1018种可能的模型配置。我们不是从这些∼1018配置中寻找单个的最佳模型,而是探究是否有通用的设计原则可以帮助我们理解和改进这个设计空间。为此,我们采用了设计设计空间的方法。在这方法的每一步,我们的目标是:

1. 为了简化设计空间的结构,

2. 为了提高设计空间的可解释性,

3.改善或维持设计空间质素,

4. 保持设计空间的模型多样性。

上图:AnyNetXB(左)和AnyNetXC(中)分别引入了共享瓶颈比bi = b和共享组宽度gi = g。这简化了设计空间,同时几乎不会改变错误EDFs。此外,AnyNetXB和AnyNetXC更易于进行分析。对b和g应用经验自举法,我们可以看到趋势的出现,例如,在这种情况下,95%置信b≤2是最好的(右)。在AnyNetXA的个体bi和gi中没有明显的这种趋势(未显示)。

上图:示例好的和坏的AnyNetXC网络,分别显示在顶部和底部行。对于每个网络,我们绘制每个块j的宽度wj,直到网络深度d。这些每个块宽度wj是由每个阶段的块深度di和块宽度wi计算出来的(列在图例中以供参考)。

AnyNetXD(左)和AnyNetXE(右)。我们给出了每个阶段宽度wi和深度di的各种约束条件。在这两种情况下,增加wi和di是有益的,而使用常数或递减值则更糟。注意AnyNetXD = AnyNetXC + wi+1≥wi,且AnyNetXE = AnyNetXD + di+1≥di。我们将很快探讨对wi和di的更强约束。

今天暂时到这里,下一期我们把后面的一起说完,这是一篇非常不错的文章,有兴趣的同学一定要自己去读,真的可以学习到很多。

如果想加入我们“计算机视觉研究院”,请扫二维码加入我们。我们会按照你的需求将你拉入对应的学习群!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

扫码加入我们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值