一种深度卷积神经网络训练方法及装置与流程

文档序号:12748542阅读:414来源:国知局
一种深度卷积神经网络训练方法及装置与流程

本发明涉及深度学习技术领域,特别涉及一种深度卷积神经网络训练方法及装置。



背景技术:

近年来,随着互联网与计算机技术的迅猛发展,深度卷积神经网络(Deep Convolutional Neural Network,DCNN)已在图像分类、音频识别等挑战性课题中取得了突破性成功。但是,DCNN的模型结构庞大复杂,需要大规模数据对模型参数进行优化训练。然而,现实生活中的许多实际问题,通常只有小规模数据的支持,直接利用目标任务的小规模训练数据,很难获得高性能的DCNN。一个广泛应用的策略是迁移学习,在深度学习研究领域,迁移学习是一种针对小规模目标数据集建模的有效技术。大量的研究表明,从大规模源数据集训练得到的DCNN具有一般性表达,可以将其作为小规模目标数据集的预训练模型[Donahue et al.,2014;Yosinski et al.,2014]。即先利用通用任务的大规模数据集(源数据集)训练一个结构庞大的DCNN,然后使用目标任务的小规模数据集(目标数据集)对预训练的DCNN进行微调而获取关于目标任务的DCNN。但是,通过源数据集预训练得到的DCNN包含大量模型冗余,这会较大程度上限制迁移学习的能力,进而影响迁移学习后DCNN在目标任务上的预测性能。

为了减少冗余,科研人员提出对DCNN进行压缩与剪枝[Hintonet al,2015;Hanet al.,2015;Han et al.,2016]。其中,[Han et al.,2015;Han et al.,2016]提出一种针对DCNN模型参数的迭代剪枝策略,实现了可观的冗余压缩率。另外,[Hinton et al.,2015]将大规模DCNN中的“知识”提炼至小规模DCNN,从而有效指导小规模DCNN的训练,以此间接实现对大规模DCNN的模型压缩。但是,从模型压缩的角度出发,DCNN的剪枝压缩策略[Hinton et al,2015;Han et al.,2015;Han et al.,2016]主要是针对同一大规模源数据集的操作,而未涉及小规模目标数据集的迁移学习。因此,此类方法仍存在如何为小规模目标数据集建立高性能DCNN的问题。

上述中,与本申请相关的参考文献包括:

Yosinski,J.,Clune,J.,Bengio,Y.,Lipson,H.(2014).How transferable are features in deep neural networks?.In Advances in Neural Information Processing Systems.

Donahue,J.,Jia,Y.,Vinyals,O.,Hoffman,J.,Zhang,N.,Tzeng,E.,Darrell,T.(2014).Decaf:A deep convolutional activation feature for generic visual recognition.In International Conference on Machine Learning.

Han,S.,Pool,J.,Tran,J.,Dally,W.(2015).Learning both Weights and Connections for Efficient Neural Network.In Advances in Neural Information Processing Systems.

Hinton,G.,Vinyals,O.,Dean,J.(2015).Distilling the knowledge in a neural network.arXiv preprint arXiv:1503.02531.

Krizhevsky,A.,Sutskever,I.,Hinton,G.E.(2012).Imagenet classification with deep convolutional neural networks.In Advances in neural information processing systems.

Han,S.,Mao,H.,Dally,W.J.(2016).Deep compression:Compressing deep neural network with pruning,trained quantization and huffman coding.In International Conference on Learning Representations.



技术实现要素:

本发明提供了一种深度卷积神经网络训练方法及装置,旨在至少在一定程度上解决现有技术中的上述技术问题之一。

为了解决上述问题,本发明提供了如下技术方案:

一种深度卷积神经网络训练方法,包括以下步骤:

步骤a:在大规模源数据集上对DCNN进行预训练,并对所述DCNN进行模型剪枝;

步骤b:在剪枝过的DCNN上进行迁移学习;

步骤c:利用小规模目标数据集对迁移后的DCNN进行模型压缩。

