论文阅读:MicroNet: Towards Image Recognition with Extremely Low FLOPs

news2024/12/24 3:34:05

在这里插入图片描述
论文地址:https://arxiv.org/pdf/2011.12289
发表时间:2022
项目地址:https://github.com/liyunsheng13/micronet

MicroNet是一种有效的卷积神经网络,使用极低的计算成本(例如,在ImageNet分类上的6M FLOPs)。现有的低成本的网络在边缘设备上速度理想,但通常会出现严重的性能下降。MicroNet基于两个设计原则来处理极低的FLOPs:(a)通过降低节点连通性来避免网络宽度的减少(b)通过引入更复杂的每层非线性来补偿网络深度的减少。首先,提出了微因子分解卷积,将点态和深度卷积分解成低秩矩阵,以便在通道数量和输入/输出连接之间进行良好的权衡。其次,我们提出了一种新的激活函数,即Dynamic Shift-Max,通过最大限度地消除输入特征图和圆信道位移之间的多个动态融合来提高非线性。融合是动态的,因为它们的参数适应于输入。在微因子卷积和动态位移最大的基础上,MicroNet实现了比当前状态显著的性能提高。

主要亮点:
1、该论文提出了MicroNet,降低了模型的FLOP。主要通过,Micro-block与Dynamic Shift-Max实现
2、与MoblieNet相比,在同尺度的FLOP上高出5-10个点,FLOP越低提升越明显
3、在关键点检测任务上,将MAdds降低为MoblieNetV3的1/3,但还将map提升了2个点;在语义分割任务中,将MAdds降低为MoblieNetV3的65%,但还将miou提升了1个点。

1、Introduction

近年来,设计高效的CNN架构[15,12,26,11,42,24,29]已成为一个活跃的研究领域。这些工作使人们在边缘设备上能够提供高质量的服务。然而,当计算成本变得极低时,即使是最先进的高效cnn(例如MobileNetV3 [11])也会出现显著的性能下降。例如,当MobileNetV3在224 × 224输入的图像分类任务中的MAdds从112M到12M时,top1准确率从71.7%下降到49.8%。这使得它在低功耗设备(例如物联网设备)上采用。在本文中,我们通过削减一半的预算来解决一个更具挑战性的问题:我们能在6 M FLOPs下执行分辨率为224×224的超过1000个类别的图像分类吗?

这种极低的计算成本(6M的flop)需要对每一层进行仔细的重新设计。例如,即使是一个在112×112网格(步幅=2)上包含3个输入通道和8个输出通道的3×3卷积的stem层,也需要2.7M add。用于设计卷积层和针对1000个类的分类器的资源太有限,无法学习一个好的表示。为了适应这样一个低的预算,应用现有有效的网络网络(例如移动网络[12,26,11]和移动网络[42,24])的简单策略是显著减少网络的宽度或深度。这将导致严重的性能下降。

我们提出了一种新的架构,名为MicroNet,来处理极低的流量。它基于以下两个设计原则:

  • 通过降低节点连接数避免网络宽度减少的的影响 提出了微因子卷积法,将点卷积和深度卷积因子化为低秩矩阵。这在输入/输出连接性和通道数量之间实现了良好的平衡。具体来说,我们设计了分组自适应卷积来对点式卷积进行因式分解。它通过平方根关系使组数与通道数相适应。堆叠两个分组自适应卷积,实质上是用分块矩阵逼近点式卷积矩阵,其中每个分块的秩为 1。深度卷积的因子化(秩-1)非常简单,只需将 k × k 深度卷积因子化为 1 × k 和 k × 1 深度卷积。我们的研究表明,在不同层次上适当组合这两种近似方法,可以在不影响通道数量的情况下显著降低计算成本。

  • 通过提高每层的非线性来补偿网络深度的减少 我们提出了一种新的激活函数,命名为 “动态移动最大值”(Dynamic Shift-Max),以从两个方面改善非线性:(a)最大化输入特征图与其环形通道移动之间的多重融合;(b)每次融合都是动态的,因为其参数会适应输入。此外,它还能以较低的计算成本在一个函数中有效增强节点连通性和非线性。

