GhostNetV3:探索紧凑模型的训练策略

文章目录

  • 摘要
  • 1、引言
  • 2、相关工作
    • 2.1、紧凑模型
    • 2.2、训练CNN的技巧包
  • 3、预备知识
  • 4、训练策略
    • 4.1、重参数化
    • 4.2、知识蒸馏
    • 4.3、学习调度
    • 4.4、数据增强
  • 5、实验结果
    • 5.1、重参数化
    • 5.2、知识蒸馏
    • 5.3、学习策略
    • 5.4、数据增强
    • 5.5、与其他紧凑模型的比较
    • 5.6、扩展到目标检测
  • 6、结论

摘要

论文链接:https://arxiv.org/pdf/2404.11202.pdf
紧凑神经网络是专为边缘设备设计的,这些设备具有更快的推理速度但性能适中。然而,目前紧凑模型的训练策略是从传统模型中借鉴的,这忽略了它们在模型容量上的差异,因此可能阻碍紧凑模型的性能。在本文中,我们通过对不同训练成分进行系统调查,为紧凑模型引入了一种强大的训练策略。我们发现,适当的重参数化和知识蒸馏设计对于训练高性能紧凑模型至关重要,而一些常用于训练传统模型的数据增强方法,如Mixup和CutMix,反而会导致性能下降。我们在ImageNet-1K数据集上的实验表明,我们为紧凑模型量身定制的训练策略适用于各种架构,包括GhostNetV2、MobileNetV2和ShuffleNetV2。具体来说,配备我们的策略后,GhostNetV3-1.3×在移动设备上仅使用269M FLOPs和14.46ms的延迟就达到了79.1%的top-1准确率,远超其常规训练的对应模型。此外,我们的观察也可以扩展到目标检测场景中。PyTorch代码和检查点可以在https://github.com/huawei-noah/Efficient-AI-Backbones上找到。

1、引言

为了满足边缘设备(如手机)有限的内存和计算资源,各种高效的架构已经被开发出来[10,15,16,19,21,26,28]。例如,MobileNetV1 [16] 使用深度可分离卷积来减少计算成本。MobileNetV2 [21] 引入了残差连接,而MobileNetV3 [15] 则通过神经结构搜索(NAS)进一步优化了架构配置,从而显著提高了模型的性能。另一个典型的架构是GhostNet [10],它利用特征中的冗余性,并使用廉价的操作来复制特征的通道。最近,GhostNetV2 [26] 进一步集成了一个硬件友好的注意力模块来捕捉长距离像素之间的依赖性,从而在性能上显著优于GhostNet。

除了精心设计的模型架构外,适当的训练策略对于实现卓越的性能也至关重要。例如,Wightman等人[29]通过整合先进的优化和数据增强方法,将ResNet-50 [11]在ImageNet-1K [5]数据集上的top-1准确率从76.1%提高到80.4%。然而,尽管在探索更先进的传统模型(如ResNet和Vision Transformer)训练策略方面已经付出了相当大的努力,但对于紧凑模型的关注却很少。由于不同容量的模型可能有不同的学习偏好[24],因此直接将为传统模型设计的策略应用于训练紧凑模型是不合适的。

为了弥补这一差距,我们系统地研究了针对紧凑模型的几种训练策略。具体来说,我们的主要关注点是先前工作中讨论的关键训练设置[12,27],包括重参数化、知识蒸馏(KD)、学习计划和数据增强。

重参数化。由于深度卷积和 1 × 1 1 \times 1 1×1卷积具有可忽略的内存和计算消耗,因此它们是紧凑模型架构中的常见组件。受训练传统模型成功经验的启发[6,7],我们为这两个紧凑模块采用重参数化方法以实现更好的性能。在训练紧凑模型时,我们在深度卷积和 1 × 1 1 \times 1 1×1卷积中引入线性并行分支。这些额外的并行分支在训练后可以进行重参数化,从而在推理时不会带来额外的成本。为了权衡整体训练成本与性能提升,我们比较了添加不同数量分支的影响。此外,我们发现一个 1 × 1 1 \times 1 1×1深度卷积分支对 3 × 3 3 \times 3 3×3深度卷积的重参数化具有显著的正向影响。

