参考:点击打开链接
MobileNets使用depthwise sparable convolutions 减少了网络的计算量和参数量,它主要假设常规卷积核在feature maps的channels维度映射中,存在一种类似线性组合的分解特性。这个假设奠定了随后的很多文章的基础,就如参考那篇博客所说Xception中它认为Inception模块背后有一个基本假设,就是输入通道间的相关性和空间相关性是可以退耦合的,即使不把它俩连接起来映射,也能达到很好的效果。这使得后面发展出了分组卷积直到ShuffleNet。并且这种方法对于内存的使用有了很好的优化 使得其可以在移动端的平台上,个人认为这是以后深度学习在移动端会有巨大的发展。
depthwise sparable convolutions分为两个部分,第一个部分将输入的maps通道上的分离进行滤波,第二部分是将分离的通道再结合起来形成一个完整的feature maps。这里第一个部分使用的是通道仅为1的卷积层 对每一个通道进行单独卷积,第二个部分是使用1*1的卷积核将分离的maps结合起来,这点和Xception很像。mobileNet从宽度系数和feature 分辨率系数两个部分进行实验说明,结果是 mobilenet 在效果上与googlenet,VGG16等 很接近 但参数和计算量上小很多。在从宽度系数和分辨率系数上说明减小这两个系数比减小层数的方法效果好,参数少。
mobilenets最主要的贡献是有了将卷积层分离开来进行卷积 不会太影响结果 但能大大减小参数 这为后来的一系列改进打下了基础。