MobileNet系列之MobileNet_v1

导言:

MobileNet系列是轻量级网络的一个系列,共有三个版本,本文MobileNet v1提出了一种有效的网络架构和一组两个超参数,这些超参数允许模型构建者根据问题的约束条件为其应用选择合适尺寸的模型,以构建非常小的,低延迟的模型,这些模型可以轻松地与移动和嵌入式视觉应用的设计要求匹配。

图片

点个关注,每天更新两篇计算机视觉的文章

01 Depthwise Separable Convolution

深度可分离卷积是将标准的卷积分解为深度卷积和1×1点卷积。深度卷积将单个滤波器应用于每个输入通道,点卷积将深度卷积的输出加权结合,这样的分解效果是大大减少了计算量和模型大小。

图片

图片

图片

例如,给定一个DfxDfx M的feature map 生成一个Dfx Dfx N的feature map。

正常的卷积核(如图1)尺寸为Dk × Dk×M ×N。其计算量为 Dk· Dk· M · N ·DF ·DF。

深度可分离卷积中的深度卷积(如图2)的尺寸为Dk ×Dk ×M。这里M表示第M个卷积核(每个卷积核的通道数为1)用于第M个通道,其计算量为Dk· Dk· M ·Df· Df。点卷积(如图3)的尺寸为 1 x1 xM xN,其计算量为M · N ·Df ·Df。因此深度可分离卷积的计算量为 Dk· Dk· M · Df·Df + M·N· Df· Df 。

深度分离卷积与标准卷积的计算量的比值为

图片

据此可知,MobileNet使用3×3深度可分离卷积能较少8-9倍的计算量,而精度只降低了一点点。具体如下:

图片

02 Network Structure and Training

除了第一层是标准的卷积,最后添加了一层全连接层以外,其余部分是用深度可分离卷积构成的。除最后一层全连接层以外,每一层后都添加了BN和ReLU层。共有28层。

图片

其完整的结构图如下:

图片

1×1的点卷积占了计算量的94%,参数占了75%。除此之外参数量最大的是全连接层,不同类型的层的参数和计算量如下:

图片

这种深度可分离卷积不只是减少了计算量这么简单。对于无结构的稀疏的矩阵,其计算量虽然比密集矩阵要少,但由于密集矩阵在底层是使用了通用矩阵乘法(general matrix multiply function,即GEMM)来进行优化(这种优化是在内存中进行im2col对卷积进行初始重新排序,再进行矩阵乘法计算),因此密集矩阵计算速度更快。这里深度可分离卷积中的1×1卷积不需要进行·im2col重排序,直接就可以使用矩阵运算,至于深度卷积部分,其参数量和计算量极少,按照正常卷积的优化计算即可。因此深度可分离卷积计算速度同样极快。

此外,相比于大的模型,MobileNet使用更少的正则化和数据增强技术,这是因为MobileNet模型很小,不用担心过拟合。此外MobileNet使用的是Inception_v2结构,但不需要标签平滑化,同时也可以减少由于大小限制而对图片进行crop所造成扭曲的图片。最后一点,它参数本来就很少,因此它不需要L2正则化来进行权重衰减。

03 Width Multiplier: Thinner Models

即使上面那个结构已经足够小了,但很多应用场合需要更小的模型。这里使用超参数ɑ对深度卷积核的个数以及点卷积的个数进行等比例缩小。因此其计算量变为:Dk · Dk· ɑM · Df· Df + ɑM· ɑN· Df ·Df这里的ɑ∈(0,1], 这里分别取了1,0.75,0.5,0.25. 当ɑ=1时即为上面的MobileNet结构。使用了超参数ɑ的MobileNet称为reduced MobileNets。据上式可知,计算量和参数量减少了a^2大概左右。

图片

04 Resolution Multiplier: Reduced Representation

第二个超参数Ρ用来降低空间分辨率。用法和ɑ一样。因此其计算量变为:Dk ·Dk ·ɑM ·pDf ·pDf + ɑM · ɑN · pDf·pDf

这里p∈(0,1]。因此空间分辨率变为了224, 192, 160 或 128。计算量减少了大概左右。参数量是没有减少的。

图片

05 Experiments

图片

图片

MobileNet系列之MobileNet_v2

MobileNet系列之MobileNet_v3

本文来源于公众号 CV技术指南 的模型解读系列。

欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享