谷歌开源新模型EfficientNet,或成计算机视觉任务新基础
作者 | Mingxing Tan,Quoc V. Le,Google AI
译者 | 刘畅
责编 | 夕颜
出品 | AI科技大本营(id:rgznai100)
开发一个卷积神经网络(CNN)的成本通常是固定的。在获得更多资源时,我们通常会按比例进行扩展,以便获得更优的准确性。例如,ResNet可以通过增加层数从ResNet-18扩展到ResNet-200,最近,GPipe 网络通过将基准 CNN 模型扩展四倍,在 ImageNet Top-1 上获得了 84.3% 的准确度。在模型扩展方面的操作通常是任意增加 CNN 的深度或宽度,或者在更大输入图像分辨率上进行训练和评估。虽然这些方法确实提高模型了准确性,但它们通常需要繁琐的手工调整,而且还不一定能找到最优的结构。换言之,我们是否能找到一种扩展设计方法来获得更好的准确性和效率呢?
在 Google 的 ICML 2019 论文“EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”中,作者提出了一种新的模型尺度缩放方法,该方法使用简单且高效的复合系数以更结构化的方式来扩展 CNN。 与任意缩放网络尺寸的传统方法(例如宽度、深度和分辨率)不同,本文使用一个固定的缩放系数集合,均匀地缩放每个维度。 借助这种新的缩放方法和在AutoML 方面的最新进展,Google 开发了一系列称为 EfficientNets 的模型,它超越了 SOTA 的精度,并且将效率提高了10倍(更小、更快)。
复合模型扩展:一种更好的扩展 CNN 的方法
为了理解扩展网络的效果,本文系统地研究了扩展模型不同维度带来的影响。虽然扩展各个维度可以提高模型性能,但作者观察到,平衡网络宽度、深度和输入图像大小这些维度比增加计算资源,可以更好地提高整体性能。
复合扩展方法的第一步是执行网格搜索,用来找到在固定资源下基准网络不同扩展维度之间的关系。这决定了上文提到的每个维度的缩放系数。然后,作者用这些系数将基准网络扩展到所需的目标模型大小或预算的计算力。

不同缩放方法的比较。 与传统仅缩放单个维度的方法(b)-(d)不同,我们的复合缩放方法以某种方式统一扩展所有维度。
与传统的缩放方法相比,这种复合缩放方法可以用于提高多个模型的准确性和效率,如MobileNet(+ 1.4%图像网精度)和ResNet(+ 0.7%)。
高效的网络架构
模型缩放的有效性也在很大程度上依赖于基准网络。 因此,为了进一步提高性能,作者使用了 AutoML MNAS 框架(该框架在准确性和效率上都做了优化),利用神经架构搜索来开发新的基准网络。 由此产生的架构使用了移动端的逆向 bottleneck 卷积(MBConv),类似于 MobileNetV2 和 MnasNet,但由于有更多的 FLOP 预算,因此结构略大。最终,作者扩展了这个基准网络以获得一系列模型,称为 EfficientNets。

本文的基准网络 EfficientNet-B0,其架构简单干净,便于扩展。
EfficientNet 网络的性能
文中将 EfficientNets 与 ImageNet 上其他现有的 CNN 进行了比较。 总的来说,EfficientNet 模型实现了比现有 CNN 更高的精度和更高的效率,将参数大小和 FLOPS 降低了一个数量级。 例如,在高精度下,EfficientNet-B7 在 ImageNet 上达到了 SOTA 的Top-1,84.4% 的准确率与 Top-5 97.1% 的准确率,同时在 CPU 上的开销比之前的 Gpipe 小 8.4 倍和 6.1 倍。与广泛使用的 ResNet-50 相比,EfficientNet-B4 在保持相同 FLOPS 开销情况下,将 Top-1 的精度从ResNet-50 的 76.3% 提高到 82.6%(+ 6.3%)。