知识蒸馏。由于紧凑模型的模型容量有限,因此很难达到与传统模型相当的性能。因此,知识蒸馏(KD)[14]是一种适当的方法,它利用更大的模型作为教师来指导紧凑模型的学习,从而提高性能。我们经验性地研究了使用KD训练紧凑模型时几个典型因素的影响,例如教师模型的选择和超参数的设置。结果表明,一个合适的教师模型可以显著提高紧凑模型的性能。

学习计划和数据增强。我们比较了紧凑模型的几种训练设置,包括学习率、权重衰减、指数移动平均(EMA)和数据增强。有趣的是,并非所有为传统模型设计的技巧都适用于紧凑模型。例如,一些广泛使用的数据增强方法,如Mixup和CutMix,实际上降低了紧凑模型的性能。我们在第5节中详细讨论了它们的影响。

基于我们的研究,我们为紧凑模型开发了一种专门的训练方案。在ImageNet-1K数据集上的实验验证了我们提出的方案的优越性。具体来说,使用我们方案训练的GhostNetV2模型在top-1准确率和延迟方面都显著优于使用先前策略训练的模型(图1)。在其他高效架构(如MobileNetV2和ShuffleNetV2)上的实验进一步证实了所提出方案的通用性。
在这里插入图片描述

本文的其余部分组织如下。第2节回顾了相关工作。第3节介绍了GhostNetV2的架构。第4节详细讨论了训练策略。第5节展示了丰富的实验结果。第6节总结了论文。

2、相关工作

2.1、紧凑模型

设计同时具有低推理延迟和高性能的紧凑模型架构是一个挑战。SqueezeNet [17] 提出了三种设计紧凑模型的策略,即用 1 × 1 1 \times 1 1×1滤波器替换 3 × 3 3 \times 3 3×3滤波器、减少输入到 3 × 3 3 \times 3 3×3滤波器的通道数,以及在网络后期进行下采样以保持较大的特征图。这些原则很有建设性,尤其是 1 × 1 1 \times 1 1×1卷积的使用。MobileNetV1 [16] 用 1 × 1 1 \times 1 1×1内核和深度可分离卷积替换了几乎所有的滤波器,这大大降低了计算成本。MobileNetV2 [21] 进一步在紧凑模型中引入了残差连接,并构建了一个倒置残差结构,其中块的中间层比其输入和输出具有更多的通道。为了保持表示能力,移除了一部分非线性函数。MobileNeXt [36] 重新考虑了倒置瓶颈的必要性,并声称经典瓶颈结构也可以实现高性能。考虑到 1 × 1 1 \times 1 1×1卷积占据了计算成本的大部分,ShuffleNet [34] 用组卷积替换它。通道混洗操作有助于不同组之间的信息流动。通过调查影响实际运行速度的因素,ShuffleNetV2 [18] 提出了一种新的硬件友好型块。

自ViT [8](DeiT)在计算机视觉任务上取得巨大成功以来,研究人员一直努力为移动设备设计紧凑的Transformer架构。MobileFormer [2] 提出了一种紧凑的交叉注意力机制,以模拟MobileNet和Transformer之间的双向桥梁。MobileViT [19] 借鉴了紧凑CNN中的成功经验,并将卷积中的局部处理替换为使用Transformer的全局处理。然而,基于Transformer的紧凑模型由于复杂的注意力操作而在移动设备上具有高推理延迟。

2.2、训练CNN的技巧包

有一些工作专注于改进训练策略,以提高各种模型的性能。He等人 [12] 讨论了一些有助于在硬件上进行高效训练的技巧,并提出了ResNet的新型模型架构调整。Wrightman等人 [29] 重新评估了使用新型优化和数据增强方法训练的原始ResNet-50的性能。他们在timm开源库中分享了具有竞争力的训练设置和预训练模型。使用他们的训练方案,原始ResNet-50模型达到了80.4%的top-1准确率。Chen等人 [1] 研究了训练自监督ViT时几个基本组件的影响。然而,所有这些尝试都是针对大型模型或自监督模型设计的。由于它们的模型容量不同 [24],直接将其转移到紧凑模型上是不合适的。

