什么是 EfficientNet?简要概述。

阿比拉米-维纳

6 分钟阅读

2025 年 8 月 29 日

了解效能网络架构及其复合缩放魔法!探索 EfficientNet B0-B7 的顶级图像分类和分割效率。

2019 年,谷歌人工智能公司的研究人员推出了 EfficientNet,这是一种最先进的计算机视觉模型,用于识别图像中的物体和模式。它主要用于图像分类,即把图像归入几个预定义的类别之一。不过,如今,EfficientNet 也是对象检测、分割和迁移学习等更复杂任务的支柱。

在效能网之前,这类机器学习和视觉人工智能模型试图通过增加层数或增大层数来提高准确性。层是神经网络模型(一种受人脑启发的深度学习模型)中处理数据以学习模式和提高准确性的步骤。 

这些变化造成了一种权衡,使传统的人工智能模型变得更大、更慢,而与所需计算能力的大幅提升相比,额外的准确性往往微乎其微。

效能网采用了不同的方法。它以一种平衡的方式增加了深度(层数)、宽度(每层的单元数)和图像分辨率(输入图像的细节级别)。这种方法被称为复合缩放,能可靠地使用所有可用的处理能力。最终得到的模型更小、更快,性能优于ResNet或 DenseNet 等旧模型。

如今,Ultralytics YOLO11等更新的计算机视觉模型具有更高的精度、速度和效率。即便如此,EfficientNet 仍然是一个重要的里程碑,影响了许多先进架构的设计。 

在本文中,我们将在五分钟内详细介绍 EfficientNet,包括它的工作原理、独特之处,以及它在计算机视觉领域仍然重要的原因。让我们开始吧!

什么是 EfficientNet?

在效能网设计之前,大多数图像识别模型都是通过调整图层或增大输入图像的尺寸来捕捉更多细节,从而提高准确性。虽然这些策略提高了结果,但也使模型变得更重、要求更高。这意味着它们需要更多的内存和更好的硬件。 

效能网络使用一种称为复合缩放的方法来同时缩放深度、宽度和图像分辨率,而不是改变单个图层。这种方法可使模型高效增长,而不会使任何一个方面超负荷。

高效网络架构通过一系列模块处理图像,每个模块由较小的模块组成。每个区块中的模块数量取决于模型大小。 

图 1.EfficientNet 的构建模块。(资料来源)

较小的版本使用较少的模块,而较大的版本则更频繁地重复使用模块。这种灵活的设计使 EfficientNet 能够在从移动设备到大型系统的广泛应用中提供高精度和高效率。

复合缩放的工作原理

复合缩放法可以扩展模型的深度、宽度和图像分辨率,但保持它们之间的平衡。这样就能有效利用计算能力。该系列以较小的基线模型 EfficientNet-B0 开始,它是所有其他版本的基础。

从 B0 开始,这些模型逐渐升级为更大的变体,命名为 EfficientNet-B1 到 EfficientNet-B7。每扩展一步,网络都会增加层数,增加通道(用于处理的单元)数量,并处理更高分辨率的输入图像。每一步的增长量由一个称为复合系数的参数决定,该系数可确保深度、宽度和分辨率以固定比例增长,而不是独立增长。

图 2.复合缩放可增加模型的宽度、深度和图像分辨率。(资料来源)

高效网络架构

接下来,让我们来看看效能网络的架构。 

它以 MobileNetV2 为基础,MobileNetV2 是专为移动和嵌入式设备优化的轻量级计算机视觉模型。它的核心是移动反瓶颈卷积(MBConv)模块,这是一个特殊层,可以像标准卷积一样处理图像数据,但计算量较少。该模块使模型速度更快,内存效率更高。

每个 MBConv 模块内都有一个挤压激励(SE)模块。该模块可调整网络中不同通道的强度。它可以增强重要通道的强度,降低其他通道的强度。该模块有助于网络关注图像中最重要的特征,而忽略其他特征。高效网络模型还使用了 Swish 激活函数(一种帮助网络学习模式的数学函数),这有助于它比旧式方法更好地发现图像中的模式。 

除此之外,它还使用了 DropConnect,即在训练过程中随机关闭网络内部的一些连接。这种随机正则化方法(一种防止模型记忆训练数据而不是泛化的随机化技术)通过迫使网络学习更强大的特征表征(数据中更强大、更通用的模式)来减少过拟合,从而更好地迁移到未见过的数据中。

