一种基于知识蒸馏的卷积神经网络优化方法技术

技术编号:19344090 阅读:726 留言:0更新日期:2018-11-07 14:36
本发明专利技术公开了一种基于知识蒸馏的卷积神经网络优化方法,从FPN的特征金字塔部分的附加结构中选取位置建立桥接;在教师FPN网络T与学生FPN网络S之间的桥接位置建立多个特征适配层;采用层次加权的多尺度损失函数用作网络训练的损失函数。本发明专利技术的积极效果是:一方面,基于本发明专利技术的知识蒸馏设计,能够将复杂的教师FPN网络进行压缩,得到一个规模更小、计算更快的学生FPN网络。较之于现有基于CNN的目标检测技术直接使用FPN,更便于进行边缘侧计算的部署;另一方面考虑知识蒸馏的方式,较之现有的知识蒸馏技术,本发明专利技术能够更好的适配多尺度目标检测网络FPN,能更好的训练出高质量的学生FPN网络。

A convolution neural network optimization method based on knowledge distillation

The invention discloses an optimization method of convolutional neural network based on knowledge distillation, which establishes a bridge by selecting a position from the additional structure of the feature pyramid of FPN, establishes a plurality of feature adaptation layers at the bridge position between the teacher's FPN network T and the student's FPN network S, and uses hierarchical weighted multi-scale loss function as network training. Training loss function. The positive effect of the invention is: on the one hand, the knowledge distillation design based on the invention can compress the complex teacher's FPN network and obtain a smaller and faster student's FPN network. Compared with the existing target detection technology based on CNN, which directly uses FPN, it is more convenient to deploy edge calculation; on the other hand, considering the way of knowledge distillation, compared with the existing knowledge distillation technology, the present invention can better adapt to the multi-scale target detection network FPN, and can better train the high-quality student FPN network.

【技术实现步骤摘要】
一种基于知识蒸馏的卷积神经网络优化方法
本专利技术涉及一种基于知识蒸馏的卷积神经网络优化方法。
技术介绍
目前,深度学习由于其强大的表征能力,提取的特征相比传统方法手工构造的特征具有更强的鲁棒性,因此以卷积神经网络(CNN)为代表的深度学习技术被广泛应用于图像分类、目标检测、图像分割等多种传统计算机视觉任务中。其中,在图像分类中CNN应用的典型方式是基于交叉熵方法作为损失函数,进行CNN模型的训练。近年来,深度学习的发展呈现三大趋势:模型结构日趋复杂、模型层次不断加深、海量数据集不断发展。然而,随着在移动端及嵌入式平台运用CNN进行边缘计算的需求不断攀升,由于边缘侧计算平台资源受限,要求CNN模型尽可能的小,并且计算效率高。为此,近年来学术界和工业界提出了各种类型的模型压缩方法,如模型剪枝、低秩分解、模型参数低精度量化等。Hinton等在2014年的论文DistillingtheKnowledgeinaNeuralNetwork中,提出了一种知识蒸馏的方法,可将一个在大型的训练数据集上训练得到的大型CNN作为教师网络,并以一个小型CNN作为学生网络,通过联合训练教师网络输出的概率分布向量和训练集的人工标注,对学生网络进行训练。他们证明了这种方法可以克服小型CNN在大数据集上的训练困难性,训练完成后可在分类任务上取得接近或超过教师网络的测试结果。该方法可以视为一种知识迁移的手段,将知识从教师网络通过训练迁移到学生网络上。完成迁移后通过设计目标为小快灵的学生网络代替大而笨重的教师网络,进行任务运用,从而大大便利了深度学习在边缘侧平台的部署。在Hinton等提出知识蒸馏理论后,Romero等提出了一种新的方法,即通过在教师网络和学生网络的中间层中进行特征匹配,从而提供了一种可靠的监督信号(hint),对具有大深度结构的学生网络的训练进行有效的指导,从而克服了Hinton方法的弱点,使得大深度网络的知识蒸馏成为可能。目前现有知识蒸馏技术主要是针对用于分类的CNN网络进行研究。另一方面,在深度学习技术的应用层面,例如目前以人脸识别为代表的相关应用蓬勃发展,各种场景层出不穷,这对于人脸检测算法的鲁棒性提出了挑战。例如,由于人脸距离摄像头远近的不同,不同的人或同一人在不同时刻,在图像中呈现较大的尺度差异。类似的,其他类型的目标检测在特定场景下也会存在这种问题。许多目标检测算法即便以CNN作为基础,其对于检测尺度较小的目标表现仍不够好。因此,Lin等提出了一种多尺度的目标检测网络,称为特征金字塔网络(FPN),其骨干网络(backbone)典型来说,基于以ResNet为代表的大深度模型,同时融合多尺度特征检测目标,取得了非常好的检测性能,相对于传统算法在小目标检测等方面体现了优势。但是,由于采用类似ResNet这种规模较大的骨干网络,若在边缘侧平台部署FPN则存在计算、存储等诸多局限。本专利技术对于FPN进行知识蒸馏,在维持FPN的目标检测性能的同时,降低其网络规模和计算负载,从而有利于其在边缘侧平台部署。FPN的背景:图1是典型的目标检测网络如FasterR-CNN的情况,输入图像从其骨干网(如ResNet)的第一层进入,数据一直前向传播到末层后进行目标检测相关的预测,因此是一种单尺度下的结构,而不包含金字塔式多尺度的设计。图2是FPN的概略图,可见数据除了普通自底向上的、从第一层到末层的backbone以内的传播以外,还有自顶向下的连接,以及水平的连接,以便产生额外的特征金字塔(概略图右半部分)。图3细节地呈现了特征金字塔层间的水平连接及自顶向下的连接,可见FPN在骨干网之外增加了额外的1x1卷积层、上采样和Eltwise层。由于FPN可以在特征金字塔的每一层进行目标检测相关的预测,因此便产生了普通目标检测网络所不具备的多尺度目标检测的优势。针对普通的目标检测网络,Chen等在文献LearningEfficientObjectDetectionModelswithKnowledgeDistillation中提出了一种知识蒸馏的方法。其中,考虑到目标检测任务与基本的分类任务的不同,针对性地设计了训练网络所需的损失函数,并且训练时在骨干网上附着了教师网络与学生网络之间的特征适配层。但FPN作为一种多尺度结构的特殊目标检测网络,并不适用于直接用该文献的方法进行知识蒸馏。比如,Chen文献设计的特征适配层,是直接在骨干网上桥接教师网络与学生网络,进行它们之间的中间特征适配。由于其设计,用于检测任务的特征也的确是在骨干网上产生的,因此是合适的。然而FPN却并非直接使用骨干网中输出的特征,而是在骨干网之外增加了额外的附加结构,而运用于检测任务的特征恰恰是在这些结构中输出的,因此若将上述方法同样用于FPN就并不适宜了。又如,文献方法仅有一个特征适配层,因为其仅基于单尺度的任务,因此无可厚非。但FPN不同,它是多个特征输出供多尺度任务使用,因此如果仅有一个特征适配层,未必能很好的保证教师网络和学生网络之间多尺度特征的良好匹配。
技术实现思路
为了克服现有技术的缺点,本专利技术提供了一种基于知识蒸馏的卷积神经网络优化方法,本专利技术设计了一种多尺度的知识蒸馏方法,使其更好地适用于多尺度目标检测网络FPN。本专利技术所采用的技术方案是:一种基于知识蒸馏的卷积神经网络优化方法,从FPN的特征金字塔部分的附加结构中选取位置建立桥接;在教师FPN网络T与学生FPN网络S之间的桥接位置建立多个特征适配层;采用层次加权的多尺度损失函数用作网络训练的损失函数。与现有技术相比,本专利技术的积极效果是:一方面,基于本专利技术的知识蒸馏设计,在教师FPN网络指导下训练学生FPN网络,能够将复杂的教师FPN网络进行压缩,得到一个规模更小、计算更快的学生FPN网络。较之于现有基于CNN的目标检测技术直接使用FPN,更便于进行边缘侧计算的部署。另一方面考虑知识蒸馏的方式,较之现有的知识蒸馏技术,本专利技术能够更好的适配多尺度目标检测网络FPN,能更好的训练出高质量的学生FPN网络。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1为典型的目标检测网络的情况;图2为FPN的概略图;图3为特征金字塔层间的水平连接及自顶向下的连接示意图。具体实施方式本专利技术方法包括如下内容:首先,本专利技术将特征适配层设计在骨干网的附加结构上,以区别于Chen文献在骨干网络部分进行教师网络与学生网络之间的特征适配。其次,本专利技术在骨干网附加结构上设计的是多个(可选的)特征适配层,以便基于它们在教师网络与学生网络之间,进行与多尺度特征金字塔相适应的、多层特征之间成对的特征匹配。第三,在损失函数的设计方面,本专利技术考虑到FPN多尺度目标检测的功能,设计了一种多层次损失加权的多尺度损失函数,以区别于Chen文献。具体来说,主要分结构、损失函数两大部分论述。首先在结构上,本专利技术采取与Chen文献类似的特征适配方法,即在教师网络和学生网络之间的桥接位置上用1x1卷积层进行特征适配。1x1卷积的作用主要是使得作为输入的教师网络中间层特征图(featuremap)的通道数,适配作为输出的学生网络中间层特征图的通道数。但与Chen文献本质不同的是,本专利技术并不是从骨干网中选取位置建立桥接,而是从FPN的特征金字塔部分的附本文档来自技高网
...

