MobileNet
传统卷积,内存需求大,运算量需求大。vgg16权重大小约490M,resnet152层权重参数约644M。
mobileNet是google17年提出的,专注于移动端或嵌入式设备中的轻量级CNN网络。相比于传统神经网络,准确率小幅降低的前提下大大减少模型参数和运算量。(在imageNet上,相比于VGG准确率减少了0.9%,但模型参数只有vgg的1/32)。
depth-wise separable convolutions
DW卷积:每个卷积核只和特定的一个channel进行卷积。
- 每个卷积核只有一个channel,负责输入特征矩阵的特定channel。
- 输出channel个数=卷积核个数=输入特征矩阵channel数。
PW卷积是普通的卷积,卷积核的大小是1。
深度可分离卷积是吧DW和PW放在一起使用的。
普通卷积输出特征图为4个channel,使用DW+PW得到输出特征也为4个channel。
α为卷积核个数的倍率,控制卷积过程中卷积核的个数,当宽度乘子α时,输入通道数为αM,输出通道数为αN。β为分辨率参数,对于不同的网络输入图片大小,加法次数不同,网络计算速度不同。
α因子是在训练之前就选定好的
Abstract
我们为移动和嵌入式视觉应用程序提出了一类名为mobilenet的高效模型。mobilenet基于一种流线型的架构,使用depth-wise separable convolutions深度可分离卷积来构建轻量级的深度神经网络。我们引入了两个简单的全局超参数,可以有效地在延迟和准确性之间进行权衡。这些超参数允许模型构建者根据问题的约束为他们的应用程序选择合适大小的模型。我们在资源和准确性的权衡上进行了大量的实验,并在ImageNet分类中显示了与其他流行模型相比的强大性能。然后,我们在广泛的应用和用例中展示了mobilenet的有效性,包括对象检测、细粒度分类、人脸属性和大规模地理定位。
Introduction
自从AlexNet[19]赢得ImageNet挑战(ILSVRC 2012[24])使深度卷积神经网络普及以来,卷积神经网络已经在计算机视觉中无处不在。为了达到更高的精度,总的趋势是制作更深、更复杂的网络[27,31,29,8]。然而,这些提高准确性的进步并不一定会使网络在规模和速度方面更高效。在许多现实世界的应用中,如机器人、自动驾驶汽车和增强现实,识别任务需要在计算有限的平台上及时执行。
本文描述了一种高效的网络架构和一组两个超参数,以构建非常小的、低延迟的模型,可以很容易地满足移动和嵌入式视觉应用的设计需求。第二节回顾了之前建立小模型的工作。第3节描述了MobileNet架构和两个超参数宽度乘法器和分辨率乘法器width multiplier and resolution multiplier,以定义更小和更有效的MobileNet。第4节描述了ImageNet的实验以及各种不同的应用程序和用例。第5节以总结和结论结束。
MobileNetV2: Inverted Residuals and Linear Bottlenecks
对于倒残差结构的最后一个卷积层,使用了线性激活函数,而不是relu。因为通过对relu函数的分析可以看出,对于低维特征relu的损失大,对高维损失小。倒残差两边细,中间粗,mobileNet输出就是低维向量。所以使用线性激活函数替代relu。
步距=1,且输入输出H,W,C都相等,才使用残差。
解决的问题:发现了ReLU的在通道数较少的Feature Map上有非常严重信息损失问题,由此引入了Linear Bottlenecks和Inverted Residual。
MobileNet V3
SE模块注意力机制:对于特征图的每一个channel进行池化处理,有多少个channel,得到的一维向量就有多少个元素。通过全连接层得到输出向量。对于特征输出每一个channel赋予权重中,觉得比较重要的channel就赋给更大的权重。