zoukankan      html  css  js  c++  java
  • 模型压缩(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网络的理解

  • 相关阅读:
    js运算符逻辑!和instanceof的优先级
    一道关于数组的前端面试题
    关于变量提升
    关于offsetParent
    获取地址栏的参数列表,并转化为对象
    关于类型转换
    bootstrap-4
    bootstrap-3
    bootStrap-2
    bootStrap-1
  • 原文地址:https://www.cnblogs.com/fighting-lady/p/8903729.html
Copyright © 2011-2022 走看看