3、预备知识

GhostNets(包括GhostNetV1和GhostNetV2)是针对移动设备高效推理设计的先进紧凑模型。其关键组件是Ghost模块,该模块通过利用廉价操作生成更多的特征图来替代原始卷积。

在普通卷积操作中,输出特征 Y Y Y是通过 Y = X ∗ W Y = X * W Y=XW获得的,其中 W ∈ R c out × c in × k × k W \in \mathbb{R}^{c_{\text{out}} \times c_{\text{in}} \times k \times k} WRcout×cin×k×k是卷积核, X X X是输入特征。 c in c_{\text{in}} cin c out c_{\text{out}} cout分别表示输入和输出通道维度。 k k k是卷积核大小, ∗ * 表示卷积操作。

Ghost模块通过两个步骤减少了普通卷积的参数数量和计算成本。它首先生成内在特征 Y ′ Y' Y,其通道维度小于原始特征 Y Y Y。然后,在内在特征 Y ′ Y' Y上应用廉价操作(例如深度可分离卷积)来生成ghost特征 Y ′ ′ Y'' Y′′。最后,通过将内在特征和ghost特征沿通道维度拼接起来,得到最终输出,这可以表示为:

Y ′ = X ∗ W p , Y = Concat ( Y ′ , X ∗ W c ) , \begin{array}{l} Y' = X * W_p, \\ Y = \text{Concat}(Y', X * W_c), \end{array} Y=XWp,Y=Concat(Y,XWc),

其中 W p W_p Wp W c W_c Wc分别表示主卷积和廉价操作中的参数。“Concat”表示拼接操作。整个GhostNet模型是由多个Ghost模块堆叠而成的。

GhostNetV2通过设计一个高效的注意力模块,即DFC注意力模块,增强了紧凑模型的能力。考虑到诸如GhostNet之类的紧凑模型通常使用小卷积核,如 1 × 1 1 \times 1 1×1 3 × 3 3 \times 3 3×3,它们从输入特征中提取全局信息的能力较弱。GhostNetV2采用一个简单的全连接层来捕获长距离的空间信息并生成注意力图。为了计算效率,它将全局信息解耦为水平和垂直方向,并分别沿着这两个方向聚合像素。如图2a所示,通过为Ghost模块配备DFC注意力模块,GhostNetV2可以有效地提取全局和局部信息,同时在准确性和计算复杂度之间实现更好的权衡。

4、训练策略

我们的目标是在不改变推理网络架构的前提下探索训练策略,以保持紧凑模型的小型化和快速性。我们经验性地研究了训练神经网络的关键因素,包括学习调度、数据增强、重参数化和知识蒸馏。

4.1、重参数化

重参数化已经在传统的卷积模型中证明了其有效性[6,7]。受其成功的启发,我们通过添加配备有BatchNorm层的重复分支,将重参数化引入紧凑模型中。我们设计的重参数化GhostNetV2如图2b所示。值得注意的是,我们在重参数化的 3 × 3 3 \times 3 3×3深度可分离卷积中引入了一个 1 × 1 1 \times 1 1×1深度可分离卷积分支。实验结果证实了它对紧凑模型性能的积极影响。此外,实验还全面探索了最佳重复分支数。
在这里插入图片描述

在推理时,可以通过逆重参数化过程去除重复分支。由于卷积和BatchNorm操作在推理时都是线性的,它们可以折叠成一个单独的卷积层。之后,所有分支中的折叠权重和偏置可以分别重参数化为 W rep = ∑ i W ^ i \mathbf{W}_{\text{rep}}=\sum_{i} \widehat{\mathbf{W}}_{i} Wrep=iW i和偏置 b rep = ∑ i b ^ i \mathbf{b}_{\text{rep}}=\sum_{i} \widehat{\mathbf{b}}_{i} brep=ib i,其中 i i i是重复分支的索引。

4.2、知识蒸馏