实验结果表明,MicroNet的性能大大优于最先进的技术(见图1)。例如,与MobileNetV3相比,MicroNet在12M和21M FLOP的约束下,在ImageNet分类的前1位准确率分别提高了11.3%和7.7%。在极具挑战性的6 MFLOPs约束下,我们的方法实现了53.0%的top1精度,比具有双倍复杂度(12 MFLOPs)的MobileNetV3增加了3.2%。此外,一系列的MicroNets为两个计算成本非常低的像素级任务提供了强大的基线:语义分割和关键点检测。
在这里插入图片描述

2. Related Work

Efficient CNNs: MobileNets[12,26,11]将k×k卷积分解为深度卷积和点态卷积。ShuffleNets使用 group convolution 和channel shuffle来简化点态卷积。[33]使用 butterfly transform来近似点态卷积。[29,31]在输入分辨率和网络宽度/深度之间找到了适当的关系。MixNet [30]在一个卷积中混合了多个内核大小。AdderNet [2]用大量的倍增技术来换取更便宜的添加功能。GhostNet[10]应用廉价的线性转换来生成ghost feature maps。Sandglass[43]翻转倒置残余块的结构,以减轻信息损失。[39]和[1]训练一个网络来支持多个子网络。

Efficient Inference: 高效推理[20,22,34,35]自适应地定制一个适当的子网络。[34]和[35]使用强化学习来学习一个跳过现有模型部分的控制器。MSDNet [14]允许基于预测一致性的简单样本的早期退出。[40]搜索最优的MSDNet。[38]通过调整图像分辨率来实现有效的推理。

Dynamic Neural Networks: 动态网络通过使参数适应输入来提高表示能力。HyperNet [9]使用另一个网络来为主网络生成参数。SENet [13]通过压缩全局上下文来重新衡量通道。SKNet [18]可以在不同大小的内核上调整注意力。动态卷积[37,5]根据其注意力聚合了多个卷积核。动态ReLU [6]适应了ReLU [25,16]中两个线性函数的斜率和截距。[23]使用分组的全连接层来直接生成卷积权值。[3]将动态卷积从空间不可知扩展到空间特定。[27]提出了动态自适应地对输入通道进行分组的群卷积。[32]对实例分割应用动态卷积。[19]学习跨尺度的动态路由,以进行语义分割。

3. MicroNet方法

3.1. Design Principles

极低的 FLOPs 限制了宽度(通道数)和网络深度(层数),我们将分别对其进行分析。如果我们将卷积层视为一个图,那么输入和输出(节点)之间的连接(边)是由内核参数加权的。在这里,我们将连接性定义为每个输出节点的连接数。因此,连接数等于输出通道数与连接数的乘积。当计算成本(与连接数成正比)固定时,通道数就会与连接数发生冲突。我们认为,在两者之间取得良好的平衡可以有效避免通道减少,并提高层的表示能力。因此,我们的首要设计原则是:避免通过降低节点连通性来减少网络宽度。为此,我们对点卷积和深度卷积进行了更精细的因式分解

当一个网络的深度(层数)显著减少时,其非线性(用ReLU编码)就会受到限制,从而导致明显的性能下降。这激发了我们的第二个设计原则:通过提高每层的非线性来补偿网络深度的减少。我们通过设计一个新的激活功能,动态移动-最大值.

3.2. Micro-Factorized Convolution

我们在更精细的尺度上分解点态和深度卷积,从那里微分解卷积得到了它的名字。其目标是在通道的数量和输入/输出连接之间取得平衡。

Micro-Factorized Pointwise Convolution: 我们提出了群自适应卷积来因子分解一个点态卷积。为了简洁起见,我们假设卷积核W具有相同数量的输入和输出通道( C i n = C o u t = C C_{in} = C_{out} = C Cin=Cout=C),并忽略了偏差。核矩阵W被分解为两个群自适应卷积,其中群数G取决于通道c的数量,在数学上可以表示为:
在这里插入图片描述
其中,W是一个 C × C C×C C×C矩阵。Q的形状为 C × C / R C× C/R C×C/R,按比值R压缩通道数。P的形状为 C × C / R C×C/R C×C/R,将通道数扩展回C作为输出。P和Q一个group为G的分组卷积。Φ是一个C/R×C/R排列矩阵,用于交互通道间的数据。图2-左显示了一个C = 18,R = 2和G = 3的例子。
在这里插入图片描述
这里R为人为定义的压缩率,G则是通过以下公式计算出
在这里插入图片描述
以下只是定义了通道数与联通性的计算规则,并基于此推导出公式2的合理性。

