• 论文阅读 | MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications


    引言

    自从AlexNet通过赢得ImageNet挑战推广了深度卷积神经网络以来,卷积神经网络在计算机视觉中变得无处不在。为了达到更高的精度,总的趋势是制造更深层和更复杂的网络。然而,在某些真实的应用场景如移动或者嵌入式设备,如此大而复杂的模型是难以被应用的。

    本文描述了一种高效的网络体系结构和一组两个超参数,以建立非常小、低延迟的模型,这些模型可以很容易地满足移动和嵌入式视觉应用的设计要求。

    Depthwise separable convolution

    MobileNet的基本单元是深度级可分离卷积(depthwise separable convolution),其可以分解为两个更小的操作:depthwise convolution和pointwise convolution,如图1所示。


    图1 Depthwise separable convolution

    1.标准卷积 Standard Convolution

    假定输入特征图大小是 (D_F imes D_F imes M) ,而输出特征图大小是(D_F imes D_F imes N) ,其中 (D_F)是特征图的width和height,这是假定两者是相同的,而(M)(N)指的是通道数(channels or depth)。这里也假定输入与输出特征图大小(width and height)是一致的。采对于标准的卷积 (D_K imes D_K) ,其计算量将是:

    [D_K imes D_K imes M imes N imes D_F imes D_F ]

    2.深度可分离卷积 Depthwise separable convolution

    对于depthwise convolution其计算量为: (D_K imes D_K imes M imes D_F imes D_F),pointwise convolution计算量是:(M imes N imes D_F imes D_F),所以depthwise separable convolution总计算量是:

    [D_K imes D_K imes M imes D_F imes D_F + M imes N imes D_F imes D_F ]

    3.两者之比

    比较depthwise separable convolution和标准卷积如下:

    [frac{D_K imes D_K imes M imes D_F imes D_F + M imes N imes D_F imes D_F}{D_K imes D_K imes M imes N imes D_F imes D_F}= frac{1}{N}+ frac{1}{D_K^2} ]

    4.小结

    一张输入图片(假设shape为5×5×3):对于标准卷积,经过shape为3×3×3×4的卷积核后,输出4个 Feature Map;对于深度可分离卷积,Depthwise Convolution 的一个卷积核负责一个通道,一个通道只被一个卷积核卷积,经过运算后生成 3 个 Feature Map,再经过 1×1×4 的 Pointwise Convolution,生成4个 Feature Map。深度可分离卷积通过两步运算来减少运算量。

    更加形象的描述请参考:Depthwise卷积与Pointwise卷积

    MobileNet 结构

    MobileNet结构建立在深度可分离卷积上,第一层是完全卷积。MobileNet架构如表1所示。所有层都加入了batchnorm和ReLU(最终的全连接层没有加),并输入到softmax层进行分类。图2将具有规则卷积、批处理范数和ReLU非线性的层与具有深度卷积、1×1点卷积以及每个卷积层后的batchnorm和ReLU的因子分解层进行对比。最终的平均池会在完全连接层之前将空间分辨率降低到1。将深度卷积和点卷积计算为单独的层,MobileNet有28层。


    表1 MobileNet 结构


    图2 Left: Standard convolutional layer with batchnorm and
    ReLU. Right: Depthwise Separable convolutions with Depthwise
    and Pointwise layers followed by batchnorm and ReLU.

    MobileNet瘦身——超参数:Width Multiplier,Resolution Multiplier

    为了构造这些更小且计算成本更低的模型,引入了一个参数α,称为Width Multiplier。α的作用是在每层均匀地细化网络,其取值范围为(0,1],那么输入与输出通道数将变成(alpha M)(alpha N),对于depthwise separable convolution,其计算量变为:

    [D_K imes D_K imes alpha M imes D_F imes D_F + alpha M imes alpha N imes D_F imes D_F ]

    第二个参数resolution multiplier主要是按比例降低特征图的大小,记为( ho),加上resolution multiplier,depthwise separable convolution的计算量为:

    [D_K imes D_K imes alpha M imes ho D_F imes ho D_F + alpha M imes alpha N imes ho D_F imes ho D_F ]

    resolution multiplier仅仅影响计算量,但是不改变参数量.

    参考

    1.《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications》
    2.https://zhuanlan.zhihu.com/p/80041030
    3.https://zhuanlan.zhihu.com/p/31551004
    4.https://zhuanlan.zhihu.com/p/99173115

  • 相关阅读:
    定义模块与增加模块中的测试代码
    20150412自省
    Python中暂未解决的问题
    Node基础_文件系统
    Node基础_Buffer缓冲区
    Node基础_npm简介
    Node基础_模块化简介及详解
    Node基础_node简介
    Nosql_Mongoose简介及操作
    Nosql_MongoDB简单的查询练习
  • 原文地址:https://www.cnblogs.com/anxifeng/p/13443330.html
Copyright © 2020-2023  润新知