电子说
开发一个卷积神经网络(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 模型。
全部0条评论
快来发表一下你的评论吧 !