知识蒸馏(KD)是一种广泛使用的模型压缩方法,其中大型预训练教师模型的预测被视为小型学生模型的学习目标。给定一个带有标签 y y y的样本 x x x,使用 Γ s ( x ) \Gamma_{\text{s}}(x) Γs(x) Γ t ( x ) \Gamma_{\text{t}}(x) Γt(x)分别表示学生和教师模型对应的预测逻辑值,KD的总损失函数可以表述为:

L total = ( 1 − α ) L ce ( Γ s ( x ) , y ) + α L kd ( Γ s ( x ) , Γ t ( x ) ) , \mathcal{L}_{\text{total}} = (1 - \alpha) \mathcal{L}_{\text{ce}}\left(\Gamma_{\text{s}}(x), y\right) + \alpha \mathcal{L}_{\text{kd}}\left(\Gamma_{\text{s}}(x), \Gamma_{\text{t}}(x)\right), Ltotal=(1α)Lce(Γs(x),y)+αLkd(Γs(x),Γt(x)),

其中 L ce \mathcal{L}_{\text{ce}} Lce L kd \mathcal{L}_{\text{kd}} Lkd分别表示交叉熵损失和KD损失。 α \alpha α是一个平衡超参数。

通常,采用Kullback-Leibler散度函数作为KD损失,可以表示为:

L kd = τ 2 ⋅ KL ( softmax ( Γ s ( x ) ) / τ , softmax ( Γ t ( x ) ) / τ ) , \mathcal{L}_{\text{kd}} = \tau^2 \cdot \text{KL}\left(\text{softmax}\left(\Gamma_{\text{s}}(x)\right) / \tau, \text{softmax}\left(\Gamma_{\text{t}}(x)\right) / \tau\right), Lkd=τ2KL(softmax(Γs(x))/τ,softmax(Γt(x))/τ),

其中 τ \tau τ是一个称为温度的标签平滑超参数。在我们的实验中,我们研究了不同设置的超参数 α \alpha α τ \tau τ对紧凑模型性能的影响。

4.3、学习调度

学习率是神经网络优化中的一个关键参数。常用的学习率调度方案有两种:阶梯式和余弦式。阶梯式调度方案线性地降低学习率,而余弦式调度方案在开始时缓慢降低学习率,在中间阶段几乎呈线性下降,并在结束时再次减慢。本工作广泛研究了学习率及其调度方案对紧凑模型的影响。

指数移动平均(EMA)最近已成为一种有效提高验证精度和模型鲁棒性的方法。具体来说,它在训练过程中逐渐对模型的参数进行平均。假设模型在步骤 t t t时的参数为 W t \mathbf{W}_{t} Wt,则模型的EMA计算为:

W ‾ t = β ⋅ W ‾ t − 1 + ( 1 − β ) ⋅ W t , \overline{\mathbf{W}}_{t} = \beta \cdot \overline{\mathbf{W}}_{t-1} + (1 - \beta) \cdot \mathbf{W}_{t}, Wt=βWt1+(1β)Wt,

其中 W ‾ t \overline{\mathbf{W}}_{t} Wt表示步骤 t t t时EMA模型的参数, β \beta β是一个超参数。我们在5.3节中研究了EMA的影响。

4.4、数据增强

为了提高传统模型的性能,已经提出了各种数据增强方法。其中,AutoAug方案[3]采用了25种子策略的组合,每种子策略包含两种变换。对于每个输入图像,随机选择一个子策略组合,并且子策略中每个变换是否应用由一定的概率决定。RandomAug方法[4]提出了一种随机增强方法,其中所有子策略以相同的概率被选中。像Mixup[33]和CutMix[32]这样的图像混叠方法通过融合两个图像来生成新图像。具体来说,Mixup通过对成对的示例及其标签的凸组合来训练神经网络,而CutMix则随机从一张图像中移除一个区域,并用另一张图像的相应区域进行替换。RandomErasing[35]随机选择图像中的一个矩形区域,并将其像素替换为随机值。

在本文中,我们评估了上述数据增强方法的各种组合,并发现一些常用于训练传统模型的数据增强方法,如Mixup和CutMix,并不适合训练紧凑模型。

