微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EfficientNets 模型缩放方法

程序名称:EfficientNets

授权协议: Apache

操作系统: 跨平台

开发语言: Python

EfficientNets 介绍

EfficientNets 是
谷歌基于AutoML开发的,是一种新的模型缩放方法。它在ImageNet测试中实现了84.1%的准确率,再次刷新了纪录。

虽然准确率只比之前最好的Gpipe提高了0.1%,但是模型更小更快,参数的数量和FLOPS都大大减少,效率提升了 10倍

开发EfficientNets是来自谷歌大脑的工程师 Mingxing Tan 和首席科学家 Quoc V. Le
,他们的文章《EfficientNet: Rethinking Model Scaling for Convolutional Neural
Networks》已经被 ICML 2019 收录。

实现方法

传统提高CNN准确率的方法有:增加网络的深度或宽度,例如通过增加层数将resnet-18可扩展到resnet-200,或者是提高输入图片分辨率来训练和评估网络。

虽然这些方法确实提高了准确率,但是通常需要繁琐的手动调整,而且经常不能获得最优的性能

最近谷歌提出了一种 复合缩放 (compound
scaling)的方法,与缩放神经网络的传统方法不同,谷歌的方法使用一组固定的缩放系数统一缩放每个维度。

实现复合缩放的首先是执行 网格搜索 ,以在固定资源约束下找到基线网络(baseline
model)的不同缩放维度之间的关系,确定每个维度的缩放比例系数。然后将这些系数将应用于基线网络,扩展到所需的目标模型大小或计算力。

模型缩放的有效性也在很大程度上依赖于基线网络。因此,为了进一步提高性能,谷歌还使用 AutoML MNAS
框架优化了模型的准确率和效率,执行神经架构搜索来开发新的基线网络。

性能表现

EfficientNet模型实现了比现有CNN更高的精度和更高的效率,将参数数量和FLOPS降低了一个数量级。

特别需要指出的是,EfficientNet-B7在ImageNet上实现了目前最先进的测试结果,准确度为84.4%(top-1)和97.1%(top-5),同时比现有最好的Gpipe小了8.4倍,推理速度快6.1倍。

在同等算力的条件下,EfficientNet也有更好的表现。与resnet-50相比,EfficientNet-B4的准确率为82.6%,比resnet-50的76.3%高出6.3个百分点。

EfficientNets不仅在ImageNet上表现良好,迁移到其他数据集上也有优秀的表现。为了评估这一点,谷歌在8个广泛使用的迁移学习数据集上测试了EfficientNets,其中5个实现了最先进的准确度。它在CIFAR-100上准确度为91.7%,在Flowers上为98.8%,同时参数减少了21倍。

文章来源:量子位

EfficientNets 官网

https://arxiv.org/abs/1905.11946

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