AI亿览通入口
400-700-8700

近年来,计算机视觉技术在人脸识别、物体检测、自动驾驶等诸多场景落地应用,这背后的重要推手便是卷积神经网络不断发展。

 

自从2012年AlexNet(网络)在ImageNet挑战赛上以横扫姿态获胜以来,卷积神经网络已经成为计算机视觉领域不可替代的基础网络架构,在多种计算机视觉任务中发挥着重要的作用。

 

随着卷积神经网络的发展和演化,设计更深和更复杂的网络架构来获取更高的准确率成为学术届和产业界努力的目标,也孕育出了VGG、ResNet等一系列优秀的深度卷积神经网络模型。

 

这些模型在获取更高准确率的同时也不可避免的造成了模型计算和参数存储的负担。而在很多实际业务应用场景中,常常需要在计算存储资源有限甚至在移动端侧完成实时的低延迟检测分类任务,如何合理选择和设计轻量模型实现快速高效的分类检测,成为需要考虑的重要因素。

 

在近几年出现出的轻量级模型中,Google公司提出的MobileNet系列模型,经过了一系列的迭代,展现了state of art的精度和速度,提供了准确且低延迟的模型,在面对需高速响应的批量预测需求时,精度高速度快,可谓“短小精悍,行之有效”。

 

本文作者为品览算法科学家潘玉霖,解读MobileNet 模型的优势在物识别中的应用。

 

 

1、轻量级网络主要技术

 
建立小规模高效神经网络,通常可通过压缩预训练模型或直接训练小型网络达成目标。

 

模型剪枝(network pruning)通过对预训练网络进行参数剪枝(weights pruning)或神经元剪枝(neuron pruning)的方式降低模型的规模,然后在目标训练集上进行参数的再训练(fine-tune)获取更高的准确率。

 

知识蒸馏(knowledge Distillation)使用训练好的大型网络作为teacher network,设计小规模网络为student network,以teacher network的训练结果输出信息为student network需要学习的目标,训练小型网络。

 

参数量化(parameter quantification)通过牺牲参数精度的方式减少每个模型参数存储所需要的存储空间,使用低存储类型甚至是二值化的数据做参数,或是对参数进行聚类,以聚类中心值作为参数值,减小参数的数量和规模。

 

而MobileNet则采用了优化模型结构的方式,直接减小参数量和计算量,经过实验验证和实践检验,可以在保证模型精度的同时实现模型规模的降低和计算量的减少。

 

 

2、MobileNet主要架构

 

2.1 深度可分离卷积

 

MobileNet系列模型最重要的贡献便是采用了深度可分离卷积层(depthwise separable convolution)。

 

通常标准的卷积神经网络中,卷积层被用于图像特征的提取,使用与输入特征图通道数M一致的N个卷积核,在输入特征图上进行滑动计算,得到N张输出特征图。

 

而深度可分离卷积是将普通卷积拆分成为一个深度卷积( depthwise convolution)和一个逐点卷积(pointwise convolution)。在深度卷积中,先使用M个单通道卷积核,在不改变特征图像深度的情况下,对输入特征图的每一个通道进行卷积操作,得到的是和输入特征图通道数一致的M个特征图。然后进行逐点卷积,即使用N个1x1大小的M通道卷积核,对深度卷积输出结果进行卷积计算,将深度卷积得到的特征图连接起来,同样得到N张输出特征图,从而完整个深度可分离卷积操作。

 

图1 深度可分离卷积

 

图1a中的标准卷积被两个分开的的操作代替:图1b中的深度卷积(depthwise convolution)和图1c中逐点卷积(pointwise convolution),从而实现了深度可分离卷积。

 

图2 标准卷积层和MobileNet v1深度可分离卷积层

 

图2左侧为带有Batch Normalization和ReLu的标准卷积层模块,右侧为带有batch normalization和ReLu的深度可分离卷积模块(depthwise separable convolution)。

 

通过对比标准卷积和深度可分离卷积的计算量可知,参数数量和卷积计算量均可降为1/N+1/Dk2倍,实践中MobileNet 使用3x3的深度可分离卷积核,可在几乎不损失精度的情况下减少8到9倍的计算数量:

 

 

2.2 Linear Bottleneck and Inverted residuals

 

2018年,MobileNet 又实现了进一步的迭代,引入了Linear Bottleneck和Inverted residuals block,Linear Bottleneck在深度可分离卷积之前增加了一层逐点卷积,主要用于升维,这样可以在更高维的空间中进行卷积操作来提取特征,并去掉了第二个逐点卷积的激活函数,使在低维空间运算时减少信息的丢失。而在Inverted residuals block中,MobileNet 借鉴了另一个强大的卷积网络结构ResNet,引入了shortcut 将输出与输入相加,既提升了梯度在层与层之间的传播能力,同时也是一种减少存储量的方式。

 

Mobilenet v2的卷积模块

 
 

3、MobileNet性能

 
 

Mobilenet v1与其他模型在ImageNet上表现对比

 

Mobilenet v2与其他模型在ImageNet上表现对比

 

Mobilenet v2 与其他模型前向预测时间对比

 

对比不同模型在ImageNet数据集上表现可知,相较于VGG16,MobileNet v1可在减少32倍模型参数和27倍计算量的同时达到几乎一样的准确度,而对比GoogleNet,参数和计算量减少了2.5倍,同时达到了更高的精度。MobileNet v2则进一步提升了模型的性能,准确率、速度和参数量均得到了优化。
 
 

4、MobileNet应用

 

在数量庞大而分类特征不过于复杂的场景下,MobileNet可以发挥其高精度低延迟的优点,高效准确完成大量图像分类任务。

 

同时,由于MobileNet优越的性能和精度表现,以其做backbone的模型在物体检测和语义分割等计算机视觉任务上也得到了广泛的应用。将以MobileNet为基础的分类检测模型部署于资源有限的设备或移动端设备上,大大方便了各种场景下的信息采集分类和数据的连接。

 

随着轻量化模型应用场景的不断增加,陆续涌现出其他轻量级卷积神经网络模型。在最新的计算机视觉顶会CVPR 2020,来自华为研究设计的轻量级模型GhostNet-基于一组原始的特征图,应用一系列线性变换,以很小的代价生成许多能从原始特征发掘所需信息的“幻影”特征图,从而减少神经网络的计算消耗。

 

“天下武功,为快不破”,种种突破和创新也将不断的在生产场景中接受检测,优中选优,从而更好的服务于物品识别商业服务领域。

 
参考文献:
Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural net- works for mobile vision applications.

Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, Liang-Chieh Chen MobileNetV2: Inverted Residuals and Linear Bottlenecks. 

 

 

 
 
 
 
 

【品览AI论技】轻量级模型 MobileNet 在物品识别中的应用

2020-03-18