MobileNet系列之MobileNet_v1

导言:

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

图片

01 Depthwise Separable Convolution

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

图片

图片

图片

    例如,给定一个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使用3x3深度可分离卷积能较少8-9倍的计算量,而精度只降低了一点点。具体如下:

图片

02 Network Structure and Training

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

图片

其完整的结构图如下:

图片

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

图片

    这种深度可分离卷积不只是减少了计算量这么简单。对于无结构的稀疏的矩阵,其计算量虽然比密集矩阵要少,但由于密集矩阵在底层是使用了通用矩阵乘法(general matrix multiply function,即GEMM)来进行优化(这种优化是在内存中进行im2col对卷积进行初始重新排序,再进行矩阵乘法计算),因此密集矩阵计算速度更快。这里深度可分离卷积中的1x1卷积不需要进行·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技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

 在公众号中回复关键字 “技术总结” 可获取以下文章的汇总pdf。

其它文章

北京大学施柏鑫:从审稿人视角,谈谈怎么写一篇CVPR论文

Siamese network总结

计算机视觉专业术语总结(一)构建计算机视觉的知识体系

欠拟合与过拟合技术总结

归一化方法总结

论文创新的常见思路总结

CV方向的高效阅读英文文献方法总结

计算机视觉中的小样本学习综述   

知识蒸馏的简要概述   

优化OpenCV视频的读取速度

NMS总结   

损失函数技术总结

注意力机制技术总结   

特征金字塔技术总结   

池化技术总结

数据增强方法总结   

CNN结构演变总结(一)经典模型

CNN结构演变总结(二)轻量化模型 

CNN结构演变总结(三)设计原则

如何看待计算机视觉未来的走向   

CNN可视化技术总结(一)-特征图可视化

CNN可视化技术总结(二)-卷积核可视化

CNN可视化技术总结(三)-类可视化

CNN可视化技术总结(四)-可视化工具与项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值