【技术保护点】
1.一种基于知识蒸馏的卷积神经网络优化方法,其特征在于:从FPN的特征金字塔部分的附加结构中选取位置建立桥接;在教师FPN网络T与学生FPN网络S之间的桥接位置建立多个特征适配层;采用层次加权的多尺度损失函数用作网络训练的损失函数。

【技术特征摘要】
1.一种基于知识蒸馏的卷积神经网络优化方法,其特征在于:从FPN的特征金字塔部分的附加结构中选取位置建立桥接;在教师FPN网络T与学生FPN网络S之间的桥接位置建立多个特征适配层;采用层次加权的多尺度损失函数用作网络训练的损失函数。2.根据权利要求1所述的一种基于知识蒸馏的卷积神经网络优化方法,其特征在于:在教师FPN网络T与学生FPN网络S之间的桥接位置上用1x1卷积层进行特征适配。3.根据权利要求1所述的一种基于知识蒸馏的卷积神经网络优化方法,其特征在于:若在教师FPN网络T与学生FPN网络S之间建立多个桥接,则其中任意两个桥接(Pi_t,Pk_s)和(Pj_t,Pl_s)的位置关系均须满足如下约束:(1)i不等于j,且k不等于1;(2)如果i>j,则k>1。4.根据权利要求1所述的一种基于知识蒸馏的卷积神经网络优化方法,其特征在于:特征适配层的个数n采用如下方式确定:1≤n≤N且N=min(Nt,Ns),其中:Nt表示教师FPN网络T附加结构输出特征图数量,Ns表示学生FPN网络S附加结构输出特征图数量。5.根据权利要求1所述的一种基于知识蒸馏的卷积...

【专利技术属性】
技术研发人员:王标隆刚史方
申请(专利权)人:成都视观天下科技有限公司
类型:发明
国别省市:四川,51

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

1