5、实验结果

在我们的基本训练策略中,我们使用2048的批次大小,并采用LAMB优化器[31]对模型进行600个epoch的优化。初始学习率设置为0.005,并采用余弦学习率调度。权重衰减和动量分别设置为0.05和0.9。我们使用0.9999作为指数移动平均(EMA)的衰减因子,同时应用随机增强和随机擦除进行数据增强。在本节中,我们将探讨这些训练策略,并揭示训练紧凑模型的见解。所有实验均在ImageNet数据集[5]上使用8个NVIDIA Tesla V100 GPU进行。

5.1、重参数化

为了更好地理解将重参数化整合到紧凑模型训练中的优势,我们进行了一项消融研究,以评估重参数化对不同大小的GhostNetV2的影响。结果如表1所示。在保持其他训练设置不变的情况下,采用重参数化相较于直接训练原始的GhostNetV2模型,性能有了显著的提升。
在这里插入图片描述

此外,我们还比较了重参数化因子 N N N的不同配置,结果如表2所示。从结果中可以看出, 1 × 1 1 \times 1 1×1深度卷积在重参数化中起到了关键作用。如果在重参数化模型中不使用 1 × 1 1 \times 1 1×1深度卷积,随着分支数量的增加,性能甚至会下降。相反,当配备 1 × 1 1 \times 1 1×1深度卷积时,GhostNetV3模型在 N N N为3时达到了最高的top-1准确率77.6%,进一步增加 N N N的值并不会带来性能上的额外提升。因此,在后续的实验中,我们将重参数化因子 N N N设置为3,以实现更好的性能。

5.2、知识蒸馏

在本节中,我们评估知识蒸馏对GhostNetV3性能的影响。具体地,我们采用ResNet-101[11]、DeiT-B[27]和BeiTV2B[20]作为教师模型,它们的top-1准确率分别为77.4%、81.8%和86.5%。表3中的结果展示了使用不同教师模型时的性能变化。值得注意的是,教师模型的性能越优越,GhostNetV3的性能提升就越明显,这强调了在使用紧凑模型进行知识蒸馏时,选择性能优秀的教师模型的重要性。

此外,我们以BeiTV2-B作为教师模型,进一步比较了KD损失中不同超参数设置的影响。表4的结果表明,对于紧凑模型,较低的温度值是比较合适的选择。同时,值得注意的是,当仅使用KD损失(即α=1.0)时,top-1准确率会出现明显下降。
在这里插入图片描述

我们还探索了将重参数化和知识蒸馏相结合对GhostNetV2性能的影响。如表5所示,结果表明,由于使用了知识蒸馏,性能得到了显著提升(最高达到79.13%)。此外,这也强调了 1 × 1 1 \times 1 1×1深度卷积在重参数化中的重要性。这些发现强调了研究各种技术及其潜在组合对于提升紧凑模型性能的重要性。

5.3、学习策略

学习率调度。图3展示了采用不同学习率调度方案(包括是否使用重参数化和知识蒸馏)的实验结果。观察到无论是学习率过小还是过大,都会对性能产生不利影响。因此,在最终的实验中,我们选择学习率为5e-3。
在这里插入图片描述

在表6中,我们比较了阶梯式和余弦式学习率调度方案。结果显示,余弦式学习率调度方案实现了最高的top-1准确率。这强调了精心设计的余弦式学习率调度方案在提升紧凑模型性能方面的有效性。
在这里插入图片描述

权重衰减。表7展示了权重衰减对GhostNetV2的top-1准确率的影响。结果表明,较大的权重衰减会显著降低模型的性能。因此,考虑到其在紧凑模型上的有效性,我们为GhostNetV2保留了0.05的权重衰减值。
在这里插入图片描述

EMA。在图4中,可以观察到当EMA的衰减为0.99999时,无论是否使用重参数化和知识蒸馏技术,性能都会有所下降。我们推测这是由于衰减值过大时当前迭代的弱化效应所致。对于紧凑模型,合适的衰减值应为0.9999或0.99995,这与传统模型相似。

