CN108985444A - 一种基于节点抑制的卷积神经网络剪枝方法 - Google Patents
一种基于节点抑制的卷积神经网络剪枝方法 Download PDFInfo
- Publication number
- CN108985444A CN108985444A CN201810765274.8A CN201810765274A CN108985444A CN 108985444 A CN108985444 A CN 108985444A CN 201810765274 A CN201810765274 A CN 201810765274A CN 108985444 A CN108985444 A CN 108985444A
- Authority
- CN
- China
- Prior art keywords
- network
- node
- layer
- neural network
- network structure
- 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
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/084—Backpropagation, e.g. using gradient descent
-
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于节点抑制的卷积神经网络剪枝方法。它通过抑制网络中部分节点,计算损失函数并根据节点的重要性对其进行筛选的神经网络剪枝方法,能在不影响网络精度的基础上,实现神经网络的压缩和加速。本发明通过采用上述技术,得到基于节点抑制的卷积神经网络剪枝方法,它通过去除神经网络中冗余的节点实现网络的加速和压缩;根据网络损失函数判断每个节点抑制后对网络的影响,结合网络剪枝操作和再训练,能在不影响神经网络精度的基础上,实现神经网络的压缩和加速,减少了神经网络中大量的计算量和参数数量,加快神经网络的运算,解决了深度学习难以应用在现实场景中的问题。
Description
技术领域
本发明涉及一种基于节点抑制的卷积神经网络剪枝方法,尤其涉及抑制部分神经网络节点并计算损失函数的方法,根据网络中节点的重要性进行筛选,实现网络缩减和加速的卷积神经网络剪枝方法。
背景技术
神经网络由于其准确率高,通用性强的特点,受到各行各业学者的持续关注和研究,但由于神经网络的高复杂性和网络计算量巨大的原因,只有较少的方法能应用到实际的场景中。而神经网络的使用需要大量的计算量,因此许多学者针对神经网络进行压缩和加速的研究。而多数方法在实现网络加速的同时,需要对网络结构进行修改并牺牲部分的网络精度。因此基于节点抑制的神经网络剪枝方法是一种较好的解决方案,在不影响网络精度的基础上,实现神经网络的缩减,达到网络加速的目的。
为了解决神经网络计算量过大的问题,国内外学术界、工业界提出了很多方案。其中与本发明较为接近的技术方案包括:Y.Gong(Y.Gong,L.Liu,M.Yang,L.Bourdev,“Compressing Deep Convolutional Networks using Vector Quantization”[J],arXiv:1412.6115,2014)提出了一种压缩神经网络模型大小的方法,主要通过密集权重矩阵进行量化编码实现网络压缩,但该方法只适用于全链接层的网络压缩,不能应用于其他的网络结构。S.Han等人(S.Han,H.Mao,W.J.Dally,“Deep Compression:Compressing DeepNeural Networks with Pruning,Trained Quantization and Huffman Coding”,[C]in2016 international conference of Learning Representations,October 2016,vol.56,No.4,pp.1-14.)提出了“Deep Compression”压缩方法,通过减去小权重的分支再训练,权重聚类压缩和哈夫曼编码的方式,减少了网络大小,提高了运算速度和减少了网络使用的能量损耗,但该算法在实现了网络加速的同时影响了神经网络的精度。Z.Lin等人(Z.Lin,M.Courbariaux,R.Memisevic,et al.“Neural Networks with FewMultiplications”,[C]in 2016 International Conference on LearningRepresentations,2016)通过在隐层中随机二值化和在反向传播中将乘法转换为移位操作实现网络量化加速。二值网络虽然能极大的压缩网络的大小和提升网络的速度,但相应的牺牲网络精度是不可避免的,特别是在目标检测的问题上。
综上所述,当前神经网络压缩和加速的方案中存在如下不足:
(1)多数方法对在网络速度提高的基础上,减少了部分网络参数的精度,导致网络整体精度受到影响;
(2)部分方法只能针对全连接层进行压缩和加速,而全连接层由于参数过多训练复杂而渐渐被全卷积结构所替代,应用场景局限性较大;
(3)许多方法用二值化操作替代神经网络中复杂的浮点数计算,需要特定的硬件才能有较好的实际应用,对硬件依赖性较高。
人工神经网络在各行业中都有较好的实际应用场景,但由于网络依赖于大规模的计算能力,导致神经网络在实际应用中受到限制。而现在多数方法为了实现网络加速的目标,需要牺牲部分的网络精度或依赖于特殊的硬件。
发明内容
为了不影响神经网络精度并实现神经网络压缩和加速,本发明提供了一种基于节点抑制的卷积神经网络剪枝方法;它通过抑制网络中部分节点,计算损失函数并根据节点的重要性对其进行筛选的神经网络剪枝方法,能在不影响网络精度的基础上,实现神经网络的压缩和加速。
所述的一种基于节点抑制的卷积神经网络剪枝方法,其特征在于包括如下步骤:
步骤1:读取网络权重文件和网络配置文件,得到初始网络结构N0={Li|i=1,2,3,…,n0},其中Li={cij|j=1,2,3,…m}表示网络中第i层,n0表示集合N0中的网络层数,cij表示Li层中的第j个节点,m表示Li层中的节点数量;
步骤2:读入目标样本图像Sample;
步骤3:逐层逐点地对神经网络中的网络节点进行节点抑制,计算节点失活对网络损失函数的影响,具体如下:
步骤3.1:复制初始网络结构N0,得新的网络结构N1={Li|i=1,2,3,…,n1},其中n1表示集合N1中的网络层数;
步骤3.2:从步骤3.1的网络结构集合N1中的最后一层Ln1选取一个节点,并抑制神经网络N0中对应的节点cn1j,并将图像Sample输入网络结构N0中进行前向传播,根据损失函数得到该节点的损失偏差In1j;
步骤3.3:重新激活N0中最后一层的节点cn1j,并将该对应节点从N1中剔除;
步骤3.4:重复步骤3.2到3.3直至N1中Ln1层无网络节点,则删除第n1层,得该层的网络损失偏差ILn1={In1j|j=1,2,3,…,m};
步骤3.5:重复步骤3.2到3.3直至N1中无网络层,得神经网络中所有节点的损失偏差集合IN={Iij|i=1,2,3,…,n0,j=1,2,3,…,m};
步骤4:计算步骤3.5所得的损失偏差集合IN中所有元素的平均值,得节点偏差均值Iavg;
步骤5:对初始网络结构N0中满足式(1)条件的节点逐个进行剪枝,得剪枝后的网络结构Nafter;
步骤6:通过样本数据集对步骤5的网络结构Nafter进行再训练,得到最后的网络Nfinal。
通过采用上述技术,与现有技术相比,本发明的优点如下:
本发明的一种基于节点抑制的卷积神经网络剪枝方法;它通过抑制网络中部分节点,去除神经网络中冗余的节点,计算损失函数并根据节点的重要性对其进行筛选的神经网络剪枝方法;根据网络损失函数判断每个节点抑制后对网络的影响,结合网络剪枝操作和再训练,能在不影响神经网络精度的基础上,实现神经网络的压缩和加速,减少了神经网络中大量的计算量和参数数量,加快神经网络的运算,解决了深度学习难以应用在现实场景中的问题。
附图说明
图1为本发明基于节点抑制的神经网络剪枝方法流程图。
具体实施方法
下面结合实施实例来详细阐述本发明基于卷积特征响应图的神经网络剪枝方法具体实施方式。
如图1所示,本发明的一种节点抑制的卷积神经网络剪枝方法,包括如下步骤:
步骤1:读取网络权重文件和网络配置文件,得到初始网络结构N0={Li|i=1,2,3,…,n0},其中Li={cij|j=1,2,3,…m}表示网络中第i层,n0表示集合N0中的网络层数,cij表示Li层中的第j个节点,m表示Li层中的节点数量;
步骤2:读入目标样本图像Sample;
步骤3:逐层逐点地对神经网络中的网络节点进行节点抑制,计算节点失活对网络损失函数的影响,具体如下:
步骤3.1:复制初始网络结构N0,得新的网络结构N1={Li|i=1,2,3,…,n1},其中n1表示集合N1中的网络层数;
步骤3.2:从步骤3.1的网络结构集合N1中的最后一层Ln1选取一个节点,并抑制神经网络N0中对应的节点cn1j,并将图像Sample输入网络结构N0中进行前向传播,根据损失函数得到该节点的损失偏差In1j;
步骤3.3:重新激活N0中最后一层的节点cn1j,并将该对应节点从N1中剔除;
步骤3.4:重复步骤3.2到3.3直至N1中Ln1层无网络节点,则删除第n1层,得该层的网络损失偏差ILn1={In1j|j=1,2,3,…,m};
步骤3.5:重复步骤3.2到3.3直至N1中无网络层,得神经网络中所有节点的损失偏差集合IN={Iij|i=1,2,3,…,n0,j=1,2,3,…,m};
步骤4:计算步骤3.5所得的损失偏差集合IN中所有元素的平均值,得节点偏差均值Iavg;
步骤5:对初始网络结构N0中满足式(1)条件的节点逐个进行剪枝,得剪枝后的网络结构Nafter;
步骤6:通过样本数据集对步骤5的网络结构Nafter进行再训练,得到最后的网络Nfinal。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (1)
1.一种基于节点抑制的卷积神经网络剪枝方法,其特征在于包括如下步骤:
步骤1:读取网络权重文件和网络配置文件,得到初始网络结构N0={Li|i=1,2,3,…,n0},其中Li={cij|j=1,2,3,…m}表示网络中第i层,n0表示集合N0中的网络层数,cij表示Li层中的第j个节点,m表示Li层中的节点数量;
步骤2:读入目标样本图像Sample;
步骤3:逐层逐点地对神经网络中的网络节点进行节点抑制,计算节点失活对网络损失函数的影响,具体如下:
步骤3.1:复制初始网络结构N0,得新的网络结构N1={Li|i=1,2,3,…,n1},其中n1表示集合N1中的网络层数;
步骤3.2:从步骤3.1的网络结构集合N1中的最后一层Ln1选取一个节点,并抑制神经网络N0中对应的节点cn1j,并将图像Sample输入网络结构N0中进行前向传播,根据损失函数得到该节点的损失偏差In1j;
步骤3.3:重新激活N0中最后一层的节点cn1j,并将该对应节点从N1中剔除;
步骤3.4:重复步骤3.2到3.3直至N1中Ln1层无网络节点,则删除第n1层,得该层的网络损失偏差ILn1={In1j|j=1,2,3,…,m};
步骤3.5:重复步骤3.2到3.3直至N1中无网络层,得神经网络中所有节点的损失偏差集合IN={Iij|i=1,2,3,…,n0,j=1,2,3,…,m};
步骤4:计算步骤3.5所得的损失偏差集合IN中所有元素的平均值,得节点偏差均值Iavg;
步骤5:对初始网络结构N0中满足式(1)条件的节点逐个进行剪枝,得剪枝后的网络结构Nafter;
步骤6:通过样本数据集对步骤5的网络结构Nafter进行再训练,得到最后的网络Nfinal。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810765274.8A CN108985444A (zh) | 2018-07-12 | 2018-07-12 | 一种基于节点抑制的卷积神经网络剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810765274.8A CN108985444A (zh) | 2018-07-12 | 2018-07-12 | 一种基于节点抑制的卷积神经网络剪枝方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108985444A true CN108985444A (zh) | 2018-12-11 |
Family
ID=64537971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810765274.8A Pending CN108985444A (zh) | 2018-07-12 | 2018-07-12 | 一种基于节点抑制的卷积神经网络剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108985444A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929849A (zh) * | 2019-11-22 | 2020-03-27 | 迪爱斯信息技术股份有限公司 | 一种神经网络模型的压缩方法和装置 |
CN112115724A (zh) * | 2020-07-23 | 2020-12-22 | 云知声智能科技股份有限公司 | 一种多领域神经网络在垂直领域微调的优化方法及系统 |
CN112749797A (zh) * | 2020-07-20 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 一种神经网络模型的剪枝方法及装置 |
US11030528B1 (en) * | 2020-01-20 | 2021-06-08 | Zhejiang University | Convolutional neural network pruning method based on feature map sparsification |
CN113298224A (zh) * | 2020-02-24 | 2021-08-24 | 上海商汤智能科技有限公司 | 神经网络模型的重训练方法和相关产品 |
-
2018
- 2018-07-12 CN CN201810765274.8A patent/CN108985444A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929849A (zh) * | 2019-11-22 | 2020-03-27 | 迪爱斯信息技术股份有限公司 | 一种神经网络模型的压缩方法和装置 |
CN110929849B (zh) * | 2019-11-22 | 2023-09-01 | 迪爱斯信息技术股份有限公司 | 一种基于神经网络模型压缩的视频检测方法和装置 |
US11030528B1 (en) * | 2020-01-20 | 2021-06-08 | Zhejiang University | Convolutional neural network pruning method based on feature map sparsification |
CN113298224A (zh) * | 2020-02-24 | 2021-08-24 | 上海商汤智能科技有限公司 | 神经网络模型的重训练方法和相关产品 |
CN112749797A (zh) * | 2020-07-20 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 一种神经网络模型的剪枝方法及装置 |
CN112115724A (zh) * | 2020-07-23 | 2020-12-22 | 云知声智能科技股份有限公司 | 一种多领域神经网络在垂直领域微调的优化方法及系统 |
CN112115724B (zh) * | 2020-07-23 | 2023-10-20 | 云知声智能科技股份有限公司 | 一种多领域神经网络在垂直领域微调的优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108985444A (zh) | 一种基于节点抑制的卷积神经网络剪枝方法 | |
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN105512289B (zh) | 基于深度学习和哈希的图像检索方法 | |
CN107340993B (zh) | 运算装置和方法 | |
CN110097186B (zh) | 一种神经网络异构量化训练方法 | |
CN107240136B (zh) | 一种基于深度学习模型的静态图像压缩方法 | |
CN102929942A (zh) | 一种基于集成学习的社会网络重叠社区发现方法 | |
CN114781435B (zh) | 一种基于改进哈里斯鹰优化算法优化变分模态分解的电力电子电路故障诊断方法 | |
CN109472352A (zh) | 一种基于特征图统计特征的深度神经网络模型裁剪方法 | |
CN110084248A (zh) | 一种orb特征均匀化提取方法 | |
CN107644252A (zh) | 一种多机制混合的递归神经网络模型压缩方法 | |
CN109063834B (zh) | 一种基于卷积特征响应图的神经网络剪枝方法 | |
CN115525038A (zh) | 一种基于联邦分层优化学习的设备故障诊断方法 | |
CN115019510A (zh) | 一种基于动态自适应生成对抗网络的交通数据修复方法 | |
CN103824285B (zh) | 一种基于蝙蝠优化模糊聚类的图像分割方法 | |
CN110765582A (zh) | 基于马尔可夫链的自组织中心K-means微电网场景划分方法 | |
CN110223224A (zh) | 一种基于信息过滤网络的图像超分辨实现算法 | |
CN110110852A (zh) | 一种深度学习网络移植到fpag平台的方法 | |
CN110782396B (zh) | 一种轻量化的图像超分辨率重建网络和重建方法 | |
CN112862946B (zh) | 基于级联条件生成对抗网络的灰度岩心图像三维重建方法 | |
WO2018082320A1 (zh) | 数据流连接方法及装置 | |
Li et al. | Towards communication-efficient digital twin via ai-powered transmission and reconstruction | |
Xu et al. | An efficient channel-level pruning for CNNs without fine-tuning | |
CN110766072A (zh) | 一种基于结构相似性的计算图进化ai模型自动生成方法 | |
Sarkar et al. | An incremental pruning strategy for fast training of CNN models |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181211 |