最新【图像分类】 EfficientNetV2:更快、更小、更强,面试需要了解到的东西

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

3.2.了解训练效率

3.3.训练感知 NAS 和扩展

4. 渐进式学习

4.1.动机

4.2. 具有自适应正则化的渐进式学习

5. 主要结果

5.1. ImageNet ILSVRC2012

5.2. ImageNet21k

5.3. 迁移学习数据集

6. 消融研究

6.1. 与 EfficientNet 的比较

6.2. 不同网络的渐进式学习

6.3.自适应正则化的重要性

7. 结论


摘要

==

本文介绍了 EfficientNetV2,这是一个新的卷积网络家族,与之前的模型相比,它具有更快的训练速度和更好的参数效率。 为了开发这一系列模型,我们结合使用训练感知神经架构搜索和缩放,共同优化训练速度和参数效率。 这些模型采用新的方式(例如 Fused-MBConv)获得更加丰富的搜索空间。我们的实验表明,EfficientNetV2 模型的训练速度比最先进的模型快得多,同时最多可缩小 6.8 倍。

在训练过程中,我们可以通过逐步提升图像大小得到加速,但通常会造成性能掉点。为补偿该性能损失,我们提出了一种改进版的渐进学习方式,它自适应的根据图像大小调整正则化因子,比如dropout、数据增广。

通过渐进式学习,我们的 EfficientNetV2 在 ImageNet 和 CIFAR/Cars/Flowers 数据集上显着优于以前的模型。 通过在相同的 ImageNet21k 上进行预训练,我们的 EfficientNetV2 在 ImageNet ILSVRC2012 上达到了 87.3% 的 top-1 准确率,比最近的 ViT 准确率高 2.0%,同时使用相同的计算资源训练速度提高了 5 到 11 倍。

代码: https://github.com/google/automl/tree/master/efficientnetv2

一、简介

====

随着模型和训练数据的规模越来越大,训练效率对深度学习很重要。 例如,GPT-3 (Brown et al., 2020) 具有前所未有的模型和训练数据规模,展示了在小样本学习方面的卓越能力,但它需要使用数千个 GPU 进行数周的训练,因此很难重新训练或 提升。

最近,训练效率引起了人们的极大兴趣。 例如,NFNets (Brock et al., 2021) 旨在通过去除昂贵的批量归一化来提高训练效率; ResNet-RS(Bello et al。,2021)通过优化缩放超参数来提高训练效率; Lambda Networks(Bello,2021)和BotNet(Srinivas et al。,2021)通过在ConvNets中使用注意力层来提高训练速度。 Vision Transformers (Dosovitskiy et al., 2021) 通过使用 Transformer 块提高了大规模数据集的训练效率。 然而,这些方法通常会在参数大小方面带来昂贵的开销,如图 1(b) 所示。

图 1. ImageNet ILSVRC2012 top-1 准确率 vs. 训练时间和参数——标记为 21k 的模型在 ImageNet21k 上预训练,其他模型直接在 ImageNet ILSVRC2012 上训练。 训练时间是用 32 个 TPU 内核测量的。 所有 EfficientNetV2 模型都经过渐进式学习训练。 我们的 EfficientNetV2 训练速度比其他人快 5 到 11 倍,同时使用的参数最多减少 6.8 倍。 详细信息在表7和图5中。

在本文中,我们结合使用训练感知神经架构搜索 (NAS) 和缩放来提高训练速度和参数效率。 鉴于EfficientNets的参数效率(Tan&Le,2019a),我们首先系统地研究EfficientNets中的训练瓶颈。 我们的研究显示,在EfficientNets中: (1) 用非常大的图像尺寸训练很慢; (2) 在网络浅层中使用Depthwise convolutions速度会很慢。 (3) 每个阶段都按比例放大是次优的。 基于这些观察,我们设计了一个富含附加操作(例如 Fused-MBConv)的搜索空间,并应用训练感知 NAS 和缩放来联合优化模型精度、训练速度和参数大小。 我们发现的名为 EfficientNetV2 的网络的训练速度比之前的模型快 4 倍(图 3),同时参数大小最多小 6.8 倍。

