MobileNet
(1)文章介绍
- google 201704在archive上的论文。
- 采用depthwise separable卷积核,减少计算量和模型大小。
- 引入了两个超参数,用于选择合适大小的模型。
- 在imagenet, object dectection, face atrributes,分类等任务上验证了效果。
(2)核心思想
将标准卷积层分解为depthwise conv和 pointwise conv(1*1)两个卷积层。即一个depthwise separable卷积核包括depth wise卷积操作和pointwise卷积操作。
对于标准卷积,输入大小为D_f*D_f*M,输出大小为D_f *D_f *N,卷积核的大小为D_k*D_k*M*N。(这里假设stride为 1,padding=0, 因此长宽不变)
标准卷积计算: F和G分别表示输入和输出特征图,(s=0, p=1, h_o = h_in -k + 1)
计算量分析:(要计算出D_f * D_f个值, 计算每个值需要对应的所有对应滑动窗口的值相乘,然后所有通道的值相加merge, 这里加法的计算量忽略不计)
第一步为depth wise卷积
对于输入的每一个通道分别用1个D_k * D_k*1的卷积核进行卷积,共使用了M个卷积核,操作M次,得到M个D_f * D_f * 1的特征图。这些特征图分别是从输入的不同通道学习而来,彼此独立。
depth wise计算(注意与标准卷积对比