图 3.EfficientNet-B0 的架构(资料来源)

EfficientNet 型号变体概述

既然我们已经对 EfficientNet 模型的工作原理有了更好的了解,下面我们就来讨论一下不同的模型变体。 

效能网络模型从 B0 到 B7,以 B0 为基线,兼顾速度和精度。每个版本都增加了深度、宽度和图像分辨率,从而提高了准确性。不过,从 B1 和 B2 到高性能的 B6 和 B7,它们也需要更强的计算能力。 

效能网络-B3 和效能网络-B4 模型在处理较大图像时取得了平衡,而对于需要精确度的复杂数据集,通常会选择效能网络-B5。除了这些模型外,最新的模型 EfficientNet V2 可以提高训练速度,更好地处理小型数据集,并针对现代硬件进行了优化。

效能网络的应用

与许多其他型号相比,效能网在使用较少内存和处理能力的同时,还能产生精确的结果。这使得它在从科学研究到人们日常使用的产品等许多领域都非常有用。

医学影像分析

肺部 CT 扫描等医学图像通常包含对准确诊断至关重要的微妙细节。人工智能模型可以帮助分析这些图像,发现人类可能难以发现的模式。为此,EfficientNet 的一个改良版本是 MONAI(Medical Open Network for AI)EfficientNet,它是专为医学图像分析而设计的。

在 EfficientNet 架构的基础上,研究人员还开发了Lung-EffNet,这是一种对肺部 CT 扫描进行分类以检测肿瘤的模型。它能将肿瘤分为良性、恶性或正常,据报道,实验中的准确率超过 99%。

图 4.使用 Lung-EffNet 进行肿瘤图像分类。(资料来源)

实时物体检测

物体检测是在图像中发现物体并确定其位置的过程。它是安全系统、自动驾驶汽车和无人机等应用的关键部分。

EfficientNet 在这一领域非常重要,因为它提供了一种从图像中提取特征的非常有效的方法。其缩放深度、宽度和分辨率的方法展示了如何在不太重或太慢的情况下实现模型的准确性。这也是许多检测系统(如EfficientDet)使用效能网作为其骨干的原因。

较新的模型,如 Ultralytics YOLO11,也有同样的目标,即兼顾速度和准确性。这种向高效模型发展的趋势深受 EfficientNet 等架构思想的影响。

效能网络的优缺点

以下是在计算机视觉项目中使用 EfficientNet 的一些优势:

  • 以更少的参数实现更高的精度:与 ResNet 或 DenseNet 等老式模型相比,EfficientNet 可以提供类似或更高的准确度。不过,它使用的参数更少,因此训练速度更快,部署也更容易。
  • 可扩展的型号系列:
  • 适合迁移学习:效能网络可为迁移学习提供可靠的模型性能,迁移学习是针对自定义任务重新训练预训练模型的过程。它可以作为各种计算机视觉任务的骨干。在进行微调时,它也能显示出强大的性能。例如,在广泛使用的图像分类数据集 CIFAR-100 上,它达到了最先进的准确度,而参数却比以前的模型少得多。

虽然使用 EfficientNet 有很多好处,但也要记住 EfficientNet 的一些局限性:

  • 需要更多内存:
  • 针对 ImageNet 进行了缩放调整:缩放设置是针对ImageNet数据集设计的,因此如果不进行微调,在截然不同的数据集上性能可能会下降。这对于小型数据集来说尤其如此,因为效能Net 的架构和缩放是为 ImageNet 这样的大型多样化数据集设计的,ImageNet 提供的数据足以证明其深度和宽度是合理的。
  • 在某些硬件上运行速度较慢:效能网络使用称为 MBConv 的层,旨在提高现代硬件的效率。在较老的 GPU 或 CPU 上,这些层的运行速度可能会更慢。

主要收获

EfficientNet 通过保持深度、宽度和图像分辨率的平衡,改变了计算机视觉模型的增长方式。它仍然是一个重要的模型,并对更新的架构产生了影响。特别是,它在计算机视觉史上占有重要地位。

加入我们的社区GitHub 存储库,探索有关人工智能的更多信息。查看我们的解决方案页面,了解医疗保健领域的人工智能 汽车领域的计算机视觉。了解我们的许可选项,现在就开始使用计算机视觉进行构建!

让我们共同打造人工智能的未来

开始您的未来机器学习之旅

免费开始
链接复制到剪贴板