我们的训练可以通过在训练期间逐渐增加图像大小来进一步加快。之前的许多作品,例如渐进式调整大小(Howard,2018),FixRes(Touvron等,2019)和Mix&Match(Hoffer等,2019),在训练中都使用了较小的图像尺寸;然而,它们通常对所有图像尺寸保持相同的正则化,从而导致精度下降。我们认为对于不同的图像大小保持相同的正则化并不理想:对于同一网络,较小的图像大小会导致较小的网络容量,因此需要较弱的正则化;反之亦然,大图像尺寸需要更强的正则化以对抗过拟合(参见第 4.1 节)。基于这一见解,我们提出了一种改进的渐进学习方法:在早期的训练时期,我们用小图像尺寸和弱正则化(例如,辍学和数据增强)训练网络,然后我们逐渐增加图像尺寸并添加更强的正则化.基于渐进式调整大小 (Howard, 2018),但通过动态调整正则化,我们的方法可以加快训练速度,而不会导致准确率下降。

通过改进的渐进式学习,我们的 EfficientNetV2 在 ImageNet、CIFAR-10、CIFAR-100、Cars 和 Flowers 数据集上取得了不错的成绩。在 ImageNet 上,我们实现了 85.7% 的 top-1 准确率,同时训练速度提高了 3 到 9 倍,并且比以前的模型小了 6.8 倍(图 1)。我们的 EfficientNetV2 和渐进式学习还可以更轻松地在更大的数据集上训练模型。例如,ImageNet21k (Russakovsky et al., 2015) 比 ImageNet ILSVRC2012 大 10 倍左右,但我们的 EfficientNetV2 可以使用 32 个 TPUv3 核心的中等计算资源在两天内完成训练。通过在公共 ImageNet21k 2 上进行预训练,我们的 EfficientNetV2 在 ImageNet ILSVRC2012 上达到了 87.3% 的 top-1 准确率,比最近的 ViT-L/16 的准确率高 2.0%,同时训练速度提高了 5 到 11 倍(图 1)。

我们的贡献有三方面:

• 我们引入了 EfficientNetV2,这是一个新的更小、更快的模型系列。 通过我们的训练感知NAS 和扩展发现,EfficientNetV2 在训练速度和参数效率方面都优于以前的模型。

• 我们提出了一种改进的渐进式学习方法,它可以根据图像大小自适应地调整正则化。 我们表明它可以加快训练速度,同时提高准确性。

• 我们在 ImageNet、CIFAR、Cars 和 Flowers 数据集上展示了比现有技术快 11 倍的训练速度和 6.8 倍的参数效率。

神经架构搜索 (NAS):通过自动化网络设计过程,NAS 已被用于优化图像分类(Zoph 等人,2018 年)、对象检测(Chen 等人,2019 年;Tan 等人, 2020),分割(Liu等人,2019),超参数(Donget等人,2020)和其他应用程序(Elsken等人,2019)。以前的 NAS 工作主要集中在提高 FLOPs 效率(Tan & Le, 2019b;a)或推理效率(Tan et al., 2019; Cai et al., 2019; Wu et al., 2019; Li et al., 2021) .与之前的工作不同,本文使用 NAS 来优化训练和参数效率。

3. EfficientNetV2 架构设计

=======================

在本节中,我们研究了 EfficientNet (Tan & Le, 2019a) 的训练瓶颈,并介绍了我们的训练感知 NAS 和扩展,以及 EfficientNetV2 模型。

3.1. 回顾 EfficientNet


EfficientNet (Tan & Le, 2019a) 是一系列针对 FLOP 和参数效率进行了优化的模型。它利用NAS搜索基线EfficientNet-B0,该基线在精度和FLOP方面具有更好的权衡。然后使用复合缩放策略放大基线模型以获得模型 B1-B7 的家族。虽然最近的工作声称在训练或推理速度方面取得了巨大进步,但它们在参数和 FLOP 效率方面通常比 EfficientNet 差(表 1)。在本文中,我们的目标是在保持参数效率的同时提高训练速度。

