深度神经网络模型压缩训练方法、装置、设备、介质制造方法及图纸

技术编号:25123891 阅读:48 留言:0更新日期:2020-08-05 02:52
本申请公开了一种深度神经网络模型压缩训练方法、装置、设备、介质,该方法包括:获取目标训练数据集;将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出;根据所述第一输出和所述第二输出构建目标损失函数;利用所述目标损失函数对所述第一深度神经网络模型的第一全精度权重参数和所述第二深度神经网络模型的第二全精度权重参数进行更新;利用所述第二全精度权重参数更新所述第二深度神经网络模型的量化权重参数,并在所述目标损失函数满足预设要求时,将所述第二深度神经网络模型作为训练后压缩神经网络模型。这样能够减小模型的大小,降低存储和内存带宽需求,降低计算代价。

【技术实现步骤摘要】
深度神经网络模型压缩训练方法、装置、设备、介质
本申请涉及机器学习
,特别涉及一种深度神经网络模型压缩训练方法、装置、设备、介质。
技术介绍
在大数据集和并行计算等技术的推动下,基于深度学习的神经网络得到了学术界和工业界的广泛关注,在多个领域有着比较大的突破,如图像分类、目标检测、语义分割、人脸检测和人脸识别等,然而,目前基于深度神经网络模型的算法仍然面临许多挑战。首先,虽然基于深度神经网络模型的算法在多个数据集取得较为优异的识别率,但是目前深度神经网络模型具有巨大的参数量,从而导致了庞大的存储和内存带宽需求,造成资源占用率太高。其次,基于深度神经网路的模型有较高的计算复杂度,使得基于深度神经网络模型的算法在推理速度上难以满足实时性需求,对实时性要求较高的设备不适用。庞大的参数量和计算量使得基于深度神经网络模型的算法难以部署到资源受限的设备中,如手机,穿戴设备和无人机等,这极大地限制了基于深度神经网络模型的算法在各个领域的应用。所以如何对现有的深度神经网络模型进行压缩,是目前本领域技术人员亟需解决的技术问题。
技术实现思路
有鉴于此,本申请的目的在于提供一种深度神经网络模型压缩训练方法、装置、设备、介质,能够减小模型的大小,降低存储和内存带宽需求,降低计算代价,使得基于深度神经网络模型的算法能够部署到资源受限的设备中,加快神经网络的前向传播速度,满足实时计算需求。其具体方案如下:第一方面,本申请公开了一种深度神经网络模型压缩训练方法,包括:获取目标训练数据集;将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出;根据所述第一输出和所述第二输出构建目标损失函数;利用所述目标损失函数对所述第一深度神经网络模型的第一全精度权重参数和所述第二深度神经网络模型的第二全精度权重参数进行更新;利用所述第二全精度权重参数更新所述第二深度神经网络模型的量化权重参数,并在所述目标损失函数满足预设要求时,将所述第二深度神经网络模型作为训练后压缩神经网络模型。可选地,所述利用所述目标训练数据集对预先构建的第一深度神经网络模型和第二深度神经网络模型进行训练之前,还包括:构建所述第一深度神经网络模型和所述第二深度神经网络模型。可选地,所述构建所述第一深度神经网络模型和所述第二深度神经网络模型,包括:构建ResNet网络分别作为所述第一深度神经网络模型和所述第二深度神经网络模型;或,构建PreResNet网络分别作为所述第一深度神经网络模型和所述第二深度神经网络模型。可选地,所述将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型之前,还包括:对所述目标训练数据集进行预处理,得到预处理后目标训练数据集;相应的,所述将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出,包括:将所述预处理后目标训练数据集输入到预先构建的第一深度神经网络模型,得到第一输出;将所述预处理后目标训练数据集输入到预先构建的第二深度神经网络模型,得到第二输出。可选地,所述根据所述第一输出和所述第二输出构建目标损失函数,包括:利用所述第一输出、所述第二输出和softmax函数,分别确定第一概率输出和第二概率输出;根据所述第一概率输出、所述第二概率输出和第一预设公式,确定辅助损失函数,其中,所述第一预设公式为:其中,表示第i个样本的第一概率输出,表示所述第i个样本的第二概率输出,DKL(Pfull,Plow)表示所述辅助损失函数,N表示所述目标训练数据集中样本数量;根据所述辅助损失函数、所述第一深度神经网络模型的第一交叉熵损失函数、所述第二深度神经网络模型的第二交叉熵损失函数和第二预设公式,构建所述第一深度神经网络模型的第一目标损失函数和所述第二深度神经网络模型的第二目标损失函数,其中,所述第二预设公式为:其中,Lfull表示所述第一深度神经网络模型的第一目标损失函数,Llow表示所述第二深度神经网络模型的第二目标损失函数,表示第一深度神经网络模型的第一交叉熵损失函数,表示第二深度神经网络模型的第二交叉熵损失函数,β表示预设系数,m表示所述第一深度神经网络模型或所述第二深度神经网络模型的分类结果类别数,I{·}表示指示函数,当满足输入条件时,输出1,否则输出为0,y(i)表示第i个样本的标签,表示第i个样本第t个类别的概率。可选地,所述利用所述目标损失函数对所述第一深度神经网络模型的第一全精度权重参数和所述第二深度神经网络模型的第二全精度权重参数进行更新,包括:利用所述第一目标损失函数和随机梯度下降算法对所述第一深度神经网络模型的第一全精度权重参数进行更新;利用所述第二目标损失函数和随机梯度下降算法对所述第二深度神经网络模型的第二全精度权重参数进行更新。可选地,所述利用所述第二全精度权重参数更新所述第二深度神经网络模型的量化权重参数,包括:利用所述第二全精度权重参数和第三预设公式更新所述第二深度神经网络模型的量化权重参数,其中,所述第三预设公式为:其中,wq表示所述第二深度神经网络模型的量化权重参数,w表示所述第二全精度权重参数,tanh表示双曲正切函数,max函数用于返回输入向量中的最大值,Q表示离散函数。第二方面,本申请公开了一种深度神经网络模型压缩训练装置,包括:数据获取模块,用于获取目标训练数据集;模型训练模块,用于将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出;损失函数构建模块,用于根据所述第一输出和所述第二输出构建目标损失函数;全精度权重参数更新,用于利用所述目标损失函数对所述第一深度神经网络模型的第一全精度权重参数和所述第二深度神经网络模型的第二全精度权重参数进行更新;量化权重参数利更新,用于用所述第二全精度权重参数更新所述第二深度神经网络模型的量化权重参数;模型确定模块,用于在所述目标损失函数满足预设要求时,将所述第二深度神经网络模型作为训练后压缩神经网络模型。第三方面,本申请公开了一种深度神经网络模型压缩训练设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以实现前述公开的深度神经网络模型压缩训练方法。第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的深度神经网络模型压缩训练方法。可见,本申请先获取目标训练数据集,然后将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出,再根据所述第一输出和所述第二输出构建目标损失函数,接着利用所述目标损失函本文档来自技高网...

