作者团队:谷歌
关注点:同时优化网络模型的速度与大小
related works
A1、网络受depth wise seperable convolution (在Inception、Xception中也有用到)的启发
A2、factorized network
A3、Squeezenet使用到了bottleneck的方法
B1、对预训练网络的shrinking、factorizing以及compressing(涉及乘积量化、哈希、减枝、向量量化、霍夫编码等)
B2、distillation,大型网络teach小网络
B3、low bit network
模型结构
1、depth wise seperable convolution
将标准卷积分解成为depthwise convolution和pointwise convolution。类似的分解卷积的方法之前也接触过,在学习数字图像处理时,将二维卷积核分解成两个一维卷积核能够减少计算量与参数量。
![[论文笔记] MobileNet [论文笔记] MobileNet](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpJME5DODVPVEl6TkdZd1l6YzJOVFUzTWpneE1qWmpZamM1WldGaE5HRTJNbVV3WXk1d2JtYz0=)
假设标准卷积的输入为DF×DF×M,输出为DF×DF×N,由上图,则标准卷积的参数量为DK⋅DK⋅M⋅N,计算量为DK⋅DK⋅M⋅N⋅DF⋅DF
depthwise seperable convolution 的参数量为DK⋅DK⋅M+M⋅N,计算量为:DK⋅DK⋅M⋅DF⋅DF+M⋅N⋅DF⋅DF
那么,depthwise separable 与标准卷积参数量之比为
ParamstaParamdws=DK⋅DK⋅M⋅NDK⋅DK⋅M+M⋅N=N1+DK21
depthwise separable 与标准卷积计算量之比为
ParamstaParamdws=DK⋅DK⋅M⋅N⋅DF⋅DFDK⋅DK⋅M⋅DF⋅DF+M⋅N⋅DF⋅DF=N1+DK21
2、shrinking hyperparameters:width multiplier、resolution multiplier
width multiplier:添加超参α,改变通道数,原来的输入通道数M变为αM,输出通道数N变为αN。这样使得计算量之比变为Nα+DK2α2,参数量约减少为原来的α2
resolution multiplier:添加超参ρ,改变图像大小,原本的边长DF变为ρDF,这样使得计算量之比变为Nαρ2+DK2α2ρ2,参数量约减少为原来的α2ρ2
![[论文笔记] MobileNet [论文笔记] MobileNet](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpFNU1TODFaV013TldGa1pqY3hNR05rWldNd1pETTFNV0U1WXpWaU5tSXhaamt3Tnk1d2JtYz0=)
分类精度-计算量:对数线性关系
![[论文笔记] MobileNet [论文笔记] MobileNet](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpZd01DOHpZakl3Tmpnek1EWmxNbVJpWW1NM05qYzVaVFUxTmpsaFltRXpOak5qTUM1d2JtYz0=)
分类精度-参数量