Coreset-Based Neural Network Compression简记

Coreset-Based Neural Network Compression简记

参考
简记
  • 一种新的基于滤波器coreset表示的卷积神经网络(CNN)压缩算法。

  • 主题思路是低秩分解

三种方案
  • 一共三种k-Means、Structured Sparse、Activation-weighted
k-Means Corests
  • 利用k-Means聚类思想,然后这个问题等价于找滤波器矩阵的低秩逼近,典型的就是奇异值分解SVD
  • 于是问题就变成了
    • image-20220504161813194
Structured Sparse Corests
  • 想要每一个非0的权重都很重要,那么就需要有稀疏化的措施,作者就是在原来的优化问题上加了L1正则,即
    • image-20220504162117113
    • λ 控 制 稀 疏 力 度 \lambda控制稀疏力度 λ
Activation-weighted Corests
  • 但是上述方法没有考虑当前filter的重要程度(在某一层layer?),因此作者引入的激活函数出来的feature的F范数作为某个filter的重要程度,即

    • image-20220504162338151
    • 然后 i k ( f ) i_k^{(f)} ik(f)是当前层归一化后的结果
  • 然后问题就变成了加权低秩分解的一个优化问题:

    • image-20220504162521648
压缩流程
  • 主要分两步:activation-based pruning + coreset-based compression,作者在fig1中形象地描述了过程
    • image-20220504162642501
activation-based pruning
  • 流程如下
    • 1、计算layer的参数大小,并降序排序
    • 2、对于每层layer执行:
      • a、对每个训练集的输入计算激活函数输出A,存储最大值(对每个filter)
      • b、根据上面的A排序
      • c、找到最小的 N k ∗ N_k^* Nk,使得剪枝后的新能偏差<0.5%,方法是二分查找
coreset-based compression
  • 流程如下:
    • 1、根据所使用的coreset公式计算完全分解。
    • 2、找到最小filters, N ^ k \hat N_k N^k,然后压缩网络,并保持性能偏差在0.5%,方法是二分查找
实验结果
  • 实验结果看看就行,基本就是列了AlexNet/VGG剪枝前后的ACC/参数量的变化,来说明该方法的效果。具体的等看了代码再看看
  • image-20220504163732812
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰子奶糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值