这种平方根关系来自于通道数量 C 与输入/输出连接之间的平衡。 在这里,我们将连通性 E 定义为每个输出通道的输入输出连接数。每个输出通道连接到两组自适应卷积之间的 C/RG 隐藏通道,每个隐藏通道连接到 C/G 输入通道因此, E = C 2 / ( R G 2 ) E = C^2/(RG^2) E=C2/(RG2)。当我们确定计算复杂度 O = 2 C 2 / ( R G ) O = 2C^2/ (RG) O=2C2/(RG)和还原比R时,通道数C和连通性E在G上的相反方向变化为:
在这里插入图片描述
这一点如图3所示。随着组数G的增加,C增加,而E减少。当 G = ( C / R ) G = \sqrt(C/R) G=( C/R)时,这两条曲线截距(C = E),其中每个输出通道连接到所有输入通道一次。从数学上讲,得到的卷积矩阵W被划分为G×G块,每个块的秩为1(见图2-左)。
在这里插入图片描述
Micro-Factorized Depthwise Convolution: 如图2-中所示,我们将一个k×k深度卷积核分解为一个k×1核(对应P)和一个1×k核(对应QT)。这与微因子分解的点态卷积(Eq 1).每个通道W的核矩阵的形状为k×k,它被分解为一个k×1向量P和一个1×k向量QT。这里的Φ是一个值为1的标量。这种低秩近似将计算复杂度从 O ( k 2 C ) O(k^2C) Ok2C降低到O(kC)。
在这里插入图片描述
Combining Micro-Factorized Pointwise and Depthwise
Convolutions:
我们以两种不同的方式结合了微分解的点态和深度卷积: (a)规则组合和(b) lite组合。前者只是简单地连接了这两个卷积lite组合使用微分解的深度卷积,通过对每个通道应用多个空间滤波器来扩展通道的数量。然后,它应用一个组自适应卷积来融合和压缩通道的数量(如图2-右所示)。与常规的组合相比,lite组合在较低FLOP的水平上更有效,因为它节省了信道融合(点态)的计算,以补偿学习更多的空间滤波器(深度)。
在这里插入图片描述

3.3. Dynamic Shift-Max

现在我们提出了动态位移-max,一个新的激活函数来增强非线性。它动态地融合一个输入特征映射和它的圆组移位,其中一组通道被移位。动态变化-最大值也加强了各组之间的联系。这是对关注组内连接的微因子分解点态卷积的补充。

Definition: 设x = {xi}(i = 1,……,C)表示一个输入向量(或张量),其C通道被划分为G组。每一组都有C-G通道。它的N通道圆位移可以表示为 x N ( i ) = x ( i + N ) m o d C x_N (i) = x_{(i+N)} mod C xN(i)=x(i+N)modC。我们将组循环函数定义为,将信道移扩展到组移: 具体操作为:按group,在channel对x进行roll操作
在这里插入图片描述
其中, x C / G ( i , j ) x_{C/G}(i,j) xC/G(ij)对应于将第i个通道 x i x_i xi移动j个组。动态移动最大组合多个(J)组换挡如下:具体操作为:基于全连接层对x进行映射,然后输出最大值
在这里插入图片描述
其中,参数 a i , j k ( x ) a^k_{ i,j} (x) aijk(x)通过一个超函数来适应输入x,这可以通过在平均池化后使用两个全连接的层来很容易地实现,其方式类似于挤压和激发[15]。

Non-linearity: 动态移动-max编码两个非线性: (a)它输出K个不同融合的最大值,(b)参数 a i , j k ( x ) a^k_{ i,j} (x) aijk(x)不是静态的,而是输入x的函数。这些提供了动态ShiftMax更多的表示能力,以弥补层数的减少。最近提出的动态ReLU [6]是动态移动-max(J=1)的一种特殊情况,其中每个通道都被单独激活。