这些发现表明,在选择合适的学习策略时,需要仔细权衡不同的因素,并根据具体的模型类型和任务需求进行调整,以达到最佳的性能提升效果。同时,实验结果也验证了我们在本研究中采用的训练策略的有效性,为未来的模型优化提供了有益的参考。

5.4、数据增强

为了比较不同数据增强方案对轻量级模型性能的影响,我们在基于CNN的GhostNetV2和基于ViT的DeiT-tiny模型上进行了不同增强策略的训练。表8展示了结果。观察到随机增强和随机擦除对GhostNetV2和DeiT-tiny都是有益的。相反,Mixup和CutMix对性能有不利影响,因此被认为不适合紧凑模型。
在这里插入图片描述

5.5、与其他紧凑模型的比较

在本节中,我们比较了GhostNetV3与其他紧凑模型在参数、FLOPs、CPU延迟和手机延迟方面的表现。具体来说,我们在配备3.2 GHz Intel i7-8700处理器的Windows桌面上运行模型以测量CPU延迟,并使用配备Kirin 9000 CPU的华为Mate40Pro手机在输入分辨率为224×224的配置下评估手机延迟。为确保最低延迟和最高一致性,我们关闭了CPU和手机上的所有其他应用程序。每个模型执行100次以获得可靠的结果。

表9提供了GhostNetV3与其他参数少于20M的紧凑模型的详细比较。从结果中可以看到,基于Transformer的最小架构在移动设备上推理的延迟为12.5 ms,但其top-1准确率仅为69.0%。相比之下,GhostNetV3以显著较低的7.81 ms延迟实现了77.1%的top-1准确率。目前最先进的模型MobileFormer[2]以129.58 ms的延迟实现了79.3%的top-1准确率,这在现实应用中是不可接受的。相比之下,GhostNetV3以18.87 ms的显著较低延迟实现了80.4%的更高准确率,比MobileFormer快6.8倍。

这些结果表明,GhostNetV3在保持高性能的同时,实现了更低的延迟,使其在实际应用中更具竞争力。此外,与其他紧凑模型相比,GhostNetV3在保持较小模型尺寸的同时,实现了更好的准确率,进一步证明了其作为轻量级模型的优越性。

接下来,我们将GhostNetV3与其他基于CNN的紧凑模型进行比较,包括MobileNets [15, 16, 21, 36]、ShuffleNets [18, 34]、MixNet [25]、MNASNet [22]、FBNet [30]、EfficientNet [23] 和 MobileOne [28]。其中,FBNet、MNASNet和MobileNetV3是基于搜索的模型,其他模型是手动设计的。具体来说,FBNet采用了硬件搜索策略,而MNASNet和MobileNetV3搜索的是架构参数,如模型宽度、模型深度、卷积核大小等。

与MobileNetV2 [21]相比,GhostNetV2 1.0×在几乎相同的延迟(7.81 ms vs. 7.96 ms)下实现了5.1%的性能提升。GhostNetV2 1.3×与MobileNeXt和EfficientNet-B0相比,top-1准确率分别提高了3.0%和2.8%。特别值得一提的是,与功能强大的手动设计的MobileOne模型相比,GhostNetV3 1.0×在top-1准确率上比MobileOne-S1高出1.2%,而所需延迟仅为一半。GhostNetV3 1.3×在比MobileOne-S2高出1.7%的准确率的同时,延迟仅为MobileOne-S2的60%。此外,当GhostNet 1.6×实现比MobileOne-S4更高的top-1准确率(80.4% vs. 79.4%)时,MobileOne在CPU上的延迟是GhostNetV3的2.8倍。

在将GhostNetV3 1.0×与基于搜索的紧凑模型进行比较时,我们发现它在CPU和手机上的推理速度都更快,且比FBNet-C高出2.2%的top-1准确率。此外,GhostNetV3 1.0×在保持相似延迟的同时,比MobileNetV3和MNASNet高出1.9%的top-1准确率。这些结果证明了我们提出的训练策略在获得出色的紧凑模型方面优于现有的手动设计和基于搜索的架构设计方法。

