MobileNet网络详解

MobileNet网络结构是一款轻量级的移动终端神经网络,到目前为止有V1和V2两个版本。

V1版本的主要思想是深度可分离卷积,Inception网络的结构设计思想就是将卷积通道相关和空间通道相关进行分离(如下图所示)

MobileNet网络详解_第1张图片

Xception的构造也是沿用上面的思路,结构如下图所示:

MobileNet网络详解_第2张图片

更多关于v1的相关内容,请参考

  • https://www.jianshu.com/p/38dc74d12fcf?utm_source=oschina-app
  • https://blog.csdn.net/Einstellung/article/details/103585835(pytorch实现深度可分离卷积代码)
  • https://yinguobing.com/separable-convolution/#fn2

v2的主要思想是先通过Expansion layer来扩展维度,之后在用深度可分离卷积来提取特征,之后使用Projection layer来压缩数据,让网络从新变小。因为Expansion layer 和 Projection layer都是有可以学习的参数,所以整个网络结构可以学习到如何更好的扩展数据和从新压缩数据。

MobileNet网络详解_第3张图片

有两个概念需要理解Linear Bottleneck 和 Inverted Residuals。

关于Linear Bottleneck:

原论文中提出了兴趣流形(mainfold of interest)的概念(即网络层中的激活特征),认为深度神经网络是由n个Li 层构成,每层经过激活输出的张量为Hi Wi  Di,一连串的卷积和激活层形成一个兴趣流形(manifold of interest,这就是我们感兴趣的数据内容),兴趣流行可以嵌入到低维子空间,通过减少每一层维度(即每层图像深度或者卷积核个数),从而降低激活空间的维度。MobileNetv1是通过宽度因子(width factor)(控制激活空间的维度)在计算量和精度之间取折中,直到兴趣流形横跨整个空间。

但是,由于深度卷积神经网络的层是具有非线性激活函数的,如果当前激活空间内兴趣流形完整度较高,经过ReLU,可能会让激活空间坍塌,不可避免的会丢失信息。论文针对这个问题使用linear bottleneck(即不使用ReLU激活,做了线性变换)的来代替原本的非线性激活变换

关于Linear Bottleneck和Inverted Residuals的更多理解,请参考https://zhuanlan.zhihu.com/p/98001811。

 

 

 

 

你可能感兴趣的:(深度学习)