Connectivity: 动态移动-最大值提高了通道组之间的连通性。它是对微因子分解的点态卷积的补充。图4显示,即使是一个静态的
)也能有效地增加微因子分解点态卷积的秩。通过将其插入到两个组自适应卷积之间,所得到的卷积矩阵W(G×G块矩阵)中每个块的秩从1增加到2。注意,静态群移是动态移-max的一个简单特殊情况,K = 1,J = 2和静态 a i , j k a^k_{ i,j} aijk
在这里插入图片描述

Computational Complexity 动态移动-max从输入x生成CJK参数 a i , j k ( x ) a^k_{ i,j} (x) aijk(x)。计算复杂度包括三个部分: (a)平均池化O(HW C),(b)生成参数 a i , j k ( x ) a^k_{ i,j} (x) aijk(x)在等式中 O ( C 2 J K ) O(C^2JK) OC2JK,和©应用每个通道和每个空间位置的动态位移-max O(HW CJK)。当J和K很小时,它是很轻的。根据经验,在J = 2和K = 2处实现了一个很好的权衡。

3.4. Relation to Prior Work

MicroNet与两种流行的高效网络(MobileNet[12,26,11]和ShuffleNet[42,24])有关。它与MobileNet共享反向瓶颈结构,并与ShuffleNet共享使用组卷积。相比之下,MicroNet在卷积和激活函数上都有所区别。首先,将点态卷积分解为group自适应卷积,其中group数适应于信道数 G = C / R G = \sqrt{C/R} G=C/R 。其次,它分解了深度卷积。最后,提出了一种新的激活方法(即动态Shift-Max)来提高信道的连通性和非线性性。

4. MicroNet Architecture

现在我们描述了四种MicroNet模型的架构,它们的FLOP从6m到44m不等。它们由三种类型的微块组成(见图5),它们以不同的方式结合了微分解的点态和深度卷积。它们都使用动态ShiftMax作为激活函数。具体情况如下:
Micro-Block-A 如图5a所示,Micro-Block-A使用了微分解的点态和深度卷积的精简组合(见图2-右)。它在具有较高分辨率的较低级别上有效(例如112×112或56×56),适用于网络浅层。请注意,通道的数量是通过微分解的深度卷积来扩展的,并通过使用群自适应卷积来进行压缩。
在这里插入图片描述
Micro-Block-B Micro-block-b用于连接微块A和微块C。与Micro-block-a不同,它使用了一个完整的微因子分解的点态卷积,其中包括两个组自适应卷积(如图5b所示)。前者挤压了通道的数量,而后者增加了通道的数量。每个MicroNet只有一个Micro-block-B(见表1)。
在这里插入图片描述

Micro-Block-C Micro-Block-C(如图5c所示)使用常规组合,将微深度分解和点态卷积连接起来。它被用于模型的深层(见表1),因为它在信道融合(点态)上比精简版的组合花费了更多的计算。当尺寸需要匹配时,将使用跳跃连接。
在这里插入图片描述
每个微块有4个超参数:核大小k、输出通道数C、微因子分解点态卷积R瓶颈中的减小率,以及两个组自适应卷积的组数对(G1、G2)。请注意,我们放松了等式2作为 G 1 G 2 = C / R G_1G_2 = C/R G1G2=C/R,并找到接近的整数解。

Stem Layer: 我们重新设计了stem层,以满足低FLOP约束。它包括一个3×1卷积和一个1×3组卷积,然后是一个ReLU。第二个卷积将信道数增加了R倍。这大大节省了计算成本。例如,MicroNet-M3中的stem层(见表1)只需要1.5M的madd。

Four MicroNet Models (M0–M3): 我们设计了四种计算成本(6M、12M、21M、44M add)不同的模型(M0、M1、M2、M2、M3)。表1显示了它们的完整形态。这些网络从低到高都遵循相同的模式:stem层→微块-A→微块B→微块-c。请注意,所有模型都是手动设计的,不需要网络架构搜索(NAS)。
在这里插入图片描述

5. Experiments: ImageNet Classification

下面我们评估了四种MicroNet模型(M0-M3)以及对ImageNet [8]分类的综合消融。ImageNet有1000个课程,包括1,281,167张图像用于训练,50,000张图像用于验证。

5.1. Implementation Details

