趋近智
ResNet和DenseNet等架构已经通过增加网络深度和改进梯度流获得了显著的性能提升。然而,仅仅加深或加宽网络并不总能带来最佳性能或效率。卷积神经网络(CNN)发展中的一个主要问题是:是否存在一种更有章可循的方法来扩展CNN,以获得更好的准确性和效率?EfficientNet通过一种称为复合缩放的策略给出了一个令人信服的答案。
传统上,CNN通过以下三个维度之一进行缩放:
仅缩放其中一个维度通常会导致收益递减。例如,在不增加宽度或输入分辨率的情况下,使网络过深可能难以捕获足够的空间细节。同样,加宽一个较浅的网络可能无法发挥复杂特征层级的潜力。EfficientNet的作者们发现,这些维度是相互依存的,应平衡以获得最佳结果。
EfficientNet的核心思想是复合缩放。EfficientNet建议不要任意缩放一个维度,而是使用一组固定的缩放系数同时缩放网络深度(d)、宽度(w)和图像分辨率(r)。
缩放由一个单一的复合系数,ϕ控制。给定一个基准网络(EfficientNet-B0),扩展过程涉及增加ϕ。深度、宽度和分辨率根据以下规则进行缩放:
需满足以下约束条件:
α⋅β2⋅γ2≈2其中,α、β和γ是通过对基准模型进行网格搜索确定的常数。它们表示每个维度的缩放程度。约束条件α⋅β2⋅γ2≈2确保每当ϕ增加时,所需的总浮点运算次数(FLOPS)大约增加2ϕ。
直观地说,如果输入图像分辨率(r)增加,网络需要更多层(深度d)来增大感受野,并需要更多通道(宽度w)来捕获更大输入图像中更精细的模式。复合缩放提供了一种系统性的方法来平衡这些因素。
复合缩放的有效性依赖于一个强大且高效的基准架构。EfficientNet使用通过神经架构搜索(NAS)找到的基准网络(EfficientNet-B0)。这次搜索对准确性和FLOPS都进行了优化。
EfficientNet-B0的核心构建块是移动倒置瓶颈卷积(MBConv),它与MobileNetV2中使用的相似,但可能通过Squeeze-and-Excitation(SE)优化进行了增强。一个MBConv块通常包含:
通过从EfficientNet-B0开始,并应用复合缩放规则,增加复合系数ϕ的值(通常是从1开始的整数值),可以生成一系列模型(EfficientNet-B1、B2、...、B7等)。随后的每个模型使用的FLOPS大约是前一个的两倍,但目标是更高的准确性,同时保持较高的参数效率。
比较图表展示了EfficientNet模型(蓝色)在给定计算量下,通常比传统缩放的模型(灰色)获得更高的准确性。
EfficientNet在发布时,在ImageNet和几个其他迁移学习基准测试中展现了最先进的性能,通常以显著更少的参数和更低的计算成本(FLOPS)获得与大得多的模型相当的准确性。
一些考虑事项包括:
EfficientNet在设计高效且可扩展的CNN架构方面代表着一个重要的进展。通过复合缩放仔细平衡深度、宽度和分辨率,它提供了一个强大的框架,用于开发在计算机视觉中提升准确性和效率边界的模型。预训练版本在TensorFlow(通过tf.keras.applications.EfficientNetB0到B7)和PyTorch(通常通过timm等第三方库)等框架中广泛可用,使其易于用于实际任务。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造