谷歌提出新型卷积网络EfficientNet:推理速度提升5.1倍,参数减少88%(附论文&代码)

简介: 谷歌提出了一种新型CNN网络EfficientNet,该网络具备极高的参数效率和速度。

来源:机器之心

文章来源:微信公众号 数据派THU

本文共1500字,建议阅读8分钟。


谷歌提出了一种新型CNN网络EfficientNet,该网络具备极高的参数效率和速度。

[ 导读 ]谷歌提出了一项新型模型缩放方法:利用复合系数统一缩放模型的所有维度,该方法极大地提升了模型的准确率和效率。谷歌研究人员基于该模型缩放方法,提出了一种新型 CNN 网络 EfficientNet,该网络具备极高的参数效率和速度。目前,该模型的代码已开源。

image.png

卷积神经网络(CNN)通常以固定成本开发,然后再按比例放大,从而在获得更多资源时可以达到更高的准确率。例如,ResNet 可以通过增加网络层数,从 ResNet-18 扩展到 ResNet-200。近期 GPipe 将基线 CNN 扩展了 4 倍,从而在 ImageNet 数据集上达到了 84.3% 的 top-1 准确率。模型缩放的通常做法是任意增加 CNN 的深度或宽度,或者使用更大的输入图像分辨率进行训练和评估。尽管这些方法确实可以改进准确率,但它们通常需要大量手动调参,且通常获得的是次优性能。那么,我们是否可以寻找更好的 CNN 扩展方法,来获得更高的准确率和效率呢?

谷歌研究人员在一篇 ICML 2019 论文《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》中,提出了一种新型模型缩放方法,该方法使用一种简单但高效的复合系数(compound coefficient)以更加结构化的方式扩展 CNN。与任意扩展网络维度(如宽度、深度、分辨率)的传统方法不同,该新方法使用固定的一组缩放系数扩展每个维度。受益于该方法和 AutoML 的最新进展,谷歌开发出了一系列模型——EfficientNets,该模型的准确率超越了当前最优模型,且效率是后者的 10 倍(模型更小,速度更快)。

论文链接:

https://arxiv.org/pdf/1905.11946.pdf

复合模型缩放:扩展 CNN 的更好方法

为了理解网络缩放的效果,谷歌研究人员系统地研究了缩放模型不同维度的影响。虽然缩放单个维度可以改善模型性能,但研究人员发现平衡网络的所有维度(宽度、深度和图像分辨率)和可用资源才能最优地提升整体性能。

该复合缩放方法的第一步就是执行网格搜索,寻找固定资源限制下基线模型不同缩放维度之间的关系。这决定了每个维度的恰当缩放系数。第二步是应用这些系数,将基线网络扩展到目标模型大小或目标计算成本。

image.png

不同缩放方法对比。传统缩放方法 (b)-(d) 任意缩放模型的单个维度,而谷歌提出的新型复合缩放方法则不同,它扩展模型的所有维度

相比于传统的模型缩放方法,该复合缩放方法可持续改善模型的准确率和效率,如 MobileNet 的 ImageNet 准确率提升了 1.4%,ResNet 的准确率提升了 0.7%。

EfficientNet 架构

模型缩放的效果严重依赖基线模型。因此,为了进一步提升性能,谷歌研究人员使用 AutoML MNAS 框架执行神经架构搜索,从而开发出一种新型基线模型,该模型可以优化准确率和效率。

该基线模型使用 mobile inverted bottleneck convolution(MBConv),类似于 MobileNetV2 和 MnasNet,但是由于 FLOP 预算增加,该模型较大。于是,研究人员继续缩放该基线模型,得到一组模型——EfficientNets。

image.png

基线模型 EfficientNet-B0 的架构简单、干净,这使得它易于扩展和泛化

EfficientNet 性能

