CN113962388A - 一种硬件加速感知的神经网络通道剪枝方法 - Google Patents
一种硬件加速感知的神经网络通道剪枝方法 Download PDFInfo
- Publication number
- CN113962388A CN113962388A CN202111400462.9A CN202111400462A CN113962388A CN 113962388 A CN113962388 A CN 113962388A CN 202111400462 A CN202111400462 A CN 202111400462A CN 113962388 A CN113962388 A CN 113962388A
- Authority
- CN
- China
- Prior art keywords
- network
- hardware
- target
- training
- performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种硬件加速感知的神经网络通道剪枝方法,它包括:步骤1、针对部署的目标硬件进行性能分析,遍历神经网络的结构以及结构配置,生成性能指标,作为成对的数据集;步骤2、设计硬件性能预测网络,利用数据集进行网络训练,形成优化的参数并保存训练完成的预测网络;步骤3、对目标网络的所有通道后添加门控单元;步骤4、结合目标网络和的预测网络,构建训练目标函数;通过该目标函数训练完成后的网络,即为最终的网络模型;在确保精度不损失的前提下,尽量减少网络的参数量和计算量,降低在实际硬件中的推理时间。
Description
技术领域
本发明涉及嵌入式的数据智能处理以及人工智能技术领域;尤其涉及一种硬件加速感知的神经网络通道剪枝方法。
背景技术
近年来,深度学习被广泛应用于图像和语音等数据处理领域中,其相较于传统算法的卓越性能使人工智能这个概念得到热切的关注,因此神经网络也逐渐被应用于数字电网领域,包括通过图像、语音等识别技术对电网灾害风险进行更准确的评估,利用数据的智能分析辅助输、配电各个环节的精准分析、判断和优化。然而神经网络优越的性能往往伴随着巨大的参数量和计算量,要求较大的存储空间、数据带宽和较长的推理时间,因而深度神经网络难以直接部署于资源受限的电力嵌入式终端中。
神经网络压缩是解决上述问题的一种主要方法,其中剪枝是压缩神经网络的一种有效手段,其通过删除不重要的权重来减少网络参数和计算量,而在剪枝中以通道为单位进行的通道剪枝直接移除整个冗余通道,因而不改变网络的基础结构,也不需要额外的软件库和硬件资源支持额外的操作和结构,是目前最为简单和有效的方法。
目前的剪枝方法均以浮点计算量为压缩目标,如专利CN110619385A以浮点预算量为目标,专利CN109886397A以尽量保持网络性能为目标,缺少具体的压缩目标参数,专利CN111582446A通过测试压缩模型的实际运行速度来决定压缩率,需要较长的迭代周期。然而由于硬件中并行计算的特点,通道的减少无法有效转化为时间加速,导致浮点计算量的减少并不能直接转化为实际的推理时间加速比,再加上实际不同硬件中数据访问、传输的时间消耗,往往推理时间的加速比远低于理论的浮点计算量的压缩比。因此如何在剪枝过程中同时考虑目标硬件部署以及其实际加速约束,在尽量保证精度不下降的前提下,研究一种应用于电力边缘智能计算并且硬件加速感知的高效通道剪枝技术是一个亟待解决的问题。
发明内容
本发明要解决的技术问题:提供一种硬件加速感知的神经网络通道剪枝方法,在确保精度不损失的前提下,尽量减少网络的参数量和计算量,降低在实际硬件中的推理时间。
本发明技术方案:
一种硬件加速感知的神经网络通道剪枝方法,它包括:
步骤1、针对部署的目标硬件进行性能分析,遍历神经网络的结构以及结构配置,生成性能指标,作为成对的数据集;
步骤2、设计硬件性能预测网络,利用数据集进行网络训练,形成优化的参数并保存训练完成的预测网络;
步骤3、对目标网络的所有通道后添加门控单元;
步骤4、结合目标网络和的预测网络,构建训练目标函数;通过该目标函数训练完成后的网络,即为最终的网络模型。
步骤1所述性能指标为推理时间和功耗。
步骤3所述门控单元形式为在卷积或批标准化层(BatchNormalization)的输出通道上乘上一个可训练参数,门控单元的定义如下:
式中θ为可训练参数,代表该通道的重要性指标,0.5为阈值。
所述重要性指标代表每个通道的重要程度,值越高代表相应通道越重要,当值低于阈值时,代表该通道不重要,重要性指标值通过网络微调训练中的反向传播进行更新。
步骤4所述训练目标函数为:
min L+λR(θ)
R(θ)=log((f(θ)-T*r)/T+1)
式中:L是原本目标网络的训练损失函数,R(θ)是硬件约束函数,其值为预测网络的输出和预设硬件性能之间的差值,输入是g(θ)构建的网络结构向量,λ是平衡两者的参数。
步骤1所述针对部署的目标硬件进行性能分析,遍历神经网络的结构以及结构配置,生成性能指标,作为成对的数据集的方法为:针对目标部署的硬件生成相应的预测网络数据集,输入为目标网络的单位结构,包括卷积网络中的卷积结构、全连接网络的全连接结构中所有可能的结构参数,结构参数包括输入和输出通道数,卷积核大小,卷积步长大小以及输出特征大小,将连接组合为向量作为输入,输出由目标部署的硬件推理得到,形式包括推理时间和功耗,遍历所有可能结构得到输入输出对的数据集。
步骤2所述预测网络由若干全连接层和非线性激活函数层组合而成,输入向量对应数据集中的输入,训练目标为尽可能使预测网络的输出和数据集中的输出向量尽可能接近,将训练目标函数设置为回归损失函数或均方误差函数,训练最终得到预测网络并保存。
通过该目标函数训练完成后的网络,即为最终的网络模型的方法为:硬件约束函数目标为使预测网络的输出即预测的硬件性能接近预设的硬件性能T*r,其中T为原始的已训练好网络的预测硬件性能,r为预设的目标比例,输入f(θ)是由g(θ)和结构信息构建的网络结构向量,包括输入和输出通道数,卷积核大小,卷积步长大小以及输出特征大小,以通道数为例,表达为该卷积层中所有通道对应的g(θ)之和;输入向量与训练预测网络时的输入向量组合方式相同,λ是平衡两者的参数;通过该目标函数训练完成后的网络,在达到预设硬件性能下保持最佳的网络性能,即为最终的网络模型。
本发明的有益效果:
本发明提出的应用于电力边缘智能计算并且硬件加速感知的高效通道剪枝技术,基于硬件加速感知的神经网络通道剪枝方法,在确保精度不损失的前提下,尽量减少网络的参数量和计算量,降低在实际硬件中的推理时间。
附图说明
图1为本发明流程示意图;
图2为本发明预测网络组成示意图;
图3为本发明门控单元添加示意图。
具体实施方式
本发明发明剪枝方法,其目的是在确保精度不损失的前提下,尽量减少网络的参数量和计算量,降低在实际硬件中的推理时间。为达到上述目的,包括下列操作步骤:
步骤1、针对部署的目标硬件进行性能分析,遍历可能的神经网络的结构以及可能的结构配置,生成相应的性能指标(如推理时间、功耗),作为成对的数据集。
步骤2、设计合理的硬件性能预测网络,并用步骤1中生成的数据集进行网络训练,形成优化的参数,以尽量减小预测值和数据集标签之间的误差,并保存训练完成的预测网络。
步骤3、对目标网络的所有通道后添加门控单元,其形式为在卷积或批标准化层(BatchNormalization)的输出通道上乘上一个可训练参数,门控单元的定义如下:
上式中,θ为可训练参数,代表该通道的重要性指标,0.5为阈值。重要性指标代表每个通道的重要程度,其值越高,代表相应通道越重要,当值低于阈值时,代表该通道不重要可以被移除,该值通过网络微调训练中的反向传播进行更新。
步骤4、结合目标网络和步骤2中得到的预测网络,构建训练目标函数如下:
min L+λR(θ)
R(θ)=log((f(θ)-T*r)/T+1)
其中,L是原本目标网络的训练损失函数,R(θ)是硬件约束函数,其值为预测网络的输出和预设硬件性能之间的差值,输入是g(θ)构建的网络结构向量,λ是平衡两者的参数。通过该目标函数训练完成后的网络,即为最终的网络模型。
根据图1流程图所示,针对目标部署的硬件生成相应的预测网络数据集,输入为目标网络的单位结构(如卷积网络中的卷积结构,全连接网络的全连接结构)中所有可能的结构参数,以卷积结构为例,结构参数包括输入和输出通道数,卷积核大小,卷积步长大小以及输出特征大小等,将其连接组合为向量作为输入,输出由目标部署的硬件推理得到,其形式包括推理时间、功耗等,遍历所有可能结构得到输入输出对的数据集。
其次利用得到的数据集训练一个预测网络,如图2所示该预测网络可由若干全连接层和非线性激活函数层组合而成,其输入向量对应数据集中的输入,训练目标为尽可能使预测网络的输出和数据集中的输出向量尽可能接近,可将训练目标函数设置为回归损失函数或均方误差函数等,训练最终得到预测网络并保存。
接着针对已训练好的压缩目标网络,在所有通道的卷积或批标准层操作后添加门控单元,如图3所示,该门的作用是对于不重要的通道,其输出为0,即删除该通道,对于重要的通道,其输出为1,代表保留该通道。该门控单元须加在所有残差块的通道中,同时为避免剪枝带来的不对齐问题,门控单元不能够加在残差连接以及相应的卷积操作后,即保留所有的残差跳跃连接,其形式如下式所示:
通道的重要性值越高,代表相应通道越重要。该值由微调训练中反向传播进行更新,微调训练的目标函数定义为:
min L+λR(θ)
其中,L是原本目标网络的训练损失函数,R(θ)是硬件约束函数,表达为:
R(θ)=log((f(θ)一T*r)/T+1)
该式的目标为使预测网络的输出即预测的硬件性能(推理时间和功耗等)接近预设的硬件性能T*r,其中T为原始的已训练好网络的预测硬件性能,r为预设的目标比例,输入f(θ)是由g(θ)和结构信息构建的网络结构向量,包括输入和输出通道数,卷积核大小,卷积步长大小以及输出特征大小等,以通道数为例,其表达为该卷积层中所有通道对应的g(θ)之和。输入向量应与训练预测网络时的输入向量组合方式相同,λ是平衡两者的参数。通过该目标函数训练完成后的网络,能够在达到预设硬件性能下保持最佳的网络性能,即为最终的网络模型。
在实现过程中,验证该方法的实验环境为Pytorch,使用的数据集包括CIFAR-10/100数据库和ImageNet数据库,使用的深度神经网络模型包括ResNet-18/20/50/56/110/164和vgg16。
Claims (8)
1.一种硬件加速感知的神经网络通道剪枝方法,它包括:
步骤1、针对部署的目标硬件进行性能分析,遍历神经网络的结构以及结构配置,生成性能指标,作为成对的数据集;
步骤2、设计硬件性能预测网络,利用数据集进行网络训练,形成优化的参数并保存训练完成的预测网络;
步骤3、对目标网络的所有通道后添加门控单元;
步骤4、结合目标网络和的预测网络,构建训练目标函数;通过该目标函数训练完成后的网络,即为最终的网络模型。
2.根据权利要求1所述的一种硬件加速感知的神经网络通道剪枝方法,其特征在于:步骤1所述性能指标为推理时间和功耗。
4.根据权利要求3所述的一种硬件加速感知的神经网络通道剪枝方法,其特征在于:所述重要性指标代表每个通道的重要程度,值越高代表相应通道越重要,当值低于阈值时,代表该通道不重要,重要性指标值通过网络微调训练中的反向传播进行更新。
5.根据权利要求1所述的一种硬件加速感知的神经网络通道剪枝方法,其特征在于:步骤4所述训练目标函数为:
min L+λR(θ)
R(θ)=log((f(θ)-T*r)/T+1)
式中:L是原本目标网络的训练损失函数,R(θ)是硬件约束函数,其值为预测网络的输出和预设硬件性能之间的差值,输入是g(θ)构建的网络结构向量,λ是平衡两者的参数。
6.根据权利要求1所述的一种硬件加速感知的神经网络通道剪枝方法,其特征在于:步骤1所述针对部署的目标硬件进行性能分析,遍历神经网络的结构以及结构配置,生成性能指标,作为成对的数据集的方法为:针对目标部署的硬件生成相应的预测网络数据集,输入为目标网络的单位结构,包括卷积网络中的卷积结构、全连接网络的全连接结构中所有可能的结构参数,结构参数包括输入和输出通道数,卷积核大小,卷积步长大小以及输出特征大小,将连接组合为向量作为输入,输出由目标部署的硬件推理得到,形式包括推理时间和功耗,遍历所有可能结构得到输入输出对的数据集。
7.根据权利要求1所述的一种硬件加速感知的神经网络通道剪枝方法,其特征在于:步骤2所述预测网络由若干全连接层和非线性激活函数层组合而成,输入向量对应数据集中的输入,训练目标为尽可能使预测网络的输出和数据集中的输出向量尽可能接近,将训练目标函数设置为回归损失函数或均方误差函数,训练最终得到预测网络并保存。
8.根据权利要求5所述的一种硬件加速感知的神经网络通道剪枝方法,其特征在于:通过该目标函数训练完成后的网络,即为最终的网络模型的方法为:硬件约束函数目标为使预测网络的输出即预测的硬件性能接近预设的硬件性能T*r,其中T为原始的已训练好网络的预测硬件性能,r为预设的目标比例,输入f(θ)是由g(θ)和结构信息构建的网络结构向量,包括输入和输出通道数,卷积核大小,卷积步长大小以及输出特征大小,以通道数为例,表达为该卷积层中所有通道对应的g(θ)之和;输入向量与训练预测网络时的输入向量组合方式相同,λ是平衡两者的参数;通过该目标函数训练完成后的网络,在达到预设硬件性能下保持最佳的网络性能,即为最终的网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111400462.9A CN113962388A (zh) | 2021-11-24 | 2021-11-24 | 一种硬件加速感知的神经网络通道剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111400462.9A CN113962388A (zh) | 2021-11-24 | 2021-11-24 | 一种硬件加速感知的神经网络通道剪枝方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113962388A true CN113962388A (zh) | 2022-01-21 |
Family
ID=79471714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111400462.9A Pending CN113962388A (zh) | 2021-11-24 | 2021-11-24 | 一种硬件加速感知的神经网络通道剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113962388A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484157A (zh) * | 2022-09-14 | 2022-12-16 | 浙江大学 | 一种基于可编程交换机的sketch通用配置方法 |
CN116306888A (zh) * | 2023-05-16 | 2023-06-23 | 北京爱芯科技有限公司 | 神经网络剪枝方法、装置、设备及存储介质 |
-
2021
- 2021-11-24 CN CN202111400462.9A patent/CN113962388A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484157A (zh) * | 2022-09-14 | 2022-12-16 | 浙江大学 | 一种基于可编程交换机的sketch通用配置方法 |
CN115484157B (zh) * | 2022-09-14 | 2023-06-02 | 浙江大学 | 一种基于可编程交换机的sketch通用配置方法 |
CN116306888A (zh) * | 2023-05-16 | 2023-06-23 | 北京爱芯科技有限公司 | 神经网络剪枝方法、装置、设备及存储介质 |
CN116306888B (zh) * | 2023-05-16 | 2023-08-11 | 北京爱芯科技有限公司 | 神经网络剪枝方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109102126B (zh) | 一种基于深度迁移学习的理论线损率预测模型 | |
CN111242282B (zh) | 基于端边云协同的深度学习模型训练加速方法 | |
CN113962388A (zh) | 一种硬件加速感知的神经网络通道剪枝方法 | |
CN109978253B (zh) | 一种基于增量学习的电力系统短期负荷预测方法 | |
CN111898316A (zh) | 一种超表面结构设计模型的构建方法及其应用 | |
Ding et al. | Slimyolov4: lightweight object detector based on yolov4 | |
CN114169251A (zh) | 一种超短期风电功率预测方法 | |
CN114897160A (zh) | 模型训练方法、系统及计算机存储介质 | |
CN115906303A (zh) | 一种基于机器学习的平面微波滤波器设计方法及装置 | |
CN113722980A (zh) | 海洋浪高预测方法、系统、计算机设备、存储介质、终端 | |
CN114154626B (zh) | 一种用于图像分类任务的滤波器剪枝方法 | |
Qi et al. | Learning low resource consumption cnn through pruning and quantization | |
CN113780542A (zh) | 一种面向fpga的多目标网络结构的构建方法 | |
Rui et al. | Smart network maintenance in an edge cloud computing environment: An adaptive model compression algorithm based on model pruning and model clustering | |
CN117151178A (zh) | 一种面向fpga的cnn定制网络量化加速方法 | |
CN115438588B (zh) | 一种锂电池的温度预测方法、系统、设备及存储介质 | |
Duggal et al. | High performance squeezenext for cifar-10 | |
CN115222059A (zh) | 基于高层信息监督的自蒸馏模型压缩算法 | |
CN115238775A (zh) | 模型构建方法 | |
CN114462592A (zh) | 模型训练方法、装置、电子设备及计算机可读存储介质 | |
CN114037051A (zh) | 一种基于决策边界的深度学习模型压缩方法 | |
CN113592565B (zh) | 一种电力系统节点重要度预测方法 | |
CN118133905B (zh) | 一种轻量级目标检测神经网络的实现方法 | |
CN112379688B (zh) | 一种基于膜计算的多机器人有限时间同步控制方法 | |
CN117313799A (zh) | 一种基于lsmof的深度学习模型压缩方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |