卷积神经网络通道剪枝算法小结

article/2025/9/28 23:26:10

一、剪枝分类

        目前常见的模型剪枝算法主要分成两类,即非结构化剪枝与结构化剪枝;在不少的神经网络加速器中已经应用了这些剪枝算法,早期常见的是非结构化剪枝,例如MIT的韩松组的前几年的相关工作中就有此类应用,但是在设计中采用的特殊数据格式和额外的编码/解码会带来额外的硬件开销;

        这在基于传统系统架构的情况下,利用非结构化剪枝或者可以为NN模型的计算起到加速的作用,但是在存内计算架构下,基于ReRAM或SRAM这类紧耦合的电路结构中将很难去利用网络中存在的稀疏特征;

        为此,近年来关于剪枝的算法工作,越来越聚焦于各种结构化剪枝的方法,从剪枝尺度的角度来分的话,结构化剪枝主要包括:filter-wise、channel-wise、shape-wise以及block-wise pruning这四种;鉴于工作需要,后面主要介绍在硬件加速器中常见的通道剪枝算法。

二、通道(channel-wise)剪枝与卷积核(filter-wise)剪枝的区别

        其实从网络模型最终的呈现形式来看,通道剪枝与卷积核剪枝的效果是一样的,具体可以结合下面这张图来看:

         如果是通道剪枝的话,可以认为先剪掉输入B中的C个通道,而这会直接导致该层的所有卷积核也需要剪掉相应的通道,这样进行卷积的时候才能进行相应的匹配;这是通道剪枝对该层的影响,他还会对该层的上一层产生影响,我们知道,卷积的时候,每一组卷积核对应这一层的一个输出通道,也就是下一层的输入通道,此时B中减少了C个通道,自然就需要上一层中也需要剪掉相应的卷积核,即上图中虚线对应的卷积核。

        如果是卷积核剪枝的话,就更容易理解了,上图从左往右,先剪掉左边的两个虚线内的卷积核,这会直接导致该层的输出通道数减少,也即呈现出B中的效果,输入B的通道数减少了,那自然也会导致其层内的卷积核中的通道数减少。

        所以从上述角度来分析的话,通道剪枝与卷积核剪枝确实相似,不过也可以很明显看到,两种卷积方法的剪枝依据或者说出发点是不一样的;一般认为通道剪枝的结果,可能效果会更好一些。

        故本文后续部分主要介绍的也是通道剪枝。

三、常见的通道剪枝算法

        首先需要声明为什么只提到以下的几篇文章,主要是因为笔者在遍览近几年的通道剪枝方面的文章后发现,这些文章的方法并没有太大的改动,很多方法都是基于这几篇文章的内容进行一些修改或变型,此为其一;其二是因为在我所看到的硬件实现图像分类或者目标检测任务加速的相关文章中,其中对模型压缩处理的最常见的几种方法不外乎就是这几种;鉴于此,有如下推荐的可读文章。

        第一篇:Learning Structured Sparsity in Deep Neural Networks

        引用次数超1500,算是非常经典的一篇通道卷积文章了(其实应该归属于结构化剪枝,因为该文中提出了基于好几个wise的剪枝方案);

        

        上图中即这篇文章中提出的集中wise剪枝方案的示意图,文章具体内容就不一一阐述了(后续文章类似);其最主要的贡献即在于其提出的group lasso正则化方法,后面有很多工作都是在此方法基础上展开的。

        第二篇:Channel Pruning for Accelerating Very Deep Neural Networks
        此处就不放图了,文章中的一张经典图就是本文中的第一张插图;主要贡献在于其他出的通道剪枝方法是一种inference-time方法,不需要从头开始训练,在节省大量时间的情况下,还能做到很好的模型压缩效果;

        第三篇:Learning Efficient Convolutional Networks through Network Slimming

         这篇文章的这张图非常经典,如果有看过一些中文的关于加速器的大论文的话,其中最常用的通道剪枝算法就是本文中提出的这一种;即通过训练BN层中的γ参数,来作为每一层的稀疏因子,在训练完之后,对所有通道的该系数进行排序,然后通过预先设置的剪枝比例,确定γ系数的阈值,再将阈值以下的对应通道剪掉即可;其中细节,还是要自己去读文章;我想这篇文中的方法之所以应用广泛,可能还是因为方法剪枝,且容易实施吧!在GitHub上可以看到不少将此剪枝方法应用在目标检测等模型上的案例,由此可见其实际应用价值。


http://chatgpt.dhexx.cn/article/L49Z5oH6.shtml

相关文章

最大最小法及α-β剪枝算法图解

(网上讲的都不是很好理解,贡献一下之前听慕课做的笔记,适合初学者比较简洁明了。) 要想理解α-β剪枝算法,必须从最大最小法的博弈问题讲起!注意不懂的同学不要跳过这一节。 最大最小法 场景:…

剪枝算法实现一字棋-C++

博弈树 alpha & beta剪枝算法实现一字棋 剪枝算法首先就是要理解,把这个算法彻底弄清楚,我觉得这是一件非常有意义的事情!为后续书写其它棋类的AI打下了坚实的基础 剪枝操作的实现,遍历下一步所有可能取到的点,…

