mobileNet_v1笔记

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

MobileNets是基于深度可分离卷积(depthwise separable convolution)而设计的轻量级深度神经网络。
这种分离结构对现在绝大多数移动终端的CPU指令加速硬件,是非常友善的。
正因为MobileNet的可分离卷积模块在压缩参数同时还压缩了计算量,还能充分发挥现代CPU计算能力与数据读取效率,再加上这些优化还不影响准确率,所以它被移动终端领域广泛应用。【1】

主要的思想是将一个标准卷积(standard convolution)分解成两个卷积,一个是深度卷积(depthwise convolution),这个卷积应用在每一个输入通道上;另一个是1×1的逐点卷积(pointwise convolution),这个卷积合并每一个深度卷积的输出。
mobileNet_v1笔记
mobileNet_v1笔记

standard convolution:

Filtering features based on the convolutional kernels and combining features in order to produce a new representation.
mobileNet_v1笔记
stride one and padding
input: feature map F: DFD_F * DFD_F * M
kernel: DKD_K * DKD_K * M * N
output: DFD_F * DFD_F * N

computational cost: DKD_K * DKD_K * M * N * $ D_F$ * DFD_F

Depthwise Separable Convolution

Depthwise convolution

input: feature map F: DFD_F * DFD_F * M
kernel:
Depthwise: DKD_K * DKD_K * M
Pointwise: 1 * 1 * M * N
output: DFD_F * DFD_F * N

computational cost: DKD_K * DKD_K * M * DFD_F * DFD_F + M * N * DFD_F * DFD_F

reduction in computation:

mobileNet_v1笔记

mobileNet_v1笔记
由上图,可以看到参数和准确率差不多的情况下,MobileNet的计算量远小于SqueezeNet。而且SqueezeNet的Fire module实际上只是bottle neck module的变形与InceptionV1模块区别不大,只是少做了几种尺度的卷积而已。【1】
引用:
【1】https://blog.****.net/sun_28/article/details/78170878