论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applicationsgit
(1) 直接对channel进行裁剪,这种随机砍掉一些channel,也太暴力了吧,砍多了效果确定很差,想一想都知道。github
(2) 减小输入图像的分辨率,也就是减少输入的尺寸大小。网络
输入M个channel,那么输出也是M个channel,每个channel都是由一个kernel在一个channel卷积之后获得的结果,不在是和全部的输入相关了。这也就是为何名字叫作depthwise separable(深度级的分离,channel的分离)。google
可是咱们发现输出只有M个channel,而咱们想要输出N个channel,这个时候咱们应该想到1*1的convolution,这个时候的卷积就是full convolution。这个时候输出的每个channel都和输入有关了,至关于输入的加权求和。因此1x1的卷积有联合(combine)的做用。3d
求和的左半部分,表示depthwise separable的计算量,能够看到输出为M个channel,每一个输出channel只和一个channel有关。blog
求和的有半部分,表示1x1 pointwise convolution,能够看到每个输出channel,都和M个输入有关(M个输入的加权求和)。ci
计算量较少比例get
上面公式能够看到直接对输入的M个channel进行的压缩(随机采样)it
上面公式能够看到对不只对输出的channel进行了采样,对输入图像的分辨率也进行了减少。io