模型尺寸与精度比较。 EfficientNet-B0 是由 AutoML MNAS 开发的基准网络,而 Efficient-B1 到 B7 是通过扩展基准网络得到。特别是,EfficientNet-B7 实现了 SOTA 的 Top-1,84.4% 准确率与 Top-5,97.1% 的准确率,同时比现有最佳的 CNN 小 8.4 倍。
尽管 EfficientNets 在 ImageNet 上表现较好,但为了验证它的泛化能力,也应该在其他数据集上进行测试。 为了评估这一点,作者在八个广泛使用的迁移学习数据集上测试了EfficientNets。EfficientNets 在 8 个数据集中的 5 个中实现了 SOTA 的精度,例如 CIFAR-100(91.7%)和 Flowers(98.8%),模型参数减少了一个数量级(减少了21倍),这表明EfficientNets 也能很好的进行迁移。
由于 EfficientNets 显著提高了模型效率,作者预计它可能在未来会成为计算机视觉任务的新基础。 因此,作者开源了所有 EfficientNet 模型。
代码地址:
https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
原文地址:
https://ai.googleblog.com/2019/05/efficientnet-improving-accuracy-and.html?m=1
◆
精彩推荐
◆
6月29-30日,2019以太坊技术及应用大会 特邀以太坊创始人V神与以太坊基金会核心成员,以及海内外知名专家齐聚北京,聚焦前沿技术,把握时代机遇,深耕行业应用,共话以太坊2.0新生态。
扫码或点击阅读原文,既享优惠购票!
推荐阅读
代码有温度 科技需向善
谷歌开源张量网络库TensorNetwork,GPU处理提升100倍!
B站超全分享!2万人收藏的免费计算机科学速成课
罗永浩的开源情怀
被5月GitHub Top20榜单惊呆了! 原来区块链大佬都在做这个...
惊!为拯救美国落伍的 STEM 教育,纷纷出手教老师编程?!
超级黑幕:开发者千万别被算法迷惑了!
高考倒数 2 天!程序员惊现最燃表白!
从流感预测到智能决策,深度学习能帮企业做哪些事?
有一种青春叫高考,Python爬取历年数据,说说我们一起经历的高考
点击阅读原文,查看更多精彩内容。
相关文章:

【FFmpeg】使用过的命令汇总(持续更新中...)
1、将输出文件的视频比特率设置为 64 kbit/s: ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi2、将输出文件的帧速率强制为 24 fps: ffmpeg -i input.avi -r 24 output.avi3、将输入文件的帧速率(仅对原始格式有效)强制为 1 fps,将输出文件的帧速率强制为 24 fp…

HLG 1481 Attack of the Giant n-pus【二分+二分图完全匹配】
题意: 有 p 个水手和一个章鱼,章鱼有 n 个脚,知道了所有单位的坐标,和船长以及船员的速度,船长想去攻击章鱼的头部,但是只有在章鱼所有的脚都被水手控制的情况下才会开始朝章鱼头部进攻,问如何分…

美亚排名超高的Docker入门书,不止简单易懂
在美国亚马逊,有一本书的影响力超高的Docker入门书,在操作系统分类中排行第一,超越了众多实力派Docker书,众多五星好评。也许你有所耳闻,这本书就是《深入浅出Docker》。这是一本关于Docker的图书。这本书的宗旨是从零…

虚拟机配置参数
标准参数:保证所有JVM的实现都可以支持-client设置Hotspot client jvm,64位jdk会忽略该参数并设置-server-Dpropertyvalue用于设置系统属性,如果value中有空格,则需要设置-Dproperty"value value"-server选择Hotspot Se…

【Qt】QAudioDeviceInfo获取不到音频设备
1、问题描述 使用QAudioDeviceInfo在开发机上可以获取本地的音频设备,但是在目标机上获取不到。 已经将libQt5Multimedia库拷贝到目标机上(如果没有将会报错)。 2、原因 没有将audio的插件拷贝到目标机上,audio插件在Qt安装目录…

