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),这个卷积合并每一个深度卷积的输出。
standard convolution:
Filtering features based on the convolutional kernels and combining features in order to produce a new representation.
stride one and padding
input: feature map F: * * M
kernel: * * M * N
output: * * N
computational cost: * * M * N * $ D_F$ *
Depthwise Separable Convolution
Depthwise convolution
input: feature map F: * * M
kernel:
Depthwise: * * M
Pointwise: 1 * 1 * M * N
output: * * N
computational cost: * * M * * + M * N * *
reduction in computation:
由上图,可以看到参数和准确率差不多的情况下,MobileNet的计算量远小于SqueezeNet。而且SqueezeNet的Fire module实际上只是bottle neck module的变形与InceptionV1模块区别不大,只是少做了几种尺度的卷积而已。【1】
引用:
【1】https://blog.****.net/sun_28/article/details/78170878