在这里插入图片描述

图5展示了各种紧凑模型的综合性能比较。左图和右图分别展示了在移动手机上测量的浮点运算次数(FLOPs)和延迟。值得注意的是,我们训练的GhostNetV2在移动设备上的延迟和top-1准确率之间展现出了最佳的平衡。

为了进一步证明我们提出的训练策略的可扩展性,我们将它应用于另外两种广泛使用的紧凑模型的训练:ShuffleNetV2和MobileNetV2。表9中的结果表明,我们提出的策略可以分别提高ShuffleNetV2和MobileNetV2的top-1准确率2.2%和3.0%。
在这里插入图片描述

5.6、扩展到目标检测

为了研究训练策略是否适用于其他数据集,我们将实验扩展到COCO数据集上的目标检测任务,以验证其泛化能力。结果如表10所示。值得注意的是,从分类任务中获得的见解同样适用于目标检测任务。例如,GhostNetV3模型在两种使用的分辨率设置下,分别比GhostNetV2高出0.4和0.5的mAPs。此外,GhostNetV3的性能优于MobileNetV2,但用于推理的浮点运算次数更少。

6、结论

在本文中,我们针对提升现有紧凑模型性能的训练策略进行了全面研究。这些技术,包括重参数化、知识蒸馏、数据增强以及学习进度调整,在推理阶段不涉及对模型架构的任何修改。特别地,我们训练的GhostNetV3在CPU和移动手机平台上都实现了精度和推理成本之间的最优平衡。此外,我们还将提出的训练策略应用于其他紧凑模型,如MobileNetV2和ShuffleNetV2,观察到显著的精度提升。我们希望本研究能够为该领域未来的研究提供有价值的见解和经验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis和mysql数据一致性方案

请求 A 更新数据 请求B读数据 在高并发情况下,A、B请求过程步骤相互穿插,就会出现图中的问题。 期望redis 的数据是11,最后变成了10 场景:先删除Redis,再更新 MySQL,不主动更新Redis,访问redi…

#ESP32S3R8N8建立工程(VSCODE)

1.参考文档 【立创ESP32S3R8N8】IDF入门手册 - 飞书云文档 (feishu.cn)https://lceda001.feishu.cn/wiki/GOIlwwfbIi1SC3k8594cDeFVn8g 2.建立工程 3.运行效果

2024年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲…

No system certificates available. Try installing ca-certificates.

一、错误重现 Certificate verification failed: The certificate is NOT trusted. No system certificates available. Try installing ca-certificates. 具体如图 系统环境是ubuntu:22.04 ARM架构 二、解决方法 1、先不要更换镜像源 直接设置 apt update apt -y instal…

创新实训2024.04.24日志:RAG技术初探

1. 什么是RAG技术 RAG is short for Retrieval Augmented Generation。结合了检索模型和生成模型的能力,以提高文本生成任务的性能。具体来说,RAG技术允许大型语言模型(Large Language Model, LLM)在生成回答时,不仅依…

13. Spring AOP(一)思想及使用

1. 什么是Spring AOP AOP的全称是Aspect Oriented Programming,也就是面向切面编程,是一种思想。它是针对OOP(面向对象编程)的一种补充,是对某一类事情的集中处理。比如一个博客网站的登陆验证功能,在用户进行新增、编辑、删除博…

算法设计优化——有序向量二分查找算法与Fibonacci查找算法

文章目录 0.概述1.语义定义2. 二分查找(版本A)2.1 原理2.2 实现2.3 复杂度2.4 查找长度 3.Fibonacci查找3.1 改进思路3.2 黄金分割3.3 实现3.4 复杂度分析3.5 平均查找长度 4. 二分查找(版本B)4.1 改进思路4.2 实现4.3 性能4.4 进…

YOLOv8常见水果识别检测系统(yolov8模型,从图像、视频和摄像头三种路径识别检测)

1.效果视频(常见水果识别(yolov8模型,从图像、视频和摄像头三种路径识别检测)_哔哩哔哩_bilibili) 资源包含可视化的水果识别检测系统,可识别图片和视频当中出现的六类常见的水果,包括&#xf…

