Coreset-Based Neural Network Compression简记

本文介绍了基于Coreset的卷积神经网络压缩算法,主要包含k-Means、Structured Sparse和Activation-weighted三种方案。通过低秩分解和激活函数的重要性权重,实现网络的高效压缩。实验表明,这种方法能在保持精度的同时显著减少模型参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
gradient-based neural dag learning(梯度优化的神经有向无环图学习)是一种用于构建和训练神经网络结构的方法。它通过学习网络的拓扑结构,即神经网络的连接方式和层次结构,来优化网络性能。 传统的神经网络结构通常是由人工设计的,而在gradient-based neural dag learning中,网络的结构可以通过梯度下降算法进行优化。该方法的核心思想是在训练过程中不仅学习网络的权重参数,还学习网络的拓扑结构。 在gradient-based neural dag learning中,网络的结构可以表示为有向无环图(DAG),图中的节点表示网络中的层或操作,边表示连接。我们可以用一组变量来表示每个节点的状态和连接关系,通过优化这些变量,实现网络结构的优化。 具体地,gradient-based neural dag learning通过计算网络中每个操作或层对目标函数的梯度来优化变量。在梯度下降的过程中,网络的结构随着反向传播算法的迭代而逐渐优化。这种方法可以使得网络自动完成结构的搜索和选择,提高了网络的表达能力和性能。 由于gradient-based neural dag learning可以自动进行网络结构的学习和优化,它可以减轻人工设计网络结构的负担,并且在处理复杂任务时能够获得更好的性能。然而,由于网络结构的搜索空间非常大,优化过程可能会很复杂,需要大量的计算资源和时间。 总之,gradient-based neural dag learning是一种通过梯度下降优化网络结构的方法,能够自动学习和优化神经网络的拓扑结构,提高网络性能。这种方法在深度学习领域有着广泛的应用潜力,并且为网络的设计和训练带来了新的思路和方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

椰子奶糖

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

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

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

打赏作者

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

抵扣说明:

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

余额充值