3.2.了解训练效率


我们研究了 EfficientNet (Tan & Le, 2019a) 的训练瓶颈,以下也称为 EfficientNetV1,以及一些提高训练速度的简单技术。使用非常大的图像尺寸进行训练很慢:正如之前的作品 (Radosavovic et al., 2020) 所指出的那样,EfficientNet 的大图像尺寸会导致大量内存使用。由于 GPU/TPU 上的总内存是固定的,我们必须以较小的批大小训练这些模型,这大大减慢了训练速度。一个简单的改进是应用 FixRes(Touvron 等人,2019 年),通过使用比推理更小的图像尺寸进行训练。如表 2 所示,较小的图像尺寸导致较少的计算并支持大批量,从而将训练速度提高多达 2.2 倍。值得注意的是,正如 (Touvron et al., 2020; Brock et al., 2021) 中所指出的,使用较小的图像尺寸进行训练也会导致准确性稍好一些。但与 (Touvron et al., 2019) 不同的是,我们不会在训练后对任何层进行微调。在第 4 节中,我们将探索更高级的训练方法,通过在训练期间逐步调整图像大小和正则化

Depthwise convolutions在早期层中很慢:EfficientNet 的另一个训练瓶颈来自广泛的Depthwise convolutions(Sifre,2014)。 Depthwise 卷积比常规卷积具有更少的参数和 FLOP,但它们通常不能充分利用现代加速器。最近,Fused-MBConv 在 (Gupta & Tan, 2019) 中提出,后来在 (Gupta & Akin, 2020; Xiong et al., 2020; Li et al., 2021) 中使用,以更好地利用移动或服务器加速器。如图2所示,它用单个常规conv3x3替换了MBConv中的深度conv3x3和扩展conv1x1(Sandler等人,2018; Tan&Le,2019a),如图2所示。为了系统地比较这两个构件,我们逐步替换了原始的MBConv在 EfficientNetB4 中使用 Fused-MBConv(表 3)。在早期阶段 1-3 中应用时,Fused-MBConv 可以在参数和 FLOPs 的开销很小的情况下提高训练速度,但是如果我们用 Fused-MBConv(阶段 1-7)替换所有块,那么它会显着增加参数和 FLOPs,同时也减慢了训练。找到这两个构建块 MBConv 和 Fused-MBConv 的正确组合非常重要,这促使我们利用神经架构搜索来自动搜索最佳组合。

图 2. MBConv 和 Fused-MBConv 的结构

每个阶段均等地扩展是次优的:EfficientNet 使用简单的复合扩展规则同等地扩展所有阶段。例如,当深度系数为 2 时,网络中的所有阶段都会使层数增加一倍。然而,这些阶段对训练速度和参数效率的贡献并不相同。在本文中,我们将使用非均匀缩放策略来逐步添加 到后期阶段。此外,EfficientNets 积极扩大图像大小,导致大量内存消耗和缓慢训练。为了解决这个问题,我们稍微修改了缩放规则并将最大图像尺寸限制为较小的值。

3.3.训练感知 NAS 和扩展


为此,我们学习了多种设计选择以提高训练速度。为了搜索这些选择的最佳组合,我们现在提出一种具有培训意识的NAS。

