移动端深度学习王者:MobileNet_v3小身材大智慧
2023-12-17 05:08:20
MobileNet系列之MobileNet_v3
MobileNet系列之MobileNet_v3
继MobileNet_v1和v2提出后,在2019年谷歌又推出了MobileNet_v3,进一步提升了MobileNet系列的性能。MobileNet_v3在保持轻量级特性的同时,准确率也有了显著提升。
一、网络结构
MobileNet_v3的网络结构与MobileNet_v2相似,都采用了深度可分离卷积(Depthwise Separable Convolution)和反向残差结构(Inverted Residual Block)来减少计算量。
1. 深度可分离卷积
深度可分离卷积是MobileNet系列的核心技术之一。它将标准卷积分解为两个步骤:深度卷积和逐点卷积。深度卷积只应用于输入特征图的每个通道,而逐点卷积则应用于每个像素的每个通道。这种分解可以大大减少计算量,而又不损失准确率。
2. 反向残差结构
反向残差结构是MobileNet_v3的另一个重要组成部分。它与传统的残差结构类似,但顺序相反。在反向残差结构中,首先进行逐点卷积,然后进行深度卷积,最后再进行逐点卷积。这种结构可以进一步减少计算量,同时保持较高的准确率。
二、优化技巧
除了网络结构上的优化,MobileNet_v3还采用了多种优化技巧来进一步提升性能。
1. Squeeze-and-Excitation (SE) 模块
SE模块可以增强网络对特征图中重要信息的关注。它通过对特征图进行全局平均池化,然后使用两个全连接层来生成权重,这些权重随后被用于加权特征图。SE模块可以帮助网络学习到更具判别性的特征。
2. HardSwish 激活函数
HardSwish激活函数是MobileNet_v3中使用的另一种优化技巧。它是一种分段线性激活函数,可以近似模拟Swish激活函数。HardSwish激活函数比Swish激活函数更简单,计算量也更小。
三、性能
MobileNet_v3在ImageNet数据集上取得了出色的性能。在使用224×224输入图像时,MobileNet_v3的准确率达到了75.2%,而计算量仅为1.4亿次浮点运算(FLOPs)。相比之下,VGG16的准确率为71.5%,但计算量却高达15.5亿次FLOPs。
结语
MobileNet_v3是一款轻量级、高准确率的移动端深度学习模型。它采用了深度可分离卷积、反向残差结构和多种优化技巧来减少计算量,而又不损失准确率。MobileNet_v3在ImageNet数据集上取得了出色的性能,非常适合在移动端设备上部署。