【技术保护点】
1.一种深度神经网络模型压缩训练方法,其特征在于,包括:/n获取目标训练数据集;/n将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出;/n根据所述第一输出和所述第二输出构建目标损失函数;/n利用所述目标损失函数对所述第一深度神经网络模型的第一全精度权重参数和所述第二深度神经网络模型的第二全精度权重参数进行更新;/n利用所述第二全精度权重参数更新所述第二深度神经网络模型的量化权重参数,并在所述目标损失函数满足预设要求时,将所述第二深度神经网络模型作为训练后压缩神经网络模型。/n

【技术特征摘要】
1.一种深度神经网络模型压缩训练方法,其特征在于,包括:
获取目标训练数据集;
将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出;
根据所述第一输出和所述第二输出构建目标损失函数;
利用所述目标损失函数对所述第一深度神经网络模型的第一全精度权重参数和所述第二深度神经网络模型的第二全精度权重参数进行更新;
利用所述第二全精度权重参数更新所述第二深度神经网络模型的量化权重参数,并在所述目标损失函数满足预设要求时,将所述第二深度神经网络模型作为训练后压缩神经网络模型。


2.根据权利要求1所述的深度神经网络模型压缩训练方法,其特征在于,所述利用所述目标训练数据集对预先构建的第一深度神经网络模型和第二深度神经网络模型进行训练之前,还包括:
构建所述第一深度神经网络模型和所述第二深度神经网络模型。


3.根据权利要求2所述的深度神经网络模型压缩训练方法,其特征在于,所述构建所述第一深度神经网络模型和所述第二深度神经网络模型,包括:
构建ResNet网络分别作为所述第一深度神经网络模型和所述第二深度神经网络模型;
或,构建PreResNet网络分别作为所述第一深度神经网络模型和所述第二深度神经网络模型。


4.根据权利要求1所述的深度神经网络模型压缩训练方法,其特征在于,将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型之前,还包括:
对所述目标训练数据集进行预处理,得到预处理后目标训练数据集;
相应的,所述将所述目标训练数据集输入到预先构建的第一深度神经网络模型和第二深度神经网络模型,得到第一输出和第二输出,包括:
将所述预处理后目标训练数据集输入到预先构建的第一深度神经网络模型,得到第一输出;
将所述预处理后目标训练数据集输入到预先构建的第二深度神经网络模型,得到第二输出。


5.根据权利要求1所述的深度神经网络模型压缩训练方法,其特征在于,所述根据所述第一输出和所述第二输出构建目标损失函数,包括:
利用所述第一输出、所述第二输出和softmax函数,分别确定第一概率输出和第二概率输出;
根据所述第一概率输出、所述第二概率输出和第一预设公式,确定辅助损失函数,其中,所述第一预设公式为:



其中,表示第i个样本的第一概率输出,表示所述第i个样本的第二概率输出,DKL(Pfull,Plow)表示所述辅助损失函数,N表示所述目标训练数据集中样本数量;
根据所述辅助损失函数、所述第一深度神经网络模型的第一交叉熵损失函数、所述第二深度神经网络模型的第二交叉熵损失函数和第二预设公式,构建所述第一深度神经网络模型的第一目标损失函数和所述第二深度神经网络模型的第二目标损失函数,其中,所述第二预设公式为:




【专利技术属性】
技术研发人员:吴庆耀刘璟谭明奎
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

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

1