Training Strategy: 每个模型都有两种方式进行训练: (a)独立学习和(b)相互学习。前者很简单,即模型可以自己学习。后者沿着每个MicroNet共同学习一个完整的秩伙伴,其中完整的秩伙伴共享相同的网络宽度/高度,但是用原始的点态和对态(k×k)取代了微因子分解的点态和深度卷积. KL发散被用来鼓励MicroNet向其相应的全等级合作伙伴学习。

Training Setup: 所有的模型都使用具有0.9动量的SGD优化器进行训练。图像分辨率为224×224。使用512的小批量大小,学习率为0.02。每个模型被训练为600个时代与余弦学习率衰减。对于较小的MicroNets(M0和M1),重量衰减为3e-5,辍学率为0.05。对于较大的模型(M2和M3),权重衰减为4e-5,dropout rate为0.1。MicroNet-M3采用标签平滑(0.1)和Mixup [41](0.2),以避免过拟合。

5.2. Main Results

表2比较了Micronet和最先进的imgenet的分类。MicroNets在所有四个FLOP约束条件下的表现都明显优于之前的所有工作。例如,在没有相互学习的情况下,在6M、12M、21M和44M流量时,MibileNetV3分别表现好9.6%、9.6%、6.1%和4.4%。当相互学习时,所有四个micronet始终获得约1.5%的前1准确率。我们的方法在6M FLOPs下达到了53.0%的前1精度,以双复杂度(120MFLOPs)比MobileNetV3高出3.2%。与最近对MobileNet和ShuffleNet的改进相比,如GhostNet[10]、WeightNet[23]和ButterflyTransform[33],我们的方法在类似的流量下获得了超过5%的前1精度。这表明MicroNet对于处理极低的流量是有效的。
在这里插入图片描述

5.3. Ablation Studies

我们运行了一些消融来分析微网。所有的消融都使用MicroNet-M1(12M片段),每个模型被训练为300个时代。动态Shift-Max的默认超参数设置为J = 2,K = 2。

From MobileNet to MicroNet: 表3显示了从移动网到我们的微网的路径。两者都具有相反的瓶颈结构。在这里,我们修改了MobileNetV2[26](没有SE [13]),使其具有相似的复杂性(10.5M MAdds),具有三个微分解的卷积变化(第2-4行)。微因子分解的点态和深度卷积以及它们在低水平上的精简组合将前1的精度从44.9%逐步提高到51.7%。此外,使用静态和动态Shift-Max分别获得了2.7%和6.8%的前1精度,而只有少量的额外成本。这表明,所提出的微分解卷积和动态位移最大值是有效的和互补的,以处理极低的计算成本。
在这里插入图片描述
Group number G: 微因子分解的点态卷积包括两个群自适应卷积,其中它们的组数是通过放松 G = C / R G = \sqrt{C/R} G=C/R 来接近整数来选择的。表4a将其与具有相似结构和FLOPs(约10.5M MAdds)的网络进行了比较,但使用了一个固定的组号。群自适应卷积获得了更高的精度,在通道数量和输入/输出连接之间具有良好的平衡。
在这里插入图片描述
表4b比较了自适应组数的不同选项,这些选项由一个乘数λ控制,使 G = λ p C / R G = λ p\sqrt{C/R} G=λpC/R 。λ值越大,对应的通道越多,但输入/输出连通性越少(见图3)。当λ在0.5到1之间时,达到了良好的平衡。当λ增加(更多信道但连通性更少)或减少(信道更少但连通性更多)时,前1的精度下降。因此,我们在论文的其余部分中使用λ = 1。请注意,表4b中的所有模型都有相似的计算成本(约1050万madd)。
在这里插入图片描述
Lite combination at different levels: 表4c在不同的层次上使用微分解的点态和深度卷积的精简组合(见图2-右)。仅在低水平上使用它就可以获得最高的精度。这验证了精简版组合在较低水平上更有效。与常规组合相比,它节省了信道融合(点态)的计算,以补偿学习更多的空间滤波器(深度)。
在这里插入图片描述
Comparing with other activation functions: 我们比较了动态Shift-Max与现有的三个激活函数ReLU [25]、SE+ReLU [13]和动态ReLU [6]。结果显示在Tabel 5中。我们的动态Shift-Max明显领先于其他三个(2.5%),显示了它的优势。请注意,动态ReLU是一种特殊的情况,动态Shift-Max与J=1(参见等式 5).
在这里插入图片描述
**Dynamic Shift-Max at different layers: ** 表6显示了在一个Micro-block的三个不同层上使用动态Shift-Max的前1个精度(见图5)。在更多的层上使用它可以导致一致的改进。当对所有三层都使用它时,可以获得最好的精度。如果只允许有一个层使用动态Shift-Max,则建议在进行深度卷积后使用它。
在这里插入图片描述