NAS 搜索:我们的训练感知 NAS 框架主要基于之前的 NAS 工作(Tan 等人,2019 年;Tan & Le,2019a),但旨在共同优化现代加速器的准确性、参数效率和训练效率。具体来说,我们使用 EfficientNet 作为我们的主干。 我们的搜索空间是一个类似于 (Tan et al., 2019) 的基于阶段的分解空间,它由卷积运算类型 fMBConv、Fused-MBConvg、层数、内核大小 f3x3、5x5g、扩展率 f1 的设计选择组成, 4, 6g。另一方面,我们通过(1)删除不必要的搜索选项(例如池化跳过操作)来减小搜索空间大小,因为它们从未在原始 EfficientNet 中使用; (2) 从主干中重用相同的通道大小,因为它们已经在 (Tan & Le, 2019a) 中搜索过。由于 搜索空间更小,我们可以应用强化学习(Tan 等人,2019 年)或简单地在与 EfficientNetB4 大小相当的更大网络上进行随机搜索。具体来说,我们对多达 1000 个模型进行了采样,并对每个模型进行了大约 10 个 epoch 的训练,并减少了用于训练的图像大小。我们的搜索奖励结合了模型精度 A、归一化训练步骤时间 S 和参数大小 P,使用简单的加权乘积 A·Sw·Pv,其中 w = -0.07 和 v = -0.05 是根据经验确定的超参数平衡类似于(Tan et al., 2019)的权衡。

EfficientNetV2 架构:表 4 显示了我们搜索的模型 EfficientNetV2-S 的架构。 与 EfficientNet 主干相比,我们搜索的 EfficientNetV2 有几个主要区别:(1)第一个区别是 EfficientNetV2 广泛使用 MBConv(Sandler et al., 2018; Tan & Le, 2019a)和新添加的 fused-MBConv(Gupta & Tan, 2019) 在早期层。 (2) 其次,EfficientNetV2 更喜欢 MBConv 的较小扩展率,因为较小的扩展率往往具有较少的内存访问开销。 (3) 第三,EfficientNetV2 更喜欢较小的 3x3 内核大小,但它增加了更多层以补偿较小内核大小导致的感受野减少。 (4) 最后,EfficientNetV2 完全删除了原始 EfficientNet 中的最后一个 stride-1 阶段,可能是由于其较大的参数大小和内存访问开销。

EfficientNetV2 缩放:我们使用与 (Tan & Le, 2019a) 类似的复合缩放来扩展 EfficientNetV2-S 以获得 EfficientNetV2-M/L,并进行一些额外的优化:(1) 我们将最大推理图像大小限制为 480,因为非常 大图像通常会导致昂贵的内存和训练速度开销; (2) 作为启发式方法,我们还逐渐向后期阶段(例如表 4 中的阶段 5 和 6)添加更多层,以在不增加太多运行时开销的情况下增加网络容量。

图 3. ImageNet 在 TPUv3 上的准确率和训练步骤时间——步骤时间越短越好; 所有模型都使用固定图像大小进行训练,无需渐进式学习。

训练速度比较:图 3 比较了我们新的 EfficientNetV2 的训练步骤时间,其中所有模型都使用固定图像大小进行训练,没有进行渐进式学习。 对于 EfficientNet (Tan & Le, 2019a),我们展示了两条曲线:一条是用原始推理大小训练的,另一条是用小 30% 的图像大小训练的,与 EfficientNetV2 和 NFNet 相同 (Touvron et al., 2019; Brock等人,2021年)。 所有模型都训练了 350 个 epoch,除了 NFNets 训练了 360 个 epoch,所以所有模型的训练步骤数相似。 有趣的是,我们观察到当训练得当时,EfficientNets 仍然实现了相当强的性能权衡。 更重要的是,通过我们的训练感知 NAS 和扩展,我们提出的 EfficientNetV2 模型的训练速度比其他近期模型快得多。 这些结果也与我们的推理结果一致,如表 7 和图 5 所示。

4. 渐进式学习

=========

4.1.动机


