【导读】谷歌AI研究部门华人科学家再发论文《EfficientNet:重新思考CNN模型缩放》,模型缩放的传统做法是任意增加CNN的深度和宽度,或使用更大的输入图像分辨率进行训练,而使用EfficientNet使用一组固定额缩放系数统一缩放每个维度,超越了当先最先进图像识别网络的准确率,效率提高了10倍,而且更小。

目前提高CNN精度的方法,主要是通过任意增加CNN深度或宽度,或使用更大的输入图像分辨率进行训练和评估。

以固定的资源成本开发,然后按比例放大,以便在获得更多资源时实现更好的准确性。例如ResNet可以通过增加层数从ResNet-18扩展到ResNet-200。

再比如开源大规模神经网络模型高效训练库GPipe,通过将基线CNN扩展四倍来实现84.3% ImageNet top-1精度。

这种方法的优势在于确实可以提高精度,但劣势也很明显。这个时候往往需要进行繁琐的微调。一点点的摸黑去试、还经常的徒劳无功。这绝对不是一件能够让人身心愉快的事情,对于谷歌科学家们也一样。

这就是为什么,谷歌人工智能研究部门的科学家们正在研究一种新的“更结构化”的方式,来“扩展”卷积神经网络。他们给这个新的网络命名为:EfficientNet(效率网络)。

代码已开源,论文刚刚上线arXiv,并将在6月11日,作为poster亮相ICML 2019。

比现有卷积网络小84倍,比GPipe快6.1倍

为了理解扩展网络的效果,谷歌的科学家系统地研究了缩放模型不同维度的影响。模型缩放并确定仔细平衡网络深度后,发现只要对网络的深度、宽度和分辨率进行合理地平衡,就能带来更好的性能。基于这一观察,科学家提出了一种新的缩放方法,使用简单但高效的复合系数均匀地缩放深度、宽度和分辨率的所有尺寸。

据悉,EfficientNet-B7在ImageNet上实现了最先进精度的84.4% Top 1/97.1% Top 5,同时比最好的现有ConvNet小84倍,推理速度快6.1倍;在CIFAR-100(91.7%),Flower(98.8%)和其他3个迁移学习数据集上,也能很好地传输和实现最先进的精度。参数减少一个数量级,效率却提高了10倍(更小,更快)。

与流行的ResNet-50相比,另一款EfficientNet-B4使用了类似的FLOPS,同时将ResNet-50的最高精度从76.3%提高到82.6%。

这么优秀的成绩是如何做到的

这种复合缩放方法的第一步是执行网格搜索,在固定资源约束下找到基线网络的不同缩放维度之间的关系(例如,2倍FLOPS),这样做的目的是为了找出每个维度的适当缩放系数。然后应用这些系数,将基线网络扩展到所需的目标模型大小或算力预算。

与传统的缩放方法相比,这种复合缩放方法可以持续提高扩展模型的准确性和效率,和传统方法对比结果:MobileNet(+ 1.4% imagenet精度),ResNet(+ 0.7%)。

新模型缩放的有效性,很大程度上也依赖基线网络。

为了进一步提高性能,研究团队还通过使用AutoML MNAS框架执行神经架构搜索来开发新的基线网络,该框架优化了准确性和效率(FLOPS)。

由此产生的架构使用移动倒置瓶颈卷积(MBConv),类似于MobileNetV2和MnasNet,但由于FLOP预算增加而略大。然后,通过扩展基线网络以获得一系列模型,被称为EfficientNets。

不仅局限于ImageNet

EfficientNets在ImageNet上的良好表现,让谷歌的科学家希望将其应用于更广泛的网络中,造福更多的人。

在8个广泛使用的迁移学习数据集上测试之后,EfficientNet在其中的5个网络实现了最先进的精度。例如,在参数减少21倍的情况下,实现了CIFAR-100(91.7%)和Flowers(98.8%)。

看到这样的结果,谷歌科学家预计EfficientNet可能成为未来计算机视觉任务的新基础,因此将EfficientNet开源。

华人做出了重要贡献

论文的两位作者,都和中国有关。

第一作者是谷歌的高级软件工程师Mingming Tan,北大博士,在康奈尔大学获得博士后学位。

第二作者Quoc V. Le现在是谷歌的一名软件工程师,在斯坦福获得博士学位,师从著名的人工智能领袖吴恩达。

他在越南农村长大,会英语、普通话、吴语和广东话。小时候家里连电都没有。但他住的地方附近有一个图书馆。Le在图书馆里,如饥似渴的阅读那些伟大发明,小小年纪便梦想有朝一日自己的名字,也能铭刻在人类伟大发明家名人堂上。

14岁的时候,他就幻想一个足够聪明的机器能够帮助人类。这个幻想让他走上了人工智能的道路。

论文链接:

https://arxiv.org/abs/1905.11946

Github:

https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet

欢迎关注磐创博客资源汇总站:

http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:

http://pytorch.panchuang.net/

