基于知识迁移的卷积神经网络通道自选择压缩与加速方法技术

技术编号:21572709 阅读:32 留言:0更新日期:2019-07-10 15:42
本发明专利技术公开了一种基于知识迁移的卷积神经网络通道自选择压缩与加速方法,包括步骤:S1、从已经训练好的复杂卷积神经网络CN1中提取迁移指导知识;S2、为目标卷积神经网络ON1的所有卷积层通道设置随机初始化的系数掩码;S3、将目标网络的每一个通道的输出设置为通道原始输出与对应的系数掩码的乘积;S4、在迁移指导知识的指导下优化目标网络,根据系数掩码进行通道软剪除,直至目标网络收敛后进行通道硬剪除。本发明专利技术方法可让网络自动选择应该剪除的通道,免去人工选择的操作,通过软剪除的操作和知识迁移的方法,保留了网络的表达容量以及提升了泛化性能,从而实现更高的压缩比和加速比。

Convolutional Neural Network Channel Self-Selective Compression and Acceleration Method Based on Knowledge Transfer

【技术实现步骤摘要】
基于知识迁移的卷积神经网络通道自选择压缩与加速方法
本专利技术涉及深度学习和计算机视觉算法的
,尤其是指一种基于知识迁移的卷积神经网络通道自选择压缩与加速方法。
技术介绍
近年来,人工智能的发展越来越受到社会各界关注,特别是计算机视觉等图像领域已吸引了广大学者和工业生产者的青睐。在人工智能浪潮的推动下,人脸识别、目标定位等视觉识别任务取得了显著的成果,而这些成果的取得,离不开深度卷积神经网络算法的创新和发展。然而,现有的深度卷积神经网络模型在存储量和计算量上都是非常庞大的,阻碍了该模型在移动手机等低资源配置的嵌入式设备上的应用。因此,一个很自然的想法就是在保证性能的前提下,对深度卷积神经网络模型进行压缩,以便减轻内存消耗和提升计算速度,并适合在轻量设备上应用。在过去的一段时间里,不少学者已在模型压缩和加速领域提出了有效方法。这些方法可划分为网络剪枝,矩阵分解,权值量化,知识迁移等几大类,其中基于网络剪枝的方法因其可剪除网络大部分冗余参数或结构而成为一个热门研究方向,知识迁移方法则可提升轻量网络的泛化性能,因此也受到许多学者的广泛关注。然而大多数基于剪枝的方法都是在一个预先训练好的网络上操作的,一旦网络的参数或结构被剪除就不再恢复,因而网络的容量被大幅减小,导致最终的性能下降。对于知识迁移方法,目前的做法都假设目标网络的结构在训练过程中是不变的,没有考虑网络仍然存在参数冗余的可能性。目前已有相关专利将这两类方法结合,如专利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,andJ.Dean.DistillingtheKnowledgeinaNeuralNetwork.ArXive-prints,March2015.)的方式,构造软化的softmax输出,作为后续损失函数的输入。在后续的操作中,该网络的参数不会被更新。S2、为目标卷积神经网络ON1的所有卷积层通道设置随机初始化的系数掩码。这里设置系数掩码的目的,是为了让网络自动学习不同通道的重要性,免去人工选择的操作。本实施例用ResNet20网络作为目标卷积神经网络ON1,与ResNet56不同的是,在ResNet20网络中,每一个stage只有3个残差模块。如图3所示,在卷积层中,系数掩码的数量与目标卷积神经网络ON1中的该卷积层通道数量保持一致。之所以要让系数掩码的数量与目标卷积神经网络ON1中的卷积层通道数量保持一致,是为了达到结构化剪枝的目的,把整个冗余的通道从网络中剪除掉,后续就可以使用现有的深度学习框架对压缩后的网络进行部署使用,而无需设计定制的软件运行库或者硬件设备。S3、将目标卷积神经网络ON1的每一个通道的输出设置为通道原始输出与对应的系数掩码的乘积。系数掩码的取值衡量了不同通道本文档来自技高网
...

【技术保护点】
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、将参数值为零的卷积层通道及其对应的系数掩码从网络中剪除,达到压缩和加速效果。...

【技术特征摘要】
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所述的基于知识迁移的卷积神经网络通道自选择压...

【专利技术属性】
技术研发人员:郭礼华陈达武
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1