异常:android.os.NetworkOnMainThreadException
Android 4.1项目:使用新浪微博分享时报: android.os.NetworkOnMainThreadException 网上搜索后知道是因为版本问题,在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧。那么网上的朋友…

阿里带火的中台到底是什么?白话中台战略
作者 | 王健,ThoughtWorks首席咨询师。 十多年国内外大型企业软件设计开发,团队组织转型经验。一直保持着对技术的热爱,热衷于技术分享。目前专注在企业平台化转型、中台战略规划,微服务架构与实施,大型遗留系统服务化…

【Qt】Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题
1、问题描述 在ubuntu18.04中第一次安装QT5,运行时报错 qtcreator.sh qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be init…

Bootstrap4 更新笔记
在bootstrap4里, 1. 旧版本bootstrap well变成了什么? well原本是‘’淡灰墙‘’样式。 Bootstrap 4 Beta card-block is now card-body, and bg-faded is now bg-light: <div class"card card-body bg-light"> Well </div>ref&am…

二、JavaScript基础 学好jQuery要了解的
JavaScript与ECMAScript ECMAScript 通过ECMA-262标准的脚本程序设计语言 ECMAScript标准下有 javascript jscript actionscript JavaScript分为值类型和引用类型两大类,有时也称为原始值和引用值。值类型:存储在栈(stack)中,一个值类型的变量…

一文综述经典的深度文本分类方法
作者 | 何从庆转载自AI算法之心(ID:AIHeartForYou)笔者整理最近几年比较经典的深度文本分类方法,希望帮助小伙伴们了解深度学习在文本分类中的应用。Convolutional Neural Networks for Sentence Classification (EMNLP 2014)Kim在EMNLP2014…

【FFmpeg】便捷函数汇总(持续更新中...)
音频相关: 1、由通道布局获取通道数 int av_get_channel_layout_nb_channels(uint64_t channel_layout);2、由通道数获取默认的通道布局 int64_t av_get_default_channel_layout(int nb_channels);3、返回采样格式对应的字符串名字 const char *av_get_sample_fm…

云服务器代金券
最近腾讯云与阿里云的促销活动都很好,有需要云服务器的可以领取代金券购买 https://www.art-china.club/ 至于配置调试的问题,可以问我,友情帮忙。转载于:https://blog.51cto.com/dnuser/2167896

NLP最新资源:论文、代码、博客、视频一应俱全
整理 | Rachel出品 | AI 科技大本营(ID:rgznai100)【导读】在近几年,NLP 领域得到了快速的发展,包括 ELMo ,BERT在内的新方法不断涌现,显著提高了模型在一系列任务的表现。在本文中,…

android在线播放音乐
2019独角兽企业重金招聘Python工程师标准>>> android在线音乐 一种方法是调用android自带的播放器 //调用系统自带播放器Intent intent new Intent();Uri uri Uri.parse("http://mul1.tximg.cn/music/group/bbs/mp3/44/100715/1279159638887.mp3?z909255638…

head和tail命令详解
基础命令学习目录首页 原文链接:https://www.cnblogs.com/amosli/p/3496027.html 当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十…

【FFmpeg】ffmpeg工具源码分析(四):filter(过滤器、滤镜)详解
1、简介 FFmpeg用来处理音视频,实现处理功能的核心就是filter(滤镜),和我们使用的美颜功能的滤镜意思差不多,FFmpeg的filter(滤镜)不仅可以处理视频,还能处理音频、字幕等。 官方说明: 在编码之前,ffmpeg可以使用 libavfilter 库中的过滤器处理原始音频和视频帧。几…

【ZooKeeper Notes 14】数据模型
转载请注明:ni掌柜 nileadergmail.com本文主要讲述ZooKeeper的数据模型,包括ZooKeeper的数据视图,节点的层次结构以及节点类型等基本属性。Zookeeper的视图结构类似标准的Unix文件系统,但是没有引入文件系统相关概念:目…