谷歌出品EfficientNet:比现有卷积网络小84倍,比GPipe快6.1倍的更多相关文章

  1. EdgeFormer: 向视觉 Transformer 学习,构建一个比 MobileViT 更好更快的卷积网络

    ​  前言 本文主要探究了轻量模型的设计.通过使用 Vision Transformer 的优势来改进卷积网络,从而获得更好的性能. 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟 ...

  2. 语义分割--全卷积网络FCN详解

    语义分割--全卷积网络FCN详解   1.FCN概述 CNN做图像分类甚至做目标检测的效果已经被证明并广泛应用,图像语义分割本质上也可以认为是稠密的目标识别(需要预测每个像素点的类别). 传统的基于C ...

  3. 机器学习-计算机视觉和卷积网络CNN

    概述 对于计算机视觉的应用现在是非常广泛的,但是它背后的原理其实非常简单,就是将每一个像素的值pixel输入到一个DNN中,然后让这个神经网络去学习这个模型,最后去应用这个模型就可以了.听起来是不是很 ...

  4. 最全面的图卷积网络GCN的理解和详细推导,都在这里了!

    目录 目录 1. 为什么会出现图卷积神经网络? 2. 图卷积网络的两种理解方式 2.1 vertex domain(spatial domain):顶点域(空间域) 2.2 spectral doma ...

  5. CVPR2020论文解读:手绘草图卷积网络语义分割

    CVPR2020论文解读:手绘草图卷积网络语义分割 Sketch GCN: Semantic Sketch Segmentation with Graph Convolutional Networks ...

  6. CVPR2020:点云分析中三维图形卷积网络中可变形核的学习

    CVPR2020:点云分析中三维图形卷积网络中可变形核的学习 Convolution in the Cloud: Learning Deformable Kernels in 3D Graph Con ...

  7. 基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法

    基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法 Siamese CNN Temporally Constrained Metrics T ...

  8. PRML读书会第五章 Neural Networks(神经网络、BP误差后向传播链式求导法则、正则化、卷积网络)

    主讲人 网神 (新浪微博:@豆角茄子麻酱凉面) 网神(66707180) 18:55:06 那我们开始了啊,前面第3,4章讲了回归和分类问题,他们应用的主要限制是维度灾难问题.今天的第5章神经网络的内 ...

  9. 学习笔记TF028:实现简单卷积网络

    载入MNIST数据集.创建默认Interactive Session. 初始化函数,权重制造随机噪声打破完全对称.截断正态分布噪声,标准差设0.1.ReLU,偏置加小正值(0.1),避免死亡节点(de ...

随机推荐

  1. AI:是猫还是狗,这是个问题

    如果你不喜欢小猫和小狗,你可能不知道他们具体是哪一种品种,但是一般来说,你都能区分出这是猫还是狗,猫和狗的特征还是不一样的,那我们如何用机器学习的方法训练一个网络区分猫狗呢? 我们选用的是 Kaggl ...

  2. C++走向远洋——29(长方柱类)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:长方柱类.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  3. 达拉草201771010105《面向对象程序设计(java)》第七周学习总结

    达拉草201771010105<面向对象程序设计(java)>第七周学习总结 实验七继承附加实验 实验时间 2018-10-11 1.实验目的与要求 (1)进一步理解4个成员访问权限修饰符 ...

  4. 压力测试(七)-html可视化压测报告细讲

    1.阿里云Linux服务器 Jmeter压测实战之jtl文件生成和查看 简介: 利用软件从阿里云Centos服务器下载压测报告,讲解Jtl文件,并怎么查看文件 可以通过打开jmeter,新建线程组-& ...

  5. Angular 1 深度解析:脏数据检查与 angular 性能优化

    TL;DR 脏检查是一种模型到视图的数据映射机制,由 $apply 或 $digest 触发. 脏检查的范围是整个页面,不受区域或组件划分影响 使用尽量简单的绑定表达式提升脏检查执行速度 尽量减少页面 ...

  6. MapReduce 简单数据统计

    1. 准备数据源 摘录了一片散文,保存格式为utf-8 2. 准备环境 2.1 搭建伪分布式环境 https://www.cnblogs.com/cjq10029/p/12336446.html 上传 ...

  7. 软件WEB自动化测试工具之智能元素定位

    江湖一直有着这么一句名言“天下武功,唯快不破".那么在软件测试领域,自然而然我们会想到软件自动化测试.软件自动化测试的实现自然离不开软件自动化测试工具.软件自动化测试工具是软件自动化的载体, ...

  8. Head First设计模式——蝇量和解释器模式

    蝇量 蝇量模式:如果让某个类的一个实例能用来提供许多“虚拟实例”,就使用蝇量模式. 在一个设计房子的平台中,周围要加上一些树,树有一个坐标XY坐标位置,而且可以根据树的年龄动态将自己绘制出来.如果我们 ...

  9. 大龄IT人的新的一年

    一转眼,工作十几年了,之前由于有时要出差,孩子偶尔放回老家,有时到处找人看孩子,虽然不出差时都是有我来带,孩子还是和我很亲,但是一直没时间关注她的学习,只是睡前读读绘本,报了个英语培训班,偶尔玩玩识字 ...

  10. Ajax的封装,以及利用jquery的ajax获取天气预报

    1.Ajax的封装 function ajax(type,url,param,sync,datetype,callback){//第一个参数是获取数据的类型,第二个参数是传入open的url,第三个是 ...