Different hyper parameters in dynamic Shift-Max: 表7显示了使用K和J的不同组合的结果(在等式中 5).当K = 1作为max运算符中只剩下一个元素时,我们添加ReLU。第一行的基线(J = 1,K = 1)相当于SE+ReLU [13]。当固定J=2(融合两组)时,两次融合(K = 2)的获胜者优于单次融合(K = 1)。添加第三次聚变没有帮助,因为它主要被其他两个聚变覆盖,但涉及更多的参数。当固定K=2(最多两次融合)时,涉及更多的组J始终更好,但引入了更多的FLOPs。在J = 2和K = 2上实现了一个很好的权衡,其中通过额外的1.5M MAdds实现了4.1%的增益。
在这里插入图片描述

6. MicroNet for Pixel-Level Classification

MicroNet不仅对图像级分类有效,而且对像素级任务也很有效。在本节中,我们将展示它在人体姿态估计和语义分割中的应用。

6.1. Human Pose Estimation

我们使用COCO 2017数据集[21]来评估MicroNet的单人关键点检测。我们的模型是在train2017上进行训练的,包括57K张图像和150K个标记有17个关键点的个人实例。我们在包含5000张图像的val2017上评估了我们的方法,并使用超过10个对象关键点相似度(OKS)阈值的平均平均精度(AP)作为度量。
Implementation Details: 与图像分类类似,我们有4个MicroNet模型(M0-M3)用于不同FLOPs的关键点检测。这些模型通过增加一组选定块的分辨率(例如,所有步幅为32的块)的分辨率(×2),来适应关键点检测任务。不同的MicroNet模型的选择会有所不同(更多细节见附录8.1)。每个模型都有一个包含三个micro-block的头部(一个步幅为8,两个步幅为4)和一个点态卷积,以生成17个关键点的热图。我们使用双线性上采样来提高头部的分辨率,并在每层使用空间注意[6]。

Training Setup: 使用了[28]中的训练设置。人体检测盒被裁剪和调整到256×192。数据增强包括随机旋转([−45°,45°])、随机缩放([0.65,1.35])、翻转和half body数据增强。所有的模型都使用Adam优化器[17]从头开始训练了250个epoch。初始学习速率设置为1e-3,在第210epoch和第240个epoch分别降为1e-4和1e-5。

Testing 两阶段自上而下的范式[36,28]用于测试:检测人的实例,然后预测关键点。我们使用了由[36]提供的同一个人的探测器。将原始图像和翻转图像的热图结合起来,通过调整最高热值位置,向第二高响应偏移来预测关键点。

Main Results: 表8比较了MicroNets与之前的[6,5]对有效姿态估计的工作,其中计算成本小于850 MFLOPs。这两种工作都在主干和头部中使用了MobileNet的反向剩余瓶颈块,并通过调整卷积[5]和激活函数[6]中的参数以适应输入,显示出明显的改进。我们的MicroNet-M3在这些工作中只消耗了33%的流量,但也取得了类似的性能,证明了我们的方法对关键点检测也是有效的。此外,MicroNet-M2、M1、M0为关键点检测提供了良好的基线,计算复杂度更低,范围从77M到163M FLOPs。
在这里插入图片描述

6.2. Semantic Segmentation

我们在Cityscape数据集[7]上进行了实验,以评估MicroNet的语义分割。我们的模型是在精细训练集上进行训练的,包括2,975张图像。我们在val集(500个图片)上,使用IOU评估我们的方法。

Implementation Details: 我们修改了4个MicroNet模型(M0-M3)作为主干,增加了所有块的分辨率,步幅为32,步幅为16,类似于MobileNetV3 [11]。我们的模型在图像分辨率1024×2048上的计算成本非常低,从2.5B到0.8B。我们在分割头部采用相邻空间金字塔池(LR-ASPP)[11]的Lite简化设计,对特征图进行2次上采样,应用空间注意,并在8步幅时与主干的特征图合并。我们使用微因子分解卷积代替1×1卷积,使LR-ASPP变为Micro-Reduce ASPP(MR-ASPP)更轻。