李理:为什么说人工智能可以实现?
作者 | Just出品 | AI科技大本营(ID:rgznai100)尽管市面上关于深度学习的书籍很多,环信 AI 负责人李理认为大部分只关注理论或只关注实践。于是,基于他对深度学习多年的理解,自己着整理手写了一本深度学习理论与实战书…

【FFmpeg】FFmpeg编解码H264产生马赛克、伪影的解决方法
1、问题描述 使用FFmpeg编码H264,再解码显示时,产生马赛克:有时是在画面静止时,静止时间越长,马赛克、伪影越多;有时是在画面切入切出时;有时是在网络带宽不够时 2、原因分析 2.1 丢帧 网络状况差的情况下(带宽不足),容易丢帧,在视频画面播放过程中,若I帧丢失了,…

LINUX内核升级
内核版本是2.6.18,新的内核是2.6.26。 1.下载新内核,下载网站www.kernel.org 2.copy内核到/usr/local/src下 3.解压内核 解压内核命令 tar -xjvf linux-2.6.26.tar.bz2 4.清理以前编译所生成的文件 命令为 make distclean,如果以前没有编…

我在美团的这两年,想和你分享
作者 | 石晓文来源 | 小小挖掘机(ID:wAIsjwj)012017.08.14,结束了两周的等待,如愿以偿开始了自己的美团实习生活,本来抱着三五个月走人,争取下一份实习的心态,没想到一直到转为暑期实…

【Qt】QtCreator updatePchInfo:switching to none
1、Pch名词解释 Pch(PreCompiled Headers)预编译头文件。 使用方法: CONFIG+=precompile_header PRECOMPILED_HEADER=XXX.h 2、updatePchInfo:switching to none 和QtCreator代码格式化Beautifier插件配置了clang code model有关系。 猜测:clang分析预编译头文件相关,…

学习框架、库的经验
熟悉基础语法把框架的功能过一遍,看看有哪些功能从文档的demo入口去学习上手会更快在你的开发目录要有一个专门写demo的页面,用以调试页面,试验新功能如果框架或者库提供有demo则更好,可以从中得到很多有用的东西

开源应用程序结构
2019独角兽企业重金招聘Python工程师标准>>> 给有兴趣的同学介绍的。这里面介绍了很多著名的开源软件的架构,相信读后会有所收获。 地址:http://www.aosabook.org/en/index.html 转载于:https://my.oschina.net/qinlinwang/blog/71649

免费GPU哪家强?谷歌Kaggle vs. Colab
作者 | Jeff Hale译者 | Monanfei责编 | 夕颜出品 | AI科技大本营(id:rgznai100)谷歌有两个平台提供免费的云端GPU:Colab和Kaggle, 如果你想深入学习人工智能和深度学习技术,那么这两款GPU将带给你很棒学习…

【SVN】svn“E155017工作副本的参考文件损坏、E200014文件校验和不匹配”的解决方法
1、问题描述 在执行svn提交时报错 svn: E155017: 工作副本的参考文件损坏 svn: E200014: ‘test.cpp’ 的文件校验和不匹配: 期望:xxxx 实际:xxxx 2、解决方法 2.1 拷贝 最好将提交的项目拷贝一份; 2.2 删除 使用svn rm --k…

QT程序启动加载流程简介
1. QT应用程序启动加载流程简介1.1 QWS与QPA启动客户端程序区别1.1.1 QWS(Qt Window System)介绍QWS(Qt Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者…

QQ2012 Under Ubuntu
下载地址: QQ2012 Under Ubuntu转载于:https://www.cnblogs.com/ismdeep/archive/2012/08/09/2630067.html

25亿布局大湾区,创新工场的AI下一站
2019年6月5日,创新工场大湾区总部正式开业启动,集“产业投资AI 研究院商业赋能落地”三个功能为一体。当天创新工场还首次分享人工智能工程院成立两年来的成绩单,创新奇智的大湾区布局,并发布大湾区人才战略。创新工场也正式宣布第…