• 模型压缩(1)


    MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

       

    论文地址: Arxiv Paper

    Github: Tensorflow, Caffe

    Related work

    构建小的、高效网络的两种方法

    • 压缩训练好的模型 shrinking / factorizing / compressing
    • 直接训练小模型 Flattened networks / Xception / Squeezenet

    深度可分离卷积 Depthwise Separable Convolution 

    图(a)中的标准卷积 = 图(b) depthwise conv + 图(c) 1x1 pointwise conv

    • 标准卷积的computation cost:

      cost1 = ic * kh * kw * oc * oh * ow (每个输出的像素点要做ic*kh*kw次乘法)

    • 优化后卷积的computation cost:

               cost2 = kh * kw * oc * oh * ow + ic * oc * oh * ow (每个输出的像素点要做kh*kw次乘法)

    • cost2 / cost1 = 1/ic + 1/ (kh * kw) 计算量减少 8 ~9倍 

                 MobileNet 对大多数移动终端的CPU指令加速硬件非常友善。

        SIMD (single instruction multiple data, 单指令多数据流),能够复制多个操作数,并把它们打包在大型寄存器的一组指令集

       

    Network structure and training

    • 将原来左边的op组合改为右边的结构

    • 网络有28层

    • 其中conv1x1的占总参数的75%,占总计算时间的 95%

    超参数

    • Width multiplier: thinner models

      改变ic和oc,减少特征图数量,让网络变瘦

      kh * kw * alpha * oc * oh * ow + alpha * ic * alpha * oc * oh * ow

    • Resolution multiplier: reduced representation

      改变输出图像的分辨率

      kh * kw * alpha * oc * beta * oh * beta * ow + alpha * ic * alpha * oc * beta * oh * beta * ow

    Reference

    MobileNet网络的理解

  • 相关阅读:
    UIView与CALayer的区别,很详细
    iOS开发之启动动画(动态欢迎界面,非静态Default)
    js前端验证时间大小
    C#联通新版验证码识别的实现
    C#打印100以内质数
    SQL竖表转横表 / 横表转竖表
    不用中间变量交换两个变量的值
    单例模式
    C#递归遍历指定目录下文件和文件夹
    冒泡排序
  • 原文地址:https://www.cnblogs.com/fighting-lady/p/8903729.html
Copyright © 2020-2023  润新知