**Training Setup: ** 所有的模型都被随机初始化和训练为240个epoch。初始学习速率设为0.2,并通过余弦函数衰减到1e-4。重量衰减设为4e-5。使用了[4]中的数据增强功能。

**Main Results: ** 表9报告了所有四个MicroNet的mIOU。与MobileNetV3(68.4 mIOU和2.90Bmad)相比,我们的MicroNet-M3更准确(69.1 mIOU),计算成本更低(2.52Bmad)。这说明了该方法在语义分割方面的优越性。此外,我们的MicroNet-M2,M1,M0为语义分割提供了良好的基线,在FLOP方面从1.75B到0.81B的madd。
在这里插入图片描述

7. Conclusion

在本文中,我们提出了MicroNet来处理极低的计算成本。它建立在两个被提出的算子之上:微分解卷积和动态位移最大值。前者通过在点态和深度卷积上的低秩近似,在信道的数量和输入/输出连通性之间取得平衡。后者动态地融合连续的信道组,增强了节点的连通性和非线性,以补偿深度的减少。在极低的流量下,一个MicroNets家族在三个任务(图像分类、人体姿态估计和语义分割)上实现了坚实的改进。我们希望这项工作为有效的cnn提供良好的基线。

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

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

相关文章

基于STM32的无线语音放大系统设计

本设计基于STM32设计了一种无线语音放大系统。该系统由语音采集模块、STM32核心控制模块、NRF24L01无线通信模块和语音放大模块组成。语音采集模块承担着对采集到的语音信号进行预处理的任务。STM32单片机负责控制整个系统的运行过程,包括数据处理、发送端的模数转换…

华为云征文|华为云Flexus X实例ultralytics模型yolov10深度学习AI部署与应用

目录 前言: 环境准备 购买服务器配置 连接服务器 安装Python 安装Pytorch 部署YOLOv10 拉取YOLOv10代码并安装相关依赖 数据集准备 Detect目标检测模型训练 训练数据集的配置文件 训练命令 识别命令 前言: 本实验演示从0到1部署YOLOv10深度…

tecplot宏批量导入数据

Tecplot新手进阶——使用tecplot宏操作批量处理数据输出图片(详细步骤) tecplot 宏的使用方法及代码改写 第一步:首先点击Scripting–>Record Macro,生成一个脚本文件,即.mcr文件 点击保存,会出现这个…

Activity的优雅跳转

