CN109993302A - 基于知识迁移的卷积神经网络通道自选择压缩与加速方法 - Google Patents
基于知识迁移的卷积神经网络通道自选择压缩与加速方法 Download PDFInfo
- Publication number
- CN109993302A CN109993302A CN201910165951.7A CN201910165951A CN109993302A CN 109993302 A CN109993302 A CN 109993302A CN 201910165951 A CN201910165951 A CN 201910165951A CN 109993302 A CN109993302 A CN 109993302A
- Authority
- CN
- China
- Prior art keywords
- neural networks
- convolutional neural
- channel
- knowledge
- network
- 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/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
本发明公开了一种基于知识迁移的卷积神经网络通道自选择压缩与加速方法,包括步骤:S1、从已经训练好的复杂卷积神经网络CN1中提取迁移指导知识;S2、为目标卷积神经网络ON1的所有卷积层通道设置随机初始化的系数掩码;S3、将目标网络的每一个通道的输出设置为通道原始输出与对应的系数掩码的乘积;S4、在迁移指导知识的指导下优化目标网络,根据系数掩码进行通道软剪除,直至目标网络收敛后进行通道硬剪除。本发明方法可让网络自动选择应该剪除的通道,免去人工选择的操作,通过软剪除的操作和知识迁移的方法,保留了网络的表达容量以及提升了泛化性能,从而实现更高的压缩比和加速比。
Description
技术领域
本发明涉及深度学习和计算机视觉算法的技术领域,尤其是指一种基于知识迁移的卷积神经网络通道自选择压缩与加速方法。
背景技术
近年来,人工智能的发展越来越受到社会各界关注,特别是计算机视觉等图像领域已吸引了广大学者和工业生产者的青睐。在人工智能浪潮的推动下,人脸识别、目标定位等视觉识别任务取得了显著的成果,而这些成果的取得,离不开深度卷积神经网络算法的创新和发展。然而,现有的深度卷积神经网络模型在存储量和计算量上都是非常庞大的,阻碍了该模型在移动手机等低资源配置的嵌入式设备上的应用。因此,一个很自然的想法就是在保证性能的前提下,对深度卷积神经网络模型进行压缩,以便减轻内存消耗和提升计算速度,并适合在轻量设备上应用。
在过去的一段时间里,不少学者已在模型压缩和加速领域提出了有效方法。这些方法可划分为网络剪枝,矩阵分解,权值量化,知识迁移等几大类,其中基于网络剪枝的方法因其可剪除网络大部分冗余参数或结构而成为一个热门研究方向,知识迁移方法则可提升轻量网络的泛化性能,因此也受到许多学者的广泛关注。然而大多数基于剪枝的方法都是在一个预先训练好的网络上操作的,一旦网络的参数或结构被剪除就不再恢复,因而网络的容量被大幅减小,导致最终的性能下降。对于知识迁移方法,目前的做法都假设目标网络的结构在训练过程中是不变的,没有考虑网络仍然存在参数冗余的可能性。目前已有相关专利将这两类方法结合,如专利CN106355248A提出的深度卷积神经网络训练方法,其首先对网络进行剪枝,然后在剪枝过的网络上进行迁移学习。但是该网络的剪枝是在已经训练好的网络上进行的,且剪枝后不再恢复,因此容量减小的问题仍然存在,因此研究如何更加科学地将两类方法进行有效结合,从而达到更高效的压缩和加速效果是很有必要的。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提出了一种基于知识迁移的卷积神经网络通道自选择压缩与加速方法,能够在卷积神经网络的训练过程,对网络进行通道软剪除,并可在训练过程中恢复被剪除的通道,从而保留了网络模型的表达容量。另一方面,由于引入了知识迁移辅助训练,使得最终的压缩网络能最大程度地保持泛化性能。
为实现上述目的,本发明所提供的技术方案为:基于知识迁移的卷积神经网络通道自选择压缩与加速方法,包括以下步骤:
S1、从已经训练好的复杂卷积神经网络CN1中提取迁移指导知识;
S2、为目标卷积神经网络ON1的所有卷积层通道设置随机初始化的系数掩码;
S3、将目标卷积神经网络ON1的每一个通道的输出设置为通道原始输出与对应的系数掩码的乘积;
S4、在目标卷积神经网络ON1中提取与复杂卷积神经网络CN1一致的知识,用该知识与复杂卷积神经网络CN1的迁移指导知识构建损失函数,训练目标卷积神经网络ON1,并在训练过程中根据系数掩码进行通道软剪除,直至目标卷积神经网络ON1收敛后进行通道硬剪除,具体为:
S4.1、对目标卷积神经网络ON1和复杂卷积神经网络CN1输入相同数据,以最小化的损失函数为目标,更新目标卷积神经网络ON1的参数值和系数掩码;
S4.2、遍历目标卷积神经网络ON1中的系数掩码值,根据设定的剪除比例确定阈值,将绝对值低于阈值的系数掩码对应的卷积层通道参数值设置为零;
S4.3、重复以上步骤S4.1和S4.2,直至目标卷积神经网络ON1性能收敛;
S4.4、将参数值为零的卷积层通道及其对应的系数掩码从网络中剪除,达到压缩和加速效果。
在步骤S1中,所述复杂卷积神经网络CN1仅用于提供迁移指导知识,其参数在训练目标卷积神经网络ON1的过程中不更新,所述迁移指导知识能够从网络不同位置提取,包括从全连接层提取神经元输出作为知识和从卷积层提取特征图作为知识。
在步骤S2中,所述系数掩码的数量与目标卷积神经网络ON1中的卷积层通道数量保持一致。
在步骤S3中,所述通道原始输出为张量格式,对应的系数掩码为标量格式,乘积为矩阵元素点乘输出。
在步骤S4中,所述损失函数根据提取的知识不同而有不同的定义形式,其形式包括有交叉熵损失函数和欧式距离损失函数。
在步骤S4中,所述通道软剪除即为步骤S4.2将绝对值低于阈值的系数掩码对应的卷积层通道参数值设置为零,所述通道硬剪除即为步骤S4.4将参数值为零的卷积层通道及其对应的系数掩码从网络中剪除。
本发明与现有技术相比,具有如下优点与有益效果:
本发明提供的方法通过在训练过程中学习系数掩码,让网络自动选择应该剪除的通道,免去了人工选择的操作;进一步地,通过引入软剪除的操作和知识迁移的方法,保留了网络在进行通道剪除后的表达容量以及提升了网络的泛化性能,从而实现了更高的压缩比和加速比。
附图说明
图1为本发明实施例的基于知识迁移的卷积神经网络通道自选择压缩与加速方法整体流程图。
图2为本发明实施例提供的ResNet56网络结构示意图。
图3为本发明实施例提供的卷积层通道与系数掩码数量关系示意图。
图4为本发明实施例提供的系数掩码与卷积层通道输出进行矩阵点乘示意图。
图5为本发明实施例提供的训练目标卷积神经网络ON1并进行通道剪除的流程图。
图6为本发明实施例提供的对ResNet20网络进行前向及反向计算并更新网络参数和系数掩码示意图。
图7为本发明实施例提供的对卷积层通道进行硬剪除示意图。
具体实施方式
下面将结合附图及实施例,对本发明进一步地详细说明,但本发明的实施方式不限于此。
如图1所示,本实施例所提供的基于知识迁移的卷积神经网络通道自选择压缩与加速方法,包括以下步骤:
S1、从已经训练完成的性能足够好的复杂卷积神经网络CN1中提取迁移指导知识。
所述迁移指导知识可从网络不同位置提取,本实施例以ResNet56网络作为复杂卷积神经网络CN1,如图2所示,图中的残差模块包括了两层3*3核大小的卷积层,并且在每个stage的第一个残差模块中,第一个卷积层的步长为2,用于降维以匹配输出特征图的尺寸,其他卷积层的步长均为1。本实施例将该网络的全连接层的输出Lt作为迁移指导知识,使用知识蒸馏(G.Hinton,O.Vinyals,and J.Dean.Distilling the Knowledge in a NeuralNetwork.ArXiv e-prints,March 2015.)的方式,构造软化的softmax输出,作为后续损失函数的输入。在后续的操作中,该网络的参数不会被更新。
S2、为目标卷积神经网络ON1的所有卷积层通道设置随机初始化的系数掩码。
这里设置系数掩码的目的,是为了让网络自动学习不同通道的重要性,免去人工选择的操作。本实施例用ResNet20网络作为目标卷积神经网络ON1,与ResNet56不同的是,在ResNet20网络中,每一个stage只有3个残差模块。如图3所示,在卷积层中,系数掩码的数量与目标卷积神经网络ON1中的该卷积层通道数量保持一致。之所以要让系数掩码的数量与目标卷积神经网络ON1中的卷积层通道数量保持一致,是为了达到结构化剪枝的目的,把整个冗余的通道从网络中剪除掉,后续就可以使用现有的深度学习框架对压缩后的网络进行部署使用,而无需设计定制的软件运行库或者硬件设备。
S3、将目标卷积神经网络ON1的每一个通道的输出设置为通道原始输出与对应的系数掩码的乘积。
系数掩码的取值衡量了不同通道的重要性,幅值大的系数掩码,表示对应的通道重要性高;幅值接近零的系数掩码,则表示网络通过学习,将该掩码对应的通道重要性降低,通道是冗余的,可以从网络中剪除。因此,将系数掩码作为通道的权重项,即把通道的输出设置为通道原始输出与对应的系数掩码的乘积,就可以实现通过系数掩码对通道进行选择的目的。如图4所示,一个系数掩码对应的通道输出是一个矩阵形式,我们所采用的乘法是标量与矩阵的元素点乘形式。
S4、在目标卷积神经网络ON1中提取与复杂卷积神经网络CN1一致的知识,用该知识与复杂卷积神经网络CN1的迁移指导知识构建损失函数,训练目标卷积神经网络ON1,并在训练过程中根据系数掩码进行通道软剪除,直至目标卷积神经网络ON1训练完成后进行通道硬剪除,如图5所示,具体为:
S4.1、对目标卷积神经网络ON1和S1的复杂卷积神经网络CN1输入相同数据,以最小化S4的损失函数为目标,更新目标卷积神经网络ON1的参数值和系数掩码。
本实施例中,我们使用Cifar10数据库作为输入,提取知识的位置与S1相同,将ResNet20的全连接层的输出Ls作为知识,与S1的迁移指导知识一起作为损失函数的输入。在本实施例中,损失函数选择交叉熵损失。如图6所示,通过多次输入数据进行前向传播计算损失函数值后,执行反向传播得到网络参数和系数掩码的梯度,进而更新目标卷积神经网络ON1的参数值和系数掩码。
S4.2、遍历目标卷积神经网络ON1中的系数掩码值,根据设定的剪除比例确定阈值,将绝对值低于阈值的系数掩码对应的卷积层通道参数值设置为零。
本实施例中,首先确定要剪除10%的比例,则阈值的确定是将全部阈值的绝对值进行从大到小排序,然后将位于后10%的系数掩码所对应的原来的通道选择出来,将该通道的参数值设置为零,然后重复训练网络的操作。
S4.3、重复以上步骤S4.1和S4.2,直至目标卷积神经网络ON1性能收敛或达到最大迭代次数。
S4.4、将目标卷积神经网络ON1中参数值为零的卷积层通道及其对应的系数掩码从网络中剪除,达到压缩和加速效果。
当网络的性能趋于稳定时,说明网络已经收敛,可以执行真正的通道剪除操作,此时不再是简单的置零,而是将小幅值系数掩码所对应的通道从网络中移除,由于每一个通道接受前面层输出的同时,也会作为后面层的输出,所以在剪除时要处理好每一个通道在网络中的每一个连接。如图7所示,当执行完真正的剪除后,网络结构变得更简单,从而达到压缩和加速的效果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.基于知识迁移的卷积神经网络通道自选择压缩与加速方法,其特征在于,包括以下步骤:
S1、从已经训练好的复杂卷积神经网络CN1中提取迁移指导知识;
S2、为目标卷积神经网络ON1的所有卷积层通道设置随机初始化的系数掩码;
S3、将目标卷积神经网络ON1的每一个通道的输出设置为通道原始输出与对应的系数掩码的乘积;
S4、在目标卷积神经网络ON1中提取与复杂卷积神经网络CN1一致的知识,用该知识与复杂卷积神经网络CN1的迁移指导知识构建损失函数,训练目标卷积神经网络ON1,并在训练过程中根据系数掩码进行通道软剪除,直至目标卷积神经网络ON1收敛后进行通道硬剪除,具体为:
S4.1、对目标卷积神经网络ON1和复杂卷积神经网络CN1输入相同数据,以最小化的损失函数为目标,更新目标卷积神经网络ON1的参数值和系数掩码;
S4.2、遍历目标卷积神经网络ON1中的系数掩码值,根据设定的剪除比例确定阈值,将绝对值低于阈值的系数掩码对应的卷积层通道参数值设置为零;
S4.3、重复以上步骤S4.1和S4.2,直至目标卷积神经网络ON1性能收敛;
S4.4、将参数值为零的卷积层通道及其对应的系数掩码从网络中剪除,达到压缩和加速效果。
2.根据权利要求1所述的基于知识迁移的卷积神经网络通道自选择压缩与加速方法,其特征在于:在步骤S1中,所述复杂卷积神经网络CN1仅用于提供迁移指导知识,其参数在训练目标卷积神经网络ON1的过程中不更新,所述迁移指导知识能够从网络不同位置提取,包括从全连接层提取神经元输出作为知识和从卷积层提取特征图作为知识。
3.根据权利要求1所述的基于知识迁移的卷积神经网络通道自选择压缩与加速方法,其特征在于:在步骤S2中,所述系数掩码的数量与目标卷积神经网络ON1中的卷积层通道数量保持一致。
4.根据权利要求1所述的基于知识迁移的卷积神经网络通道自选择压缩与加速方法,其特征在于:在步骤S3中,所述通道原始输出为张量格式,对应的系数掩码为标量格式,乘积为矩阵元素点乘输出。
5.根据权利要求1所述的基于知识迁移的卷积神经网络通道自选择压缩与加速方法,其特征在于:在步骤S4中,所述损失函数根据提取的知识不同而有不同的定义形式,其形式包括有交叉熵损失函数和欧式距离损失函数。
6.根据权利要求1所述的基于知识迁移的卷积神经网络通道自选择压缩与加速方法,其特征在于:在步骤S4中,所述通道软剪除即为步骤S4.2将绝对值低于阈值的系数掩码对应的卷积层通道参数值设置为零,所述通道硬剪除即为步骤S4.4将参数值为零的卷积层通道及其对应的系数掩码从网络中剪除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910165951.7A CN109993302A (zh) | 2019-03-06 | 2019-03-06 | 基于知识迁移的卷积神经网络通道自选择压缩与加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910165951.7A CN109993302A (zh) | 2019-03-06 | 2019-03-06 | 基于知识迁移的卷积神经网络通道自选择压缩与加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109993302A true CN109993302A (zh) | 2019-07-09 |
Family
ID=67130228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910165951.7A Pending CN109993302A (zh) | 2019-03-06 | 2019-03-06 | 基于知识迁移的卷积神经网络通道自选择压缩与加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109993302A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929860A (zh) * | 2019-11-07 | 2020-03-27 | 深圳云天励飞技术有限公司 | 一种卷积加速运算方法、装置、存储介质及终端设备 |
CN111709516A (zh) * | 2020-06-09 | 2020-09-25 | 深圳先进技术研究院 | 神经网络模型的压缩方法及压缩装置、存储介质、设备 |
CN112836817A (zh) * | 2019-11-22 | 2021-05-25 | 中国科学技术大学 | 一种卷积神经网络模型的压缩方法 |
CN112862058A (zh) * | 2019-11-26 | 2021-05-28 | 北京市商汤科技开发有限公司 | 神经网络的训练方法、装置和设备 |
CN115170917A (zh) * | 2022-06-20 | 2022-10-11 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
-
2019
- 2019-03-06 CN CN201910165951.7A patent/CN109993302A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929860A (zh) * | 2019-11-07 | 2020-03-27 | 深圳云天励飞技术有限公司 | 一种卷积加速运算方法、装置、存储介质及终端设备 |
CN112836817A (zh) * | 2019-11-22 | 2021-05-25 | 中国科学技术大学 | 一种卷积神经网络模型的压缩方法 |
CN112862058A (zh) * | 2019-11-26 | 2021-05-28 | 北京市商汤科技开发有限公司 | 神经网络的训练方法、装置和设备 |
CN112862058B (zh) * | 2019-11-26 | 2022-11-25 | 北京市商汤科技开发有限公司 | 神经网络的训练方法、装置和设备 |
CN111709516A (zh) * | 2020-06-09 | 2020-09-25 | 深圳先进技术研究院 | 神经网络模型的压缩方法及压缩装置、存储介质、设备 |
CN111709516B (zh) * | 2020-06-09 | 2023-07-28 | 深圳先进技术研究院 | 神经网络模型的压缩方法及压缩装置、存储介质、设备 |
CN115170917A (zh) * | 2022-06-20 | 2022-10-11 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
CN115170917B (zh) * | 2022-06-20 | 2023-11-07 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993302A (zh) | 基于知识迁移的卷积神经网络通道自选择压缩与加速方法 | |
WO2018121472A1 (zh) | 一种运算方法 | |
CN106203625B (zh) | 一种基于多重预训练的深层神经网络训练方法 | |
CN107766794A (zh) | 一种特征融合系数可学习的图像语义分割方法 | |
CN110223234A (zh) | 基于级联收缩扩张的深度残差网络图像超分辨率重建方法 | |
CN106203363A (zh) | 人体骨架运动序列行为识别方法 | |
CN107563567A (zh) | 基于稀疏自编码的核极限学习机洪水预报方法 | |
CN109544457A (zh) | 基于致密链接神经网络的图像超分辨率方法、存储介质和终端 | |
CN106951912B (zh) | 一种果蔬外观变化识别模型的建立方法和识别方法 | |
CN106951959A (zh) | 基于学习自动机的深度神经网络优化方法 | |
CN109086768A (zh) | 卷积神经网络的语义图像分割方法 | |
CN112949896B (zh) | 一种基于融合序列分解与时空卷积的时序预测方法 | |
CN109508746A (zh) | 基于卷积神经网络的脉冲星候选体识别方法 | |
CN106778701A (zh) | 一种加入Dropout的卷积神经网络的果蔬图像识别方法 | |
CN107784360A (zh) | 步进式卷积神经网络剪枝压缩方法 | |
CN112288080A (zh) | 面向脉冲神经网络的自适应模型转化方法及系统 | |
CN109165699A (zh) | 细粒度图像分类方法 | |
CN113570039A (zh) | 一种基于强化学习的优化共识的区块链系统 | |
Shan et al. | Residual learning of deep convolutional neural networks for image denoising | |
Dan et al. | Diseases and pests identification of Lycium barbarum using se-mobilenet v2 algorithm | |
CN115329744A (zh) | 一种自然语言处理方法、系统、设备及存储介质 | |
CN107944488A (zh) | 基于层次化深度网络的长时序列数据处理方法 | |
CN109670582B (zh) | 一种全定点化神经网络的设计方法 | |
CN115346096A (zh) | 一种基于忆阻器所构建的脉冲神经网络模型 | |
CN110866445A (zh) | 一种基于深度学习的人群计数和密度估计方法 |
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 |
Application publication date: 20190709 |
|
RJ01 | Rejection of invention patent application after publication |