图像处理与计算机视觉-UCAS2018-论文分享

30组-MobileNets论文解读和MobileNetV2简介

2018-05-07  本文已影响16人  Joeyeee

引言

深度学习能够很好解决部分计算机视觉相关的问题,但是其需要依靠强大的计算能力作为支撑。深度学习在能耗有限,计算资源有限和存储空间有限的移动端部署困难重重。
在不改变网络结构的前提下,网络稀疏化,量化是加速和压缩深度神经网络模型的重要手段。以AlexNet为例,网络的权重有233M的参数,在ILSVRC-2012上精度top1=62.5% top5=83%,而ResNet-1845M的参数,在同样的数据集上精度top1=69%, top5=89%(非官方)。一方面说明模型参数又很大的冗余,有很多参数都可以稀疏化为0,而且AlexNet要比ResNet更容易稀疏化,这也是很多稀疏化方面的论文都先拿旧的AlexNet开刀而不是新的ResNet的原因,更加令人惊讶的是,即使是具有更优结构的ResNet,在卷积层稀疏度达到70%左右时,仍能够保持原有精度,可见参数冗余程度之大;另一方面,纵向看两个网络,更优结构的网络能够具有更优的表达能力,即便是参数规模减少了很多,仍能够有很大的精度提升。鉴于此,像Google这种擅长造轮子的公司,肯定对此有更深的理解,提出更加高效的MobileNets,也就理所应当了。

V1

概要

1 背景

  1. 速度的需求
    自从AlexNet在ILSVRC 2012中对于ImageNet的分类得了第一,CNN就火了起来,然后网络向更深、更复杂发展(VGG,GoogleNet,Inception,ResNet)。虽然准确度在提高,然而这些网络就speed/size来看,性价比并不一定高。但是像是机器人、自动驾驶、增强现实等任务,常常是要求在计算能力并不强的平台上实时输出。于是MobileNets应运而生。

  2. 前人工作
    针对构建小而高效的神经网络而言,前人的工作主要分为2类:

2 MobileNets 的网络架构

2.1 深度可分解卷积 Depthwise Seperable Convolution
  1. BEFORE —— 标准卷积流程 计算量:
  2. AFTER —— 深度可分解卷积流程 计算量:
  3. 对比: 也就是说,如果用3 * 3的卷积核,计算复杂度缩减了8~9倍
2.2 网络结构
2.3 Width Multiplier α: Thinner Models
2.4 Resolution Multiplier ρ: Reduced Representation

3 实验

3.1 模型选择

上表说明,与全卷积相比,MobileNets在准确度只减少1%的情况下,大大减少了计算量和参数个数


上表说明,在计算量和参数个数差不多的情况下,使MobileNets更薄比使更浅,只优秀3%

3.2 用于缩减模型的超参数

上图说明调节α和ρ两个超参对准确度产生的影响


上表对各种网络做了对比

3.3 Fine Grained Recognition 细粒度识别

在Stanford Dogs上,MobileNets在极大减少计算量和参数个数的情况下,准确度几乎能达到现有最高水平

3.4 Large Scale Geolocalization 大规模地理定位
3.5 Face Attributes 人脸属性分类
3.6 Object Detection 目标检测
3.7 Face Embeddings 人脸嵌入

MobileNetV2

MobileNetV1网络是一条路的单通道结构,没有feature map的复用。ResNetDenseNet等网络的提出,也验证了feature map复用对提升网络性能的有效性,MobileNetV2便应运而生。MobileNetV2提出使用 inverted residual with linear bottleneck,有很大residual block的影子在里面,又不得不再次膜拜何凯明大神。接下来便介绍一下MobileNetV2Linear BottlenecksInverted residuals这两个核心创新点。

Linear Bottlenecks

假设某层的输出的feature map大小为HxWxD,经过激活层后称之为manifold of interest,可以理解为感兴趣流形或有用的信息,大小仍为HxWxD,经验证明manifold of interest完全可以压缩到低维子空间,在V1版本中便可以通过width multiplier parameter来降低激活空间的维数使得manifold of interest充满整个空间。问题就来了,在使用ReLU函数进行激活时,负数直接变为0,这样就会导致失去较多有用的信息(这在manifold of interest占激活空间较小时不是一个问题)。
总结一下,有以下两点:

因此,论文中使用了linear bottleneck来解决由于非线性激活函数造成的信息损失问题。linear bottleneck本质上是不带ReLU的1x1的卷积层。

Inverted residuals

The difference between residual block and inverted residua
考虑到manifold of interest在低维子空间,所以对应的botteneck便是更加需要关注的点。在Inverted residual 结构中,bottleneck放在了首尾,中间则通过expand来扩展了channel
具体的Inverted residual的结构参见下图,input首先经过expand layerchannel扩展为原来的6倍,然后再经过depthwise convolution layerlinear layer,恢复为原来的大小。在depthwise convolution layer首先将channel扩展,增加了冗余,以便后边的Depthwise Separable Convolutions能够选择到包含manifold of interestchannel
MobileNetV2
An inverted residual block in MobileNetV2

实验部分与V1版本类似,分别在classification、object detection和segmentation三个方向做了比较,取得了更好的效果。以分类为例MobileNetV2对比在性能上的提升。


image.png

Reference

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNetV2: Inverted Residuals and Linear Bottlenecks
mobilenet网络的理解
深度解读谷歌MobileNet
MobileNet论文阅读笔记
CNN网络优化学习总结——从MobileNet到ShuffleNet
轻量化网络:MobileNet-V2
MobileNet V2 论文笔记
MobileNet v2 算法笔记
残差resnet网络原理详解
深度学习方法:卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,ResNet
Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
Lenet、Alexnet 、VGG、 GoogleNet、ResNet模型

上一篇 下一篇

猜你喜欢

热点阅读