zoukankan      html  css  js  c++  java
  • 【PENNI】2020-ICML-PENNI: Pruned Kernel Sharing for Efficient CNN Inference-论文阅读

    PENNI

    2020-ICML-PENNI: Pruned Kernel Sharing for Efficient CNN Inference

    来源:ChenBong 博客园


    Introduction

    kernel granularity decomposition

    weight sparsity ==> channel sparsity

    Method

    Notion

    layer (l) weight: (θ^{(l)})

    Network weight: (Theta={θ^{(l)}})

    layer l input feature map: (I^{l-1})

    layer l output feature map: (S^{l})

    (S_{i}^{(l)}=sigma^{(l)}left(left(sum_{j=1}^{c_{l-1}} I_{j}^{(l-1)} * heta_{i, j}^{(l)} ight)+b_{j}^{(l)} ight))

    Decomposition

    (θ^{(l)}∈R^{c_l×c_{l+1}×k×k})

    reshape: (θ'^{(l)}∈R^{c_lc_{l+1}×k^2})

    each kernel (w) can be seen as its row vertor: (w∈R^{k^2})

    (R^{k^2}) 的一个子空间 (R^{d}, d<d^2)

    (θ'^{(l)}∈R^{c_lc_{l+1}×k^2}) 近似为矩阵 (B∈R^{k^2×d})

    分解过程的目标是最小化 近似矩阵B 与原始 权重矩阵的误差:

    (min _{alpha_{w} in mathbb{R}^{d}} sum_{w in heta^{prime}}left|w-alpha_{w} mathbf{B}^{T} ight|^{2})

    其中 (α_ω) 为投影向量

    Retraining

    虽然近似矩阵已经尽量逼近原始 权重矩阵 θ,但依然会有很大的精度损失,

    重训练过程,θ 替换为 (αB^T)

    (S_{i}^{(l)}=sigma^{(l)}left(left(sum_{j=1}^{c_{l-1}} I_{j}^{(l-1)} *left(alpha_{i, j}^{(l)} mathbf{B}^{(l) T} ight)+b_{j}^{(l)} ight) ight.)

    损失函数:

    (mathcal{L}^{prime}=mathcal{L}(Theta, X, Y)+gamma sum_{l} sum_{i}^{c_{l} c_{l+1}}left|alpha_{i}^{(l)} ight|_{1})

    第一项是原始loss, 第二项作用是使得投影向量稀疏化

    如果联合训练B和α,则α会在原来的B上进行更新,这会导致模型难以收敛。为此,作者采取了交替训练的方式:冻结α,训练B;然后冻结B训练α。

    Model Shrinking/Pruning

    经过上一步的 Retraining,会使得重构权重稀疏化,

    将重构权重矩阵 reshape 为 (c_{l} imes c_{l+1} imes k^{2})

    对重构矩阵 保持 (c_{in}) 维度的基础上 sum,得到一维向量 (p_i) ,其中低于阈值的输入通道置零

    对重构矩阵 保持 (c_{out}) 维度的基础上 sum,得到一维向量 (p_o) ,其中低于阈值的输出通道置零

    输入/输出通道不对齐,取交集:

    image-20201020201929342

    完成 filter 剪枝

    Experiments

    CIFAR-10

    D-只分解

    P-分解+剪枝

    image-20201020202127046

    ImageNet

    image-20201020202150921

    image-20201020202210026

    Visualization

    image-20201020202235592

    image-20201020202304643

    image-20201020202516355

    Conclusion

    Summary

    权重稀疏 到 结构化稀疏 的转化

    To Read

    Reference

    https://techbeat.net/talk-info?id=389

  • 相关阅读:
    将excel单元格中的内容,批量转化成批注
    装饰器的入门到精通
    自定义dict
    python2.7 + PyQt4安装
    一些好用的python模块
    人工智能-自然语言处理
    websocket-单群聊
    UA池和代理池
    scrapy框架持久化存储
    SQL Server 2012 酸爽的安装体验
  • 原文地址:https://www.cnblogs.com/chenbong/p/13861264.html
Copyright © 2011-2022 走看看