zoukankan      html  css  js  c++  java
  • 模型轻量化

    1. 轻量化网络

    参考: https://zhuanlan.zhihu.com/p/35405071

    Mobilenet v1核心是把卷积拆分为Depthwise+Pointwise两部分。

    图5

    为了解释Mobilenet,假设有 [公式] 的输入,同时有 [公式] 个 [公式] 的卷积。如果设置 [公式] 且 [公式] ,那么普通卷积输出为 [公式] ,如图6。

    图6 普通3x3卷积,k=2

    Depthwise是指将 [公式] 的输入分为 [公式] 组,然后每一组做 [公式]卷积,如图7。这样相当于收集了每个Channel的空间特征,即Depthwise特征。

    图7 depthwise卷积,g=k=3

    Pointwise是指对 [公式] 的输入做 [公式] 个普通的 [公式] 卷积,如图8。这样相当于收集了每个点的特征,即Pointwise特征。Depthwise+Pointwise最终输出也是 [公式] 。

    图8 pointwise卷积,k=2

    这样就把一个普通卷积拆分成了Depthwise+Pointwise两部分。其实Mobilenet v1就是做了如下转换,如图9:

    • 普通卷积:3x3 Conv+BN+ReLU
    • Mobilenet卷积:3x3 Depthwise Conv+BN+ReLU 和 1x1 Pointwise Conv+BN+ReLU

    图9

    那这样做有什么好处?对比一下不同卷积的乘法次数:

    • 图6 普通卷积计算量为: [公式]
    • 图7 Depthwise计算量为: [公式]
    • 图8 Pointwise计算量为: [公式]

    通过Depthwise+Pointwise的拆分,相当于将普通卷积的计算量压缩为:

    [公式]

  • 相关阅读:
    软工个人项目
    软工第一次个人博客作业
    软工第一次热身作业
    OO第四单元作业总结
    OO第三单元作业总结
    2019-oo-第二次总结
    提问回顾与个人总结
    Github Actions 实践
    北航软工结对项目
    北航个人博客作业-软件案例分析
  • 原文地址:https://www.cnblogs.com/haiyang21/p/11958805.html
Copyright © 2011-2022 走看看