需求1:跳转到下一个界面:NextActivity startActivity(Intent(this,NextActivity::class.java))需求2:跳转到下一个界面(并传参数):NextActivity startActivity(Intent(this,NextActivity::class.java).apply { putExtra("pa…

Vulnhub靶场 | DC系列 - DC9

文章目录 DC-9环境搭建渗透测试端口敲门服务 DC-9 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.1…

【Linux】Ubuntu 安装 NFS 步骤详解

Ubuntu 安装 NFS 步骤详解 1.安装 NFS 服务2.配置 NFS 服务3.启用 NFS 服务4.客户端挂载 NFS 共享目录5.验证挂载是否成功6.持久化挂载(可选)7.其他客户端节点安装 NFS(Network File System)是一种允许不同主机之间通过网络共享文…

快速了解Git 文件的四种状态及其操作指令、如何忽略文件

😀前言 在软件开发过程中,版本控制是团队协作的基石之一。Git 作为分布式版本控制系统,被广泛应用于各类项目的管理中。在使用 Git 进行文件管理时,理解文件的不同状态以及如何有效操作这些文件是非常重要的。本文将介绍 Git 文件…

BaseCTF之web(week2)

目录 ez_ser 一起吃豆豆 你听不到我的声音 Really EZ POP RCEisamazingwithspace 所以你说你懂 MD5? 数学大师 ez_ser <?php highlight_file(__FILE__); error_reporting(0);class re{public $chu0;public function __toString(){if(!isset($this->chu0)){return…

Docker 容器编排之 Docker Compose

目录 1 Docker Compose 概述 1.1 主要功能 1.2 工作原理 1.3 Docker Compose 中的管理层 2 Docker Compose 的常用命令参数 2.1 服务管理 2.1.1 docker-compose up &#xff1a; 2.1.2 docker-compose down &#xff1a; 2.1.3 docker-compose start &#xff1a; 2.1.4 docker…

数据结构:(LeetCode101)对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false提示&#xff1a; 树中节点数目在范围…

World of Warcraft [CLASSIC][80][Shushia] [Obsidian Sanctum][Sartharion]

黑曜石圣殿 [Obsidian Sanctum] 萨塔里奥[Sartharion] 号旗披风、龙魂图典、五色巨龙之怒、黑曜石巨盔等装备&#xff0c;都是非常极品的BIS装备 召唤顺序&#xff1a;&#xff08;中&#xff09;塔尼布隆、&#xff08;右&#xff09;沙德隆、&#xff08;左&#xff09;维斯…

SAP OBYC配置方案

在SAP OBYC配置中&#xff0c;确保评估级别与会计科目匹配的关键在于正确设置评估级别、评估分组代码以及相关的会计科目。以下是确保匹配的步骤和注意事项&#xff1a; 定义评估控制&#xff1a;在SAP中&#xff0c;首先需要定义评估控制&#xff0c;这通常与工厂或公司代码相…

switch语句和while循环

switch语句和while循环 switch语句break的用法default的用法switch语句中的case和default的顺序问题 while语句while语句的执行流程while语句的具体例子 switch语句 switch 语句是⼀种特殊形式的 if…else 结构&#xff0c;用于判断条件有多个结果的情况。它把多重 的 else if…

13 隔离性

数据库并发的场景 读-读&#xff1a;不存在任何问题&#xff0c;也不需要并发控制 读-写&#xff1a;有线程安全问题&#xff0c;可能会造成事务隔离性问题&#xff0c;可能遇到脏读&#xff0c;幻读&#xff0c;不可重复读 写-写&#xff1a;有线程安全问题&#xff0c;可能存…

低代码开发与数据库:数字化转型的新引擎

低代码开发与数据库&#xff1a;数字化转型的新引擎 前言低代码开发的革命性优势数据库在低代码开发中的关键角色实践案例分析未来展望结语 前言 在当今这个快速变化的时代&#xff0c;技术的革新不断推动着企业向数字化转型迈进。随着云计算、大数据、人工智能等技术的飞速发展…

VastBase——执行计划

一、SQL的执行过程 1.词法分析 从查询语句中识别出系统支持的关键字、标识符、运算符、终结符等&#xff0c;确定每个词固有的特性。 以如下这个查询为例&#xff1a; select name from test_0717 where id > 1; 该SQL语句可以划分的关键字、标识符、运算符、常量等…

机器视觉-3 光学成像之明场与暗场

一. 原理介绍 在机器视觉中&#xff0c;光学成像的明场&#xff08;Bright Field&#xff09;和暗场&#xff08;Dark Field&#xff09;是两种常见的成像技术&#xff0c;分别用于不同的检测和分析场景。它们通过不同的光照方式来突出对象的特征&#xff0c;从而帮助识…

基于单片机的多功能数字闹钟设计

本设计是基于单片机来设计的多功能数字闹钟。主要功能包括显示年、月、日、星期、时、分、秒和温湿度等信息&#xff0c;并提示当前环境温湿度是否处于人体舒适区间内&#xff0c;并且设置了4个闹钟用于日常生活中使用&#xff0c;同时设计有秒表计时、整点报时功能等等。在控制…

PCIe Gen4 ltssm协商过程

本章节我们以gen4 Endpoint为例介绍PCIe ltssm(链路状态机)协商过程。 正常PCIe设备链路状态跳变为 detect-->polling-->configuration-->L0(gen1)-->recovery-->L0(gen3)-->recovery-->L0(gen4)。 需要注意的是在进入configuration状态之前&#xff…

视频化时代,用好AIGC产品赋能企业培训打造增效降本“最佳实践”

根据IBM的数据&#xff0c;85%的中国企业正在加速投资AI领域&#xff0c;其中超过63%的企业已积极采用生成式AI。德勤的调研进一步显示&#xff0c;近80%的全球受访企业高管认为&#xff0c;生成式AI的兴起与发展将在3年内推动组织和行业发生实质性变革&#xff0c;这也就意味着…