EfficientNet
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EfficientNet相关的知识,希望对你有一定的参考价值。
参考技术A论文:EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
这篇ICML2019的论文对目前分类网络的优化提出更加泛化的思想, 认为目前常用的加宽网络、加深网络和增加分辨率这3种常用的提升网络指标的方式之间不应该是相互独立的 。因此提出了compound model scaling算法,通过综合优化网络宽度、网络深度和分辨率达到指标提升的目的,能够达到准确率指标和现有分类网络相似的情况下,大大减少模型参数量和计算量。
首先通过Figure2了解下model scaleing的含义。作者将目前分类网络的model scaling大致分为:加宽网络、加深网络和增大分辨率,也就是分别对应Figure2中的(b)、(c)、(d),这3个分别从不同的维度来做model scaling,举个例子,对ResNet网络做深度方面的model scaling可以得到ResNet50、ResNet101等不同深度的网络结构。而这篇论文要做的是将这3者结合起来一起优化,也就是(e)。
卷积神经网络是在固定的资源预算下开发的,如果有更多的资源可用,可以相应地得到更高的准确率。在本文中,我们系统地研究模型压缩并确认小心地平衡网络深度、宽度和分辨率能够带来更好的效果。通过这一观察,我们提出了一种新的缩放方法:使用简单高效的复合系数统一缩放所有的维度,包括深度、宽度以及分辨率。我们证明这种方法在压缩MobileNets和ResNets网络是有效的。
(到底什么是EffientNets呢?)
在此我只摘记我看得懂的部分
网络缩放的方式不能被理解,并且没有一个确切的缩放方式。最常见的方式是网络深度或宽度的缩放。另一个比较常见的,但是最近很流行的方法是通过图片分辨率的缩放来缩放网络。在之前的工作中,缩放宽度、深度和分辨率的某一项是十分常见的。尽管可以任意缩放二维或三维,但任意缩放需要繁琐的手动调整,并且仍然经常产生次优的精度和效率。
在这篇文章中,我们试图去研究和重新思考ConvNets的缩放过程。我们提出了一个核心问题:是不是存在一种原则性的缩放网络的方法来实现更高的准确率和效率?我们的实验研究表明,平衡网络宽度、深度和分辨率的所有维度是至关重要的,并且令人惊讶的是,通过简单地用恒定比率来缩放他们,可以实现这种平衡。基于这一观察,我们提出了验证简单而有效的复合缩放方法。与任意缩放这些因子的传统实践不同,我们的方法使用一组固定的缩放系数统一地缩放网络宽度、深度和分辨率。通过这一观察,我们提出了一种简单但是有效的复合缩放方法。与任意缩放这些因子的传统方法不同,我们的方法使用一组固定的缩放系数统一地缩放网络宽度,深度和分辨率。
为了更进一步,我们使用神经架构搜索来设计新的基础结构,进行缩放以获得一系列模型,称为EffientNets,它比以前的ConvNets具有更高的准确性和效率。特别地,我们的EfficientNet-B7在ImageNet上实现了最先进的84.4%top-1 / 97.1%top-5精度,同时比现有最好的ConvNet小8.4倍,推理速度快6.1倍。我们的EfficientNets在CIFAR-100(91.7%),Flowers(98.8%)和其他3个传输学习数据集上也能很好地传输和实现最先进的精度,参数的数量级减少了一个数量级。
以上是关于EfficientNet的主要内容,如果未能解决你的问题,请参考以下文章