论文阅读:MicroNet: Towards Image Recognition with Extremely Low FLOPs
论文地址: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)
O(k2C)降低到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(i,j)对应于将第i个通道
x
i
x_i
xi移动j个组。动态移动最大组合多个(J)组换挡如下:具体操作为:基于全连接层对x进行映射,然后输出最大值
其中,参数
a
i
,
j
k
(
x
)
a^k_{ i,j} (x)
ai,jk(x)通过一个超函数来适应输入x,这可以通过在平均池化后使用两个全连接的层来很容易地实现,其方式类似于挤压和激发[15]。
Non-linearity: 动态移动-max编码两个非线性: (a)它输出K个不同融合的最大值,(b)参数 a i , j k ( x ) a^k_{ i,j} (x) ai,jk(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}
ai,jk。
Computational Complexity 动态移动-max从输入x生成CJK参数 a i , j k ( x ) a^k_{ i,j} (x) ai,jk(x)。计算复杂度包括三个部分: (a)平均池化O(HW C),(b)生成参数 a i , j k ( x ) a^k_{ i,j} (x) ai,jk(x)在等式中 O ( C 2 J K ) O(C^2JK) O(C2JK),和©应用每个通道和每个空间位置的动态位移-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提供良好的基线。