本发明实施例采取的技术方案还包括:在所述步骤a中,所述对DCNN进行预训练具体为:使用大规模源数据集,通过反向传播算法与梯度下降法,对所述DCNN进行预训练;所述对DCNN进行模型剪枝具体为:使用剪枝-重训练的迭代策略进行模型剪枝,每一迭代分为两步,第一步是模型剪枝,将本次DCNN中显著性较低的模型权重参数置为零;第二步是模型重训练,采用反向传播算法与梯度下降法训练剪枝后的DCNN,得到稀疏化DCNN。

本发明实施例采取的技术方案还包括:在所述步骤b中,所述在剪枝过的DCNN上进行迁移学习具体包括:

步骤b1:修改所述稀疏化DCNN的输出层为目标数据集的类别,将输出层以及最靠近输出层的全连接层恢复成致密,并对最靠近输出层的全连接层的模型权重参数进行随机初始化;

步骤b2:提炼源数据集上关于目标数据集的隐含知识,利用小规模数据集的显性知识及其在源数据集中的隐含知识,微调训练稀疏化的DCNN,实现迁移学习。

本发明实施例采取的技术方案还包括:在所述步骤b中,所述在剪枝过的DCNN上进行迁移学习具体还包括:

步骤b3:将修改后的稀疏化DCNN作为主干模型;

步骤b4:将源数据集上的预训练DCNN作为隐含知识参考模型;

步骤b5:将所述隐含知识参考模型中的输出层以及最靠近输出层的全连接层进行复制,作为所述主干模型的额外分支,将所述额外分支置于主干模型的对应层之上;

步骤b6:利用主干模型的预测与目标训练集的对应标记比较,设计主损失函数;利用额外分支的预测与隐含知识参考模型的对应输出比较,设计额外损失函数;总损失函数是主损失函数与额外损失函数的加权和;利用所述总损失函数,在目标数据集上对主干模型和额外分支使用反向传播算法进行模型训练,实现迁移学习。

本发明实施例采取的技术方案还包括:在所述步骤c中,所述对迁移后的DCNN进行模型压缩具体包括:首先使用剪枝-重训练的迭代策略,在所述主干模型中进行剪枝,使用总损失函数对主干模型中的未置零的连接以及额外分枝进行参数学习;然后随机从目标训练集中抽取样本子集作为主干模型的输入,获得所述抽取样本子集在全连接层上的激活值,剪掉显著性较低的神经元,并利用总损失函数进行重训练,以此迭代多次完成模型压缩。

本发明实施例采取的另一技术方案为:一种深度卷积神经网络训练装置,包括:

模型预训练模块:用于在大规模源数据集上对DCNN进行预训练,并对所述DCNN进行模型剪枝;

迁移学习模块:用于在剪枝过的DCNN上进行迁移学习;

模型压缩模块:用于利用小规模目标数据集对迁移后的DCNN进行模型压缩。

本发明实施例采取的技术方案还包括:所述模型预训练模块对DCNN进行预训练具体为:使用大规模源数据集,通过反向传播算法与梯度下降法,对所述DCNN进行预训练;所述对DCNN进行模型剪枝具体为:使用剪枝-重训练的迭代策略进行模型剪枝,每一迭代分为两步,第一步是模型剪枝,将本次DCNN中显著性较低的模型权重参数置为零;第二步是模型重训练,采用反向传播算法与梯度下降法训练剪枝后的DCNN,得到稀疏化DCNN。

本发明实施例采取的技术方案还包括:所述迁移学习模块包括:

模型修改单元:用于修改所述稀疏化DCNN的输出层为目标数据集的类别,将输出层以及最靠近输出层的全连接层恢复成致密,并对最靠近输出层的全连接层的模型权重参数进行随机初始化;

模型微调单元:用于提炼源数据集上关于目标数据集的隐含知识,利用小规模数据集的显性知识及其在源数据集中的隐含知识,微调训练稀疏化的DCNN,实现迁移学习。

本发明实施例采取的技术方案还包括:所述迁移学习模块在剪枝过的DCNN上进行迁移学习具体还包括:将修改后的稀疏化DCNN作为主干模型;将源数据集上的预训练DCNN作为隐含知识参考模型;将所述隐含知识参考模型中的输出层以及最靠近输出层的全连接层进行复制,作为所述主干模型的额外分支,将所述额外分支置于主干模型的对应层之上;利用主干模型的预测与目标训练集的对应标记比较,设计主损失函数;利用额外分支的预测与隐含知识参考模型的对应输出比较,设计额外损失函数;总损失函数是主损失函数与额外损失函数的加权和;利用所述总损失函数,在目标数据集上对主干模型和额外分支使用反向传播算法进行模型训练,实现迁移学习。

