当前位置:
首页 >
论文笔记:MobileNet v1
发布时间:2025/3/21
19
豆豆
生活随笔
收集整理的这篇文章主要介绍了
论文笔记:MobileNet v1
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
原文:MobileNets: Efficient Convolutional Neural Networks for MobileVision Applications
MobileNet v1
1、四个问题
- 在现实场景下,诸如移动设备、嵌入式设备、自动驾驶等等,计算能力会受到限制,所以本文的目标就是构建一个小且快速(small and low latency)的模型。
- 提出了MobileNet架构,使用深度可分离卷积(depthwise separable convolutions)替代传统卷积。
- 在MobileNet网络中还引入了两个收缩超参数(shrinking hyperparameters):宽度乘子(width multiplier)和分辨率乘子(resolution multiplier)。
- 在一系列视觉任务如ImageNet分类、细粒度分类、目标检测等等上,显著降低模型大小的同时也取得了不错的效果。
2、网络结构
2.1、Depthwise Separable Convolution
- Depthwise Separable Convolution实质上是将标准卷积分成了两步:depthwise卷积和pointwise卷积,其输入与输出都是相同的。
- 假设输入特征图维度为:DF×DF×MD_F \times D_F \times MDF×DF×M,DFD_FDF为输入的宽/高,MMM为输入通道数。
- 假设输出特征图维度为:DG×DG×ND_G \times D_G \times NDG×DG×N,DGD_GDG为输出的宽/高,NNN为输出通道数。
- 假设卷积核尺寸为:Dk×DkD_k \times D_kDk×Dk,DkD_kDk为卷积核的宽/高。
2.1.1、标准卷积
- 卷积核参数量:DK×Dk×M×ND_K \times D_k \times M \times NDK×Dk×M×N。
- 计算量(只计算乘法):Dk×Dk×M×N×DF×DFD_k \times D_k \times M \times N \times D_F \times D_FDk×Dk×M×N×DF×DF。
- 计算量(FLOPS,包括乘法和加法):(Dk×Dk×M+Dk×Dk×M−1)×N×DF×DF(D_k \times D_k \times M + D_k \times D_k \times M -1)\times N \times D_F \times D_F(Dk×Dk×M+Dk×Dk×M−1)×N×DF×DF。
- 注:为简化起见,后面求解计算量时只考虑乘法,不考虑加法。
2.1.2、深度可分离卷积
- 分为两部分:depthwise卷积和pointwise卷积。
- depthwise卷积:对每个输入通道单独使用一个卷积核处理。
- pointwise卷积:1×11 \times 11×1卷积,用于将depthwise卷积的输出组合起来。
- 输入:DF×DF×MD_F \times D_F \times MDF×DF×M,输出:DF×DF×MD_F \times D_F \times MDF×DF×M,卷积核尺寸:Dk×DkD_k \times D_kDk×Dk。
- 卷积核参数:分开为MMM个通道看,每个通道都是Dk×Dk×1×1D_k \times D_k \times 1 \times 1Dk×Dk×1×1,共Dk×Dk×MD_k \times D_k \times MDk×Dk×M。
- 计算量:Dk×Dk×M×DF×DFD_k \times D_k \times M \times D_F \times D_FDk×Dk×M×DF×DF。
- 理解:将输入的特征图(维度为:DF×DF×MD_F \times D_F \times MDF×DF×M)看做是MMM个DF×DF×1D_F \times D_F \times 1DF×DF×1的特征图;对这MMM个DF×DF×1D_F \times D_F \times 1DF×DF×1的特征图分别进行普通卷积(卷积核为:Dk×DkD_k \times D_kDk×Dk,输入通道数为111,输出通道数也为111)。实质上,这就是对卷积的通道数进行分组,然后对每组的特征图分别进行卷积,是组卷积(group convolution)的一种扩展,每组只有一个特征图。
- 输入:DF×DF×MD_F \times D_F \times MDF×DF×M,输出:DF×DF×ND_F \times D_F \times NDF×DF×N,卷积核尺寸:1×11\times 11×1。
- 卷积核参数:1×1×M×N1 \times 1 \times M \times N1×1×M×N。
- 计算量:1×1×M×N×DF×DF1 \times 1 \times M \times N \times D_F \times D_F1×1×M×N×DF×DF。
- 理解:就是1×11 \times 11×1卷积,是普通的卷积操作。
Dk×Dk×M×DF×DF+1×1×M×N×DF×DF=(Dk×Dk+N)×M×DF×DFD_k \times D_k \times M \times D_F \times D_F + 1 \times 1 \times M \times N \times D_F \times D_F \\ = (D_k \times D_k + N) \times M \times D_F \times D_FDk×Dk×M×DF×DF+1×1×M×N×DF×DF=(Dk×Dk+N)×M×DF×DF
2.1.3、标准卷积与深度可分离卷积计算量的比较
- 只计算乘法操作:
- 标准卷积计算量:Dk×Dk×M×N×DF×DFD_k \times D_k \times M \times N \times D_F \times D_FDk×Dk×M×N×DF×DF。
- 深度可分离卷积计算量:(Dk×Dk+N)×M×DF×DF(D_k \times D_k + N) \times M \times D_F \times D_F(Dk×Dk+N)×M×DF×DF。
- 两者之比:
- 通常MobileNet会使用卷积核为3×33 \times 33×3的深度可分离卷积,上面这个式子的结果就接近于19\frac{1}{9}91,大约可以比普通卷积减少了8到9倍的计算量。
2.2、MobileNet结构
2.3、网络参数、计算量分布
- MobileNet的大多数计算量(约95%)和参数(约75%)都在1×11 \times 11×1卷积中,剩余的大多数参数(约24%)都在全连接层中。
- 由于模型较小,可以减少正则化手段和数据增强,因为小模型相对不容易过拟合。
2.4、控制MobileNet模型大小的两个超参数
- 用α\alphaα表示,该参数用于控制特征图的维数,即通道数。
- 对于深度可分离卷积,其计算量为:Dk×Dk×αM×DF×DF+1×1×αM×αN×DF×DFD_k \times D_k \times \alpha M \times D_F \times D_F + 1 \times 1 \times \alpha M \times \alpha N \times D_F \times D_FDk×Dk×αM×DF×DF+1×1×αM×αN×DF×DF
- 用ρ\rhoρ表示,该参数用于控制特征图的宽/高,即分辨率。
- 对于深度可分离卷积,其计算量为:Dk×Dk×αM×ρDF×ρDF+1×1×αM×αN×ρDF×ρDFD_k \times D_k \times \alpha M \times \rho D_F \times \rho D_F + 1 \times 1 \times \alpha M \times \alpha N \times \rho D_F \times \rho D_FDk×Dk×αM×ρDF×ρDF+1×1×αM×αN×ρDF×ρDF
总结
以上是生活随笔为你收集整理的论文笔记:MobileNet v1的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 论文笔记:孪生神经网络(Siamese
- 下一篇: 论文笔记:PPFNet