如第3节所述,图像大小在训练效率中起着重要作用。除了 FixRes(Touvron 等人,2019 年),许多其他工作在训练期间动态改变图像大小(Howard,2018 年;Hoffer 等人,2019 年),但它们通常会导致准确率下降。 我们假设准确率下降来自不平衡的正则化:当用不同的图像尺寸训练时,我们也应该相应地调整正则化强度(而不是像以前的工作那样使用固定的正则化)。实际上,大型模型通常需要更强的正则化来对抗过度拟合:例如,与B0相比,EfficientNet-B7使用更大的丢失量和更强大的数据增强功能。在本文中,我们认为即使对于相同的网络,较小的图像尺寸导致较小的网络容量,因此需要较弱的正则化;反之亦然,更大的图像尺寸会导致更大容量的更多计算,因此更容易过拟合。为了验证我们的假设,我们训练了一个模型,从我们的搜索空间中采样,具有不同的图像大小和数据增强(表 5)。图像尺寸较小时,精度最好,增强较弱;但是对于更大的图像,它在更强的增强下表现更好。这种见解促使我们在训练期间自适应地调整正则化和图像大小,从而改进了渐进式学习方法。

4.2. 具有自适应正则化的渐进式学习


图 4 说明了我们改进的渐进式学习的训练过程:在早期训练时期,我们用较小的图像和弱正则化训练网络,以便网络可以轻松快速地学习简单的表示。 然后,我们逐渐增加图像大小,但也通过添加更强的正则化使学习变得更加困难。 我们的方法建立在 (Howard, 2018) 的基础上,它逐渐改变图像大小,但在这里我们也自适应地调整正则化。

图 4. 我们改进的渐进式学习中的训练过程——从小图像尺寸和弱正则化(epoch=1)开始,然后随着更大的图像尺寸和更强的正则化逐渐增加学习难度:更大的丢失率、RandAugment 幅度和混合 比率(例如,epoch=300)。

形式上,假设整个训练总共有 N 个步骤,目标图像大小为 S_{e}),具有正则化幅度 \Phi _{e}=\left { \phi _{e}^{k} \right })的列表,例如,其中 k 表示一种正则化类型,例如 dropout rate 或 mixup rate 值。 我们将训练分为 M 个阶段:对于每个阶段 1 ≤ i ≤ M,使用图像大小 Si 和正则化幅度 \Phi _{i}=\left { \phi _{i}^{k} \right }) 训练模型。 最后阶段 M 将使用目标图像大小S_{e}) 和正则化 \Phi _{e})。 为简单起见,我们启发式地选取初始图像大小 S_{0}) 和正则化 \Phi _{0}),然后使用线性插值来确定每个阶段的值。 算法 1 总结了该过程。 在每个阶段的开始,网络将继承前一阶段的所有权重。 与权重(例如位置嵌入)可能取决于输入长度的转换器不同,ConvNet 权重与图像大小无关,因此可以轻松继承。

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 29
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于EfficientNetV2图像分类是一种利用EfficientNetV2模型进行图像分类的方法。EfficientNetV2是EfficientNet模型的进一步改进和优化,能够高效地利用计算资源,提升图像分类的准确性和效率。 EfficientNetV2采用了一系列的优化策略,包括深的网络架构、改良的网络结构设计和好的训练策略。它在网络架构方面引入了多的层级和复杂的模块,可以好地捕捉图像中的特征。此外,EfficientNetV2还使用了一种名为EfficientNet EdgeTPU的高效训练策略,可以充分利用计算资源,在保持模型准确性的同时提高训练速度。 基于EfficientNetV2图像分类方法可以应用于各种领域,如医学影像诊断、自动驾驶、物体检测和人脸识别等。通过将图像输入EfficientNetV2模型,模型可以快速准确地将图像分为不同的类别,为各种应用提供了精确的预测结果。 与其他图像分类方法相比,基于EfficientNetV2的方法具有高的准确性和更快的速度。EfficientNetV2模型在大规模图像数据集上进行了充分的训练和优化,可以提供准确的图像分类结果。同时,EfficientNetV2的计算效率也得到了大幅提升,可以在较短的时间内完成对大量图像的分类任务。 总之,基于EfficientNetV2图像分类是一种高效准确的图像分类方法,通过综合应用了深度网络架构、改良设计和高效训练策略,可以在各种应用场景中获得精确的预测结果。它为图像分类领域的研究和实践提供了一个重要的工具和解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值