本发明实施例采取的技术方案还包括:所述模型压缩模块对迁移后的DCNN进行模型压缩具体包括:首先使用剪枝-重训练的迭代策略,在所述主干模型中进行剪枝,使用总损失函数对主干模型中的未置零的连接以及额外分枝进行参数学习;然后随机从目标训练集中抽取样本子集作为主干模型的输入,获得所述抽取样本子集在全连接层上的激活值,剪掉显著性较低的神经元,并利用总损失函数进行重训练,以此迭代多次完成模型压缩。

相对于现有技术,本发明实施例产生的有益效果在于:本发明实施例的深度卷积神经网络训练方法及装置利用迁移学习方法与模型压缩技术的优势互补,在大规模源数据集到小规模目标数据集的迁移学习过程中,对DCNN进行模型压缩与剪枝,从而改善迁移学习能力,以降低DCNN在小规模目标数据集上的过拟合风险与部署难度,提高模型在目标数据集上的预测能力。通过本发明得到的压缩DCNN,可适用于移动终端、嵌入式装置、机器人等计算和存储受限的高新产业领域,具有较高的经济实用价值。

附图说明

图1是本发明实施例的深度卷积神经网络训练方法的流程图;

图2是本发明实施例的深度卷积神经网络训练装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明实施例的深度卷积神经网络训练方法及装置利用迁移学习方法与模型压缩技术的优势互补,在大规模源数据集到小规模目标数据集的迁移学习过程中,对DCNN进行模型压缩与剪枝,从而改善迁移学习能力,以降低DCNN在小规模目标数据集上的过拟合风险与部署难度,提高其预测识别率。

具体地,请参阅图1,是本发明实施例的深度卷积神经网络训练方法的流程图。本发明实施例的深度卷积神经网络训练方法包括以下步骤:

步骤100:在大规模源数据集上对DCNN进行预训练,并对该DCNN进行模型剪枝,得到稀疏化DCNN;

在步骤100中,对DCNN进行预训练具体为:使用大规模源数据集,通过反向传播算法与梯度下降法,对一个DCNN进行预训练。对DCNN进行模型剪枝具体为:使用剪枝-重训练的迭代策略进行模型剪枝。每一迭代分为两步,第一步是模型剪枝,将本次DCNN中显著性(如数值绝对值)较低的模型权重参数置为零。由此,这些参数对应的神经网络连接将不再在DCNN中起作用,网络结构变得稀疏,进而达到模型剪枝效果。迭代的第二步是模型重训练,采用反向传播算法与梯度下降法训练剪枝后的DCNN,即只针对未被置零的模型参数进行训练。通过这样一个数次迭代的过程,实现在DCNN分类性能不被影响的前提下,尽可能多地删除网络的连接,以稀疏化网络,减少模型冗余。

步骤200:在剪枝过的DCNN上利用目标数据集的显性知识和源数据集的隐含知识进行迁移学习,将DCNN转移到目标域;

在步骤200中,在剪枝过的DCNN上进行迁移学习具体包括以下步骤:

步骤201:修改稀疏化DCNN的输出层为目标数据集的类别,并将输出层以及最靠近输出层的全连接层恢复成致密,并对最靠近输出层的全连接层的模型权重参数进行随机初始化;

在步骤201中,需要进行致密恢复与重新初始化的全连接层的数目并非恒定,其最优值因任务、神经网络结构等因素的不同而改变。本发明实施例中进行该操作的全连接层的数目优选为两层。

步骤202:提炼源数据集上关于目标数据集的隐含知识,利用小规模数据集的显性知识及其在源数据集中的隐含知识,微调训练稀疏化的DCNN,实现迁移学习;

在步骤202中,为了提高模型预测性能,本发明实施例在目标数据集之外,将源数据集中关于目标数据集的隐含知识引入进迁移学习。具体而言,本发明实施例对DCNN模型进行以下修改:

1、将修改后的稀疏化DCNN作为主干模型;将目标数据输入此主干模型,输出层会输出有关目标数据的预测概率。

