@
文章链接:
本身自己做的东西和网络结构这一块没啥关系,但前几天心血来潮突然就想打个kaggle的比赛(seti-et),发现有好多大佬用的都是EfficientNet和mixup的组合,所以趁这个机会学习一下。小白一个,仅作记录,肯定有写的不合理的地方。
在实际的卷积神经网络的应用中,我们往往需要适当的缩放一些经典的网络架构来适应所使用的数据集的大小。对于相对大的数据集,规模大一些的网络在大多数情况下能够取得更好的结果,但是如何合理地缩放网络以达到最好的效果却始终没人能够很好的回答。
这篇文章系统地研究了网络模型的规模缩放问题并发现平衡地改变网络的深度,宽度和(输入)分辨率能够得到更好的表现。因此文章提出使用复合系数,统一缩放深度/宽度/分辨率的所有尺寸的缩放策略,并在MobileNets和ResNet上验证有效。
除此之外,文章作者通过网络架构搜索(NAS)的方法,搜到了一个baseline网络,并利用先前的缩放策略得到了一系列网络,称之为EfficientNet(b0-b7),相应的网络表现如图。
虽然CNN的放大已经被用的比较多了,也取得了不错的效果,但是方法CNN的过程从未被很好地理解。放大CNN的方式有很多种,如增加深度,增加宽度或增大输入分辨率。直观上来看,前述三种都能够增加CNN的规模,但怎么样改变这三个参数使得扩增后的网络表现最好,是这篇文章主要探索的问题。
文章研究的一个核心问题是:是否有一种原则性的方法来扩大CNN以实现更好的准确性和效率? 文章的实证研究表明,平衡网络宽度/深度/分辨率的所有维度至关重要,令人惊讶的是,这种平衡可以通过简单地以恒定比率缩放每个维度来实现。基于这一观察,文章提出了一种简单而有效的复合缩放方法。也就是以某种恒定的比例同时改变宽度/深度/分辨率这三个维度。比如说,如果我们想使用 2N 倍的计算资源,那么我们可以简单地将网络深度增加 αN,宽度增加 βN,图像大小增加 γN,其中 α、β、γ 是通过原始网格搜索确定的常数系数。
这种做法是符合直觉的,因为如果输入图像更大,则网络需要更多的层来增加感受野,并需要更多的通道来捕获更大图像上的更细粒度的图案。当然,宽度/深度/分辨率这三者的关系在其他文章终于有提到过,但本文是第一个给出定量关系的。
本文在MobileNet和ResNet上验证了这一缩放策略的有效性。考虑到对网络模型缩放的效果极大的受baseline网络的好坏的影响,本文利用NAS得到了一个不错的baseline网络,并使用这一缩放策略得到了一个系列的兄弟姐妹网络,统称为EfficientNet。在ImageNet和其他数据集的实验表示,这一家族的网络不仅参数少,计算快,而且效果还好。
跳过跳过。
最终的目标就是要找到在给定的资源限制和基准网络结构的条件下,寻找能够使网络准确率最高的w,d,r,也就是宽度/深度/分辨率。
问题2的主要难点是最优的d、w、r相互依赖,在不同的资源约束下,其值会发生变化。 由于这个困难,传统方法主要在以下维度之一中扩展 ConvNets:
Depths:加深网络是最常见的一种方式。直觉上来看,更深层次的 CNN可以捕获更丰富、更复杂的特征,并能很好地泛化新任务。 但是,由于逐渐消失的梯度问题,更深层的网络也更难以训练。尽管几种技术,例如跳过连接和批量归一化减轻了训练问题,但非常深网络的准确度增益却减少了。
width:通常用在比较浅的网络上。更宽的网络往往能够捕获更细粒度的特征并且更容易训练。 然而,极宽但浅的网络往往难以捕捉更高层次的特征。
resolution:CNN能够从更高分辨率的输入图像中挖掘得到细粒度更高的特征模式。
观察一、扩大网络宽度、深度或分辨率的任何维度都可以提高精度,但对于更大的模型,精度增益会降低。
从经验上来看,上述三个缩放维度不是独立的,这一点从直觉上是很好理解的。这些直觉表明,我们需要协调和平衡不同的缩放比例,而不是常规的单维度缩放。文章也从实验说明了这一点
观察二:为了追求更好的精度和效率,在 ConvNet 缩放过程中平衡网络宽度、深度和分辨率的所有维度至关重要。
文章最终提出的复合扩张策略为:
由于对网络的缩放并不会影响基础网络架构,因此选择一个合适的baseline也是非常重要的。
文章使用网络架构搜索的方法,以ACC(m)×[FLOPS(m)/T]w作为优化目标,搜索得到了EfficientNet-B0,作为基准网络,然后通过以下步骤得到b0-b7的网络结构。
文章对常用的两个网络使用了本文提出的缩放策略与传统的单维度缩放策略进行了比较,验证了提出的缩放策略对不同CNN的有效性。
将本文提出的EfficientNet与其他sota分类网络在ImageNet数据集上进行了对比,得到了EfficientNet又小又快又准又便宜的优点。
将EfficientNEt用在别的数据集中和其他网络进行比较,仍能够在较小的参数量条件下获得较高的准确率。
因篇幅问题不能全部显示,请点此查看更多更全内容