【redis】非关系型数据库——Redis介绍与安装(windows环境)

目录 数据库架构的演化单体架构缓存(Memcached)MySQL集群缓存(Memcached可以)MySQL集群垂直拆分(主从复制,读写分离)缓存(Redis)MySQL集群垂直拆分分库分表 NoSQLNoSQL产生的背景性能需求MySQL的扩展性瓶颈方面什么是NoSQLNoSQL的特点主流的N…

下级平台级联EasyCVR视频汇聚安防监控平台后,设备显示层级并存在重复的原因排查和解决

视频汇聚平台/视频监控系统/国标GB28181协议EasyCVR安防平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,平台支持7*24小时实时高清视频监控,能同时…

C语言进阶|单链表的实现

✈链表的概念和结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的。 链表的结构跟火车车厢相似,淡季时车次的车厢会相应减少,旺季时车次的车厢会额外增加几节。…

BSV区块链协会上线首个版本的ARC交易处理器

​​发表时间:2024年3月28日 BSV区块链协会近期上线了首个版本的ARC交易处理器。ARC是一项区块链交易处理服务,能在通过P2P网络广播交易之前验证并存储相关的交易。一旦新区块被挖出,一条与该交易相关的Merkle路径将被发回给交易发起者作为确…

长效静态代理IP如何改变你的SEO和网络营销策略?

长效静态代理IP为SEO和网络营销专家提供了一个强大的工具,通过这种技术,可以突破传统的限制,以全新的视角和方法优化其在线策略。这不仅增强了企业的市场竞争力,也为实现更高效、更精准的营销目标提供了可能。 一、长效静态代理IP…

Vue面试经验

Vue编译时声明周期的执行顺序 Vue中父子组件渲染顺序(同步引入子组件:import Son from ‘/components/son’ ) 父子组件编译时的生命周期执行顺序 这里修改data数据时也修改了dom,如过知识通过按钮对数据进行操作,那…

kafka大数据采集技术实验(未完待续)

Kafka环境搭建 下载地址:https://link.zhihu.com/?targethttps%3A//kafka.apache.org/downloads解压启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties需要注意的是 : " c o n f i g / z o o k e e p e r . p r o p e r t i e s &q…

解密Java线程池源码

一、线程池中的保活和回收源码分析 1、线程池中线程的创建时机 1、核心线程创建时机 在研究线程池的源码前首先想一个问题 public class Main {public static void main(String[] args) {ThreadPoolExecutor executor new ThreadPoolExecutor(10, 20, 0l, TimeUnit.MILLIS…

从Linux角度具体理解程序翻译过程-----预处理、编译、汇编、链接

目录 前言: 翻译过程 1.预处理 2.编译 3.汇编 4.链接 Linux下对其理解: 1.预处理 拓展: Linux下文件信息: 文件类型: 硬链接数: 文件拥有者: 文件所属组: other&#x…

区块链安全应用-------压力测试

基于已有的链进行测试(build_chain默认建的链 四个节 点): 第一步:搭链 1. 安装依赖 在ubuntu操作系统中,操作步骤如下: sudo apt install -y openssl curl 2. 创建操作目录, 下载安装脚本 ## 创建操作…

3个比较不错的Linux云音乐应用程序整理

在现代音乐流媒体时代,基于云的音乐应用程序因其便利性和可访问性而变得非常流行。Linux 用户尤其寻求可靠且功能丰富的音乐播放器来无缝地享受他们喜爱的音乐。 在这里,我们探讨了三个最好的基于云的音乐应用程序,每个应用程序都提供专为 L…

Java Web 网页设计(1)

不要让追求之舟停泊在幻想的港湾 而应扬起奋斗的风帆 驶向现实生活的大海 网页设计 1.首先 添加框架支持 找到目录右键添加 找到Web Application选中 点击OK 然后 编辑设置 找到Tomcat--local 选中 点击OK 名称可以自己设置 找到对应文件夹路径 把Tomcat添加到项目里面 因为…