2、将源数据集上的预训练DCNN作为隐含知识参考模型;将目标数据输入此参考模型,输出层会输出软标记(softmax函数中加入温度参数T),这个软标记是对应于源数据类别的信息,它包含了源数据中关于目标数据的隐含知识。

3、将所述隐含知识参考模型中的输出层以及最靠近输出层的全连接层进行复制,作为所述主干模型的额外分支,将所述额外分支置于主干模型的对应层之上。此处所复制的全连接层的层数应与步骤201中进行致密恢复与重新初始化操作的全连接层的层数相同。将目标数据输入主干模型后通过此额外分支,其输出层会输出有关源数据中隐含知识的软预测概率(softmax函数中加入温度参数T)。

4、利用主干模型的预测与目标训练集的对应标记比较,设计主损失函数;利用额外分支的预测与隐含知识参考模型的对应输出比较,设计额外损失函数,此额外损失函数主要用于从参考模型中抽取源数据中关于目标数据的隐含知识;总损失函数是主损失函数与额外损失函数的加权和;利用所述总损失函数,在目标数据集上对主干模型和额外分支使用反向传播算法进行模型训练,实现迁移学习。

步骤300:利用小规模目标数据集对迁移后的DCNN进行模型压缩;

在步骤300中,当稀疏化的DCNN通过迁移学习转移到目标域后,利用小规模目标数据集对迁移后的DCNN进行压缩,以使生成的稀疏化DCNN进一步减小在目标域上的冗余,提高模型在目标数据集上的预测能力。具体地,由于最终只需要使用主干模型对目标测试集进行预测评估,所以本发明实施例只针对主干模型进行模型压缩。压缩策略与步骤100中的剪枝-重训练的迭代策略类似,但是在每次迭代中,剪枝只在主干模型中进行,而重训练则使用总损失函数对主干模型中的未置零的连接以及额外分枝进行参数学习。

在完成剪枝-重训练后,剪掉主干模型中全连接层的部分神经元,从而进一步压缩模型规模。具体而言,压缩方式包括:随机地从目标训练集中抽取样本子集作为主干模型的输入,以此获得这些抽取样本在某个全连接层上的激活值。对于此全连接层,首先剪掉显著性(如平均激活值)较低的神经元,而后利用总损失函数进行重训练,以此迭代多次完成模型压缩。

请参阅图2,是本发明实施例的深度卷积神经网络训练装置的结构示意图。本发明实施例的深度卷积神经网络训练装置包括模型预训练模块、迁移学习模块和模型压缩模块。

模型预训练模块:用于在大规模源数据集上对DCNN进行预训练,并对该DCNN进行模型剪枝,得到稀疏化DCNN;其中,模型预训练模块对DCNN进行预训练具体为:使用大规模源数据集,通过反向传播算法与梯度下降法,对DCNN进行预训练。模型预训练模块对DCNN进行模型剪枝具体为:使用剪枝-重训练的迭代策略进行模型剪枝。每一迭代分为两步,第一步是模型剪枝,将本次DCNN中显著性(如数值绝对值)较低的模型权重参数置为零。由此,这些参数对应的神经网络连接将不再在DCNN中起作用,进而达到模型剪枝效果。迭代的第二步是模型重训练,采用反向传播算法与梯度下降法训练剪枝后的DCNN,即只针对未被置零的模型参数进行训练。通过这样一个数次迭代的过程,实现在DCNN分类性能不被影响的前提下,尽可能多地删除网络的连接,以稀疏化网络,减少模型冗余。

迁移学习模块:用于在剪枝过的DCNN上利用目标数据集和源数据集的隐含知识进行迁移学习,将DCNN转移到目标域;具体地,迁移学习模块包括模型修改单元和模型微调单元;

模型修改单元:用于修改稀疏化DCNN的输出层为目标数据集的类别,并将输出层以及最靠近输出层的全连接层恢复成致密,并对最靠近输出层的全连接层的模型权重参数进行随机初始化;

模型微调单元:用于提炼源数据集上关于目标数据集的隐含知识,利用小规模数据集的显性知识及其在源数据集中的隐含知识,微调训练稀疏化的DCNN,实现迁移学习。