模型压缩:剪枝算法

过参数化主要是指在训练阶段,在数学上需要进行大量的微分求解,去捕抓数据中的微小变化信息,一旦完成迭代式的训练之后,网络模型推理的时候就不需要这么多参数。而剪枝算法正是基于过参数化的理论基础而提出的。 剪枝算法核心思想…

人工智能算法模型--Alpha-Beta剪枝算法学习笔记

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪 (*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &a…

理解Alpha-Beta 剪枝算法

Alpha-beta剪枝是一种搜索算法,用以减少极小化极大算法(Minimax算法)搜索树的节点数。裁剪搜索树中没有意义的不需要搜索的树枝,提高运算速度。 搜索中传递两个值。 第一个值是Alpha,即搜索到的最好值,任何…

组合总和(剪枝算法)

组合总和(剪枝算法) 题目 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取 示例 示例 1:输入: candidates [2,…

Alpha-Beta剪枝算法原理

1. 前言 前文:极小化极大(Minimax)算法原理 极小化极大算法在完全信息零和博弈中,基于己方努力使得在N步后优势最大化(即评估函数输出值最大化)和对方努力使得N步后己方优势最小化这两个出发点&#xff0c…

GRNN广义回归神经网络

广义回归神经网络 GRNN (General Regression Neural Network) 广义回归神经网络是基于径向基函数神经网络的一种改进。 结构分析: 可以看出,这个结构与之前我们所讲过的径向基神经网络非常相似,区别就在于多了一层加和…

m分别使用BP神经网络和GRNN网络进行时间序列预测matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归&#xff…

广义回归神经网络(GRNN)

广义回归神经网络(GRNN) 一、GRNN神经网络概述 二、GRNN神经网络理论基础(如果对理论不感兴趣可直接看GRNN网络结构,网络结构理解更直观) 三、GRNN的网络结构 注意:一定要理解第三个求和层的概念&#xff0…

【GRNN情绪识别】基于GRNN神经网络的情绪识别算法matlab仿真

1.软件版本 matlab2021a 2.本算法理论知识 GRNN,即General Regression Neural Network,中文全称为广义回归神经网络,是由The Lockheed Palo Alto研究实验室在1991年提出的。GRNN是一种新型的基于非线性回归理论的神经网络模型[43,44]。GRN…

m基于C3D-hog-GRNN广义回归神经网络模型的人员异常行为识别算法的matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 实时的人群异常行为识别是一项极具挑战的工作,具有较高的现实意义和社会需求,快速准确地判断出异常行为并及时预警,一直是我们探索的方向。传统的机器学习算法…

基于BP神经网络/GRNN神经网络的电力预测matlab仿真

目录 一、理论基础 二、案例背景 三、MATLAB程序 四、仿真结论分析 一、理论基础 BP神经网络,即Back Propagation神经网络,其本质是一种基于误差反馈传播的神经网络算法。从结构上讲,BP神经网络是由一个信息的正向传播网络和一个误差的反…

RNN CNN GCN

RNN CNN GCN 属于深度学习领域——图像识别 主要用于识别提取图像的特征 CNN:对象是图片,一个二维结构,其主要核心是有一个kernel小窗口,用于图片的平移,然后再利用卷积来提取图片的特征。 RNN:针对一维结构,主要利用…

基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测 -附代码

基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测 文章目录 基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测1.GRNN 神经网络概述2.GRNN 的网络结构3.GRNN的理论基础4.运输系统货运量预测相关背景5.模型建立6.麻雀搜索算法优化GRNN7.实验结果8.参考文献9.Matlab代码 摘要&…

广义回归神经网络(GRNN)的数据预测

广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测效果很好, 网络还可以处理不稳定数…

神经网络(一):GRNN广义回归神经网络理论概念笔记

GRNN广义回归神经网络以及相关概念 https://blog.csdn.net/zengxiantao1994/article/details/72787849 https://blog.csdn.net/guoyunlei/article/details/76101899参考博客 小小白入坑系列,欢迎大佬的指教! 算法网上铺天盖地的,我只是把自己对算法的理…

【GRNN回归预测】基于matlab有限增量进化广义回归神经网络LIEV-GRNN数据回归预测【含Matlab源码 2132期】

⛄一、GRNN模型 GRNN是一种非线性回归的前馈式神经网络。通常是由输入层、模式层、求和层和输出层构成。GRNN算法在运算速度与学习能力上比径向基函数神经网络(radial basis function, RBF)、反向传播神经网络(back propagation, BP)更强,广泛应用于系统辨识、预测…

神经网络学习笔记(二)GRNN广义回归神经网络

广义回归神经网络(GRNN) 广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测…

GRNN神经网络概述

GRNN,General Regression Neural Network,即广义回归神经网络,最早是由美国的Donald F.Specht教授于1991年提出的基于非线性的回归理论的人工神经网络模型[47,48]。GRNN广义回归神经网络具有较好的网络适应能力,从而使得神经网络能…