我们在之前一篇文章已经说过MobileNet 是为了将复杂的网络能够应用在移动端和资源受限情境下的轻量级神经网络解决方案。在MobileNet网络中主要提出的方案主要是深度可分离卷积和宽度缩放因子、分辨率缩放因子两个超参数。而MobileNet -v2继续致力于构建移动端的轻量级网络。MobileNet -v2依旧沿用了v1架构中的深度可分离卷积,在本文中就不加赘述,本次文章主要针对于MobileNet-v2的创新部分进行分析。
1、Linear Bottlenecks
介绍Linear Bottlenecks之前我们先看一下,这部分的理论依据。首先认为深度神经网络是由n个Li 层构成,每一层经过激活输出的张量是 hi * wi * di 。我们认为一连串的卷积和激活层形成一个兴趣流形(manifold of interest,这就是我们感兴趣的数据内容),现阶段还无法定量的描述这种流行,这里以经验为主的研究这些流行性质。长期以来我们认为:在神经网络中兴趣流行可以嵌入到低维子空间,通俗点说,我们查看的卷积层中所有单个d通道像素时,这些值中存在多种编码信息,兴趣流行位于其中的。我们可以通过变换,进一步嵌入到下一个低维子空间中(例如通过 1 * 1 卷积变换维数,转换兴趣流行所在空间维度。所以可通过减少层维度从而降低激活空间的维度。MobileNetv1是通过宽度缩放因子在计算量和精度之间取折中。用上面的理论来说,宽度缩放因子控制激活空间的维度,并且让兴趣流形横跨整个激活空间。然而,由于深度卷积神经网络的层是具有非线性激活函数的。以ReLU变换 ( F(x) = max(0 , x) )为例,会存在以下特点:如果当前激活空间内兴趣流形完整度较高,经过ReLU,可能会让激活空间坍塌,不可避免的会丢失信息。
怎么理解呢?我们通过下面这张图来看看,Input是一个2维数据,其中兴趣流形是其中的蓝色螺旋线。使用矩阵 T 将数据嵌入到n维