在本发明实施例中,为了提高模型预测性能,本发明实施例在目标数据集之外,将源数据集中关于目标数据集的隐含知识引入进迁移学习。具体而言,本发明实施例对DCNN模型进行以下修改:

1、将修改后的稀疏化DCNN作为主干模型;将目标数据输入此主干模型,输出层会输出有关目标数据的预测概率。

2、将源数据集上的预训练DCNN作为隐含知识参考模型;将目标数据输入此参考模型,输出层会输出软标记(softmax函数中加入温度参数T),这个软标记是对应于源数据类别的信息,它包含了源数据中关于目标数据的隐含知识。

3、将所述隐含知识参考模型中的输出层以及最靠近输出层的全连接层进行复制,作为所述主干模型的额外分支,将所述额外分支置于主干模型的对应层之上。将目标数据输入主干模型后通过此额外分支,其输出层会输出有关源数据中隐含知识的软预测概率(softmax函数中加入温度参数T)。

4、利用主干模型的预测与目标训练集的对应标记比较,设计主损失函数;利用额外分支的预测与隐含知识参考模型的对应输出比较,设计额外损失函数,此额外损失函数主要用于从参考模型中抽取源数据中关于目标数据的隐含知识;总损失函数是主损失函数与额外损失函数的加权和;利用所述总损失函数,在目标数据集上对主干模型和额外分支使用反向传播算法进行模型训练,实现迁移学习。

模型压缩模块:用于利用小规模目标数据集对迁移后的DCNN进行模型压缩;其中,当稀疏化的DCNN通过迁移学习转移到目标域后,利用小规模目标数据集对迁移后的DCNN进行压缩,以使生成的稀疏化DCNN进一步减小在目标域上的冗余,提高模型在目标数据集上的预测能力。具体地,由于最终只需要使用主干模型对目标测试集进行预测评估,所以本发明实施例只针对主干模型进行模型压缩。压缩策略与步骤100中的剪枝-重训练的迭代策略类似,但是在每次迭代中,剪枝只在主干模型中进行,而重训练则使用总损失函数对主干模型中的未置零的连接以及额外分枝进行参数学习。

在完成剪枝-重训练后,剪掉主干模型中全连接层的部分神经元,从而进一步压缩模型规模。具体而言,压缩方式包括:随机地从目标训练集中抽取样本子集作为主干模型的输入,以此获得这些抽取样本在某个全连接层上的激活值。对于此全连接层,首先剪掉显著性(如平均激活值)较低的神经元,而后利用总损失函数进行重训练,以此迭代多次完成模型压缩。

为了证明本发明的切实可行,我们利用具有广泛应用价值的场景识别任务进行验证。实验中,使用ImageNet ILSVRC12物体图像数据集(包含过百万幅图像)作为大规模源数据集,使用MIT Indoor Scene Recognition Database场景图像数据库(包含15,620幅图像)作为小规模目标数据集。另外,选用广泛应用的AlexNet模型(5层卷积层,3层全连接层)[Krizheyshky et al.,2012],作为DCNN模型进行验证。分别就本发明实施例中具有最高性能和最高压缩率的模型进行探讨,结果如表一所示。各组实验都使用MIT Indoor Scene Recognition Database的标准测试集进行正确率评估。

表1各组实验的场景识别正确率与压缩率

由表1可知,较传统的微调方法,本发明不仅可以在迁移学习中大幅度地压缩深度神经网络,以降低DCNN在小规模目标数据集上的过拟合风险与部署难度,而且还可以提高迁移学习后DCNN的预测识别准确率。由此可见,本发明是一个切实可行的针对小规模数据集的高性能深度卷积神经网络训练方法。

本发明实施例的深度卷积神经网络训练方法及装置利用迁移学习方法与模型压缩技术的优势互补,在大规模源数据集到小规模目标数据集的迁移学习过程中,对DCNN进行模型压缩与剪枝,从而改善迁移学习能力,以降低DCNN在小规模目标数据集上的过拟合风险与部署难度,提高模型在目标数据集上的预测能力。通过本发明得到的压缩DCNN,可适用于移动终端、嵌入式装置、机器人等计算和存储受限的高新产业领域,具有较高的经济实用价值。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1