研究人员在 ImageNet 数据集上对比了 EfficientNets 和已有 CNN 模型。EfficientNet 模型要比已有 CNN 模型准确率更高、效率更高,其参数量和 FLOPS 都下降了一个数量级。例如,在高准确率的模式中,EfficientNet-B7 在 ImageNet 上获得了当前最优的 84.4% top-1 / 97.1% top-5 准确率,CPU 推断速度是 Gpipe 的 6.1 倍,而后者的大小是 EfficientNet-B7 的 8.4 倍。与现在广泛使用的 ResNet-50 相比,EfficientNet-B4 使用类似的 FLOPS 取得的 top-1 准确率比 ResNet-50 高出 6.3%(ResNet-50 76.3%,EfficientNet-B4 82.6%)。

image.png

模型大小 vs. 准确率

EfficientNet-B0 是通过 AutoML MNAS 开发出的基线模型,Efficient-B1 到 B7 是扩展基线模型后得到的网络。EfficientNet 显著优于其他 CNN。具体来说,EfficientNet-B7 取得了新的 SOTA 结果:84.4% top-1 / 97.1% top-5 准确率,且其大小远远小于之前的最优 CNN 模型 GPipe(后者的模型大小是 EfficientNet-B7 的 8.4 倍),速度是 GPipe 的 6.1 倍。

EfficientNet-B1 的参数量远远小于 ResNet-152,但速度是后者的 5.7 倍。

image.png

EfficientNet 在 ImageNet 上的性能

image.png

推断延迟对比

尽管 EfficientNets 在 ImageNet 上性能优异,但要想更加有用,它们应当具备迁移到其他数据集的能力。谷歌研究人员在 8 个常用迁移学习数据集上评估了 EfficientNets,结果表明 EfficientNets 在其中的 5 个数据集上达到了当前最优的准确率,且参数量大大减少,这表明 EfficientNets 具备良好的迁移能力。

EfficientNets 能够显著提升模型效率,谷歌研究人员希望 EfficientNets 能够作为未来计算机视觉任务的新基础。因此,研究人员开源了 EfficientNet 模型。

EfficientNet 源代码和 TPU 训练脚本参见:

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

参考链接:

https://ai.googleblog.com/2019/05/efficientnet-improving-accuracy-and.html

编辑:黄继彦

校对:林亦霖

目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
70 3
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
|
5天前
|
机器学习/深度学习 算法 PyTorch
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
本文探讨了图神经网络(GNN)与大型语言模型(LLM)结合在知识图谱问答中的应用。研究首先基于G-Retriever构建了探索性模型,然后深入分析了GNN-RAG架构,通过敏感性研究和架构改进,显著提升了模型的推理能力和答案质量。实验结果表明,改进后的模型在多个评估指标上取得了显著提升,特别是在精确率和召回率方面。最后,文章提出了反思机制和教师网络的概念,进一步增强了模型的推理能力。
22 4
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
|
8天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数
|
2月前
|
机器学习/深度学习 Web App开发 人工智能
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》这篇论文提出了一种基于YOLOv3-Tiny的轻量级目标检测模型Micro-YOLO,通过渐进式通道剪枝和轻量级卷积层,显著减少了参数数量和计算成本,同时保持了较高的检测性能。
43 2
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
|
2月前
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
75 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
2月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
97 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
2月前
|
编解码 人工智能 文件存储
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
YOLOv7是一种新的实时目标检测器,通过引入可训练的免费技术包和优化的网络架构,显著提高了检测精度,同时减少了参数和计算量。该研究还提出了新的模型重参数化和标签分配策略,有效提升了模型性能。实验结果显示,YOLOv7在速度和准确性上超越了其他目标检测器。
54 0
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
|
3月前
|
安全 C#
某网络硬盘网站被植入传播Trojan.DL.Inject.xz等的代码
某网络硬盘网站被植入传播Trojan.DL.Inject.xz等的代码
完成切换网络+修改网络连接图标提示的代码框架
完成切换网络+修改网络连接图标提示的代码框架
下一篇
DataWorks