深度卷积神经网络压缩方法、装置、存储介质及设备制造方法及图纸

技术编号:28538383 阅读:64 留言:0更新日期:2021-05-21 09:02
本发明专利技术公开了一种深度卷积神经网络压缩方法、装置、存储介质及设备,属于模式识别领域。该方法包括:获取DCNN、精简网络和训练集;使用训练集训练DCNN;从训练集的每个类别中随机选取一个样本组成训练子集;将训练子集输入训练好的DCNN,提取第一特征矩阵,并得到在DCNN的特征层或分类层的输出;将训练子集中样本的标签替换为DCNN的输出;从训练子集中分批取出样本输入精简网络,计算损失函数并更新精简网络的参数;重复上述步骤,直至训练子集中所有样本被取出;迭代上述步骤一定次数,完成精简网络的训练。本发明专利技术提高了精简网络算法的准确率,加速了精简网络模型的收敛。

【技术实现步骤摘要】
深度卷积神经网络压缩方法、装置、存储介质及设备
本专利技术涉及模式识别领域,特别是指一种深度卷积神经网络压缩方法、装置、计算机可读存储介质及设备。
技术介绍
卷积神经网络(ConvolutionalNeuralNetwork,CNN),也简称为网络,是一类模式识别方法。该方法旨在使用卷积的方法对图像等数据进行表征量化,进而完成分类或是回归任务。该方法目前在图像分类、语音识别等方向表现出了优异的性能。近年来随着深度学习的发展,为了显著的提升模型准确率,网络的计算量和参数随之大幅增加,这种巨大的网络模型也称为深度卷积神经网络(DeepConvolutionalNeuralNetwork,DCNN)。但是这些DCNN在部署阶段,往往需要占用巨大内存资源,同时运行起来极其耗时,尤其是在移动终端上,运算资源有限,导致这些准确率高的DCNN在实际的运用过程中举步维艰。为了在更多场景中应用DCNN,需要对DCNN模型进行压缩和加速,常用的模型压缩加速算法有模型裁剪法、模型搜索法等。但是这些方法压缩后得到的精简网络的准确率很难满足要求,效果较差。
技术实现思路
为解决上述技术问题,本专利技术提供一种深度卷积神经网络压缩方法、装置、存储介质及设备,提高了精简网络算法的准确率,加速了精简网络模型的收敛。本专利技术提供技术方案如下:第一方面,本专利技术提供一种深度卷积神经网络压缩方法,所述方法包括:步骤S1:获取DCNN、与DCNN对应的精简网络和训练集,所述训练集包括多个类别的样本,所述样本上设置有表示该样本类别的标签;步骤S2:使用训练集训练DCNN;步骤S3:从训练集的每个类别中随机选取一个样本,组成训练子集;步骤S4:将训练子集输入训练好的DCNN,提取第一特征矩阵,并得到训练子集中每个样本在DCNN的特征层或分类层的输出;步骤S5:将训练子集中每个样本的标签替换为该样本在DCNN的特征层或分类层的输出;步骤S6:从训练子集中取出一批样本输入精简网络,得到第二特征矩阵;步骤S7:根据第一特征矩阵、第二特征矩阵和替换后的标签计算损失函数;步骤S8:采用随机梯度下降法更新精简网络的参数;步骤S9:判断训练子集中是否有样本未被取出,若是,返回步骤S6,否则,执行步骤S10;步骤S10:判断是否达到迭代次数,若是,完成精简网络的训练,结束,否则,返回步骤S3。进一步的,所述损失函数的计算公式为:Loss(Ibatch,batch)=Softmaxloss(pre_logit,batch)其中,Loss(Ibatch,batch)为计算得到的损失函数值,Softmaxloss()为多分类交叉熵损失函数,为的转置,为第一特征矩阵,为第二特征矩阵,batch为替换后的标签,Ibatch为从训练子集中取出的一批样本。进一步的,所述DCNN和精简网络用于人脸识别,所述训练集的样本通过如下方法得到:对人脸图像进行人脸检测和关键点定位,得到人脸区域和人脸关键点,所述人脸关键点包括左眼坐标和右眼坐标;通过仿射变换将左眼坐标和右眼坐标对齐到指定坐标位置;将人脸区域归一化为指定的大小并进行灰度化,得到样本;为样本设置表示该样本类别的标签。进一步的,所述左眼坐标对齐到(30,30)坐标,所述右眼坐标对齐到(30,70)坐标,将人脸区域归一化为100*100的大小。第二方面,本专利技术提供一种深度卷积神经网络压缩装置,所述装置包括:获取模块,用于获取DCNN、与DCNN对应的精简网络和训练集,所述训练集包括多个类别的样本,所述样本上设置有表示该样本类别的标签;DCNN训练模块,使用训练集训练DCNN;训练子集获取模块,从训练集的每个类别中随机选取一个样本,组成训练子集;第一特征矩阵提取模块,用于将训练子集输入训练好的DCNN,提取第一特征矩阵,并得到训练子集中每个样本在DCNN的特征层或分类层的输出;标签替换模块,用于将训练子集中每个样本的标签替换为该样本在DCNN的特征层或分类层的输出;第二特征矩阵提取模块,用于从训练子集中取出一批样本输入精简网络,得到第二特征矩阵;损失函数计算模块,用于根据第一特征矩阵、第二特征矩阵和替换后的标签计算损失函数;参数更新模块,用于采用随机梯度下降法更新精简网络的参数;第一判断模块,用于判断训练子集中是否有样本未被取出,若是,返回第二特征矩阵提取模块,否则,执行第二判断模块;第二判断模块,用于判断是否达到迭代次数,若是,完成精简网络的训练,结束,否则,返回训练子集获取模块。进一步的,所述损失函数的计算公式为:Loss(Ibatch,batch)=Softmaxloss(pre_logit,batch)其中,Loss(Ibatch,batch)为计算得到的损失函数值,Softmaxloss()为多分类交叉熵损失函数,为的转置,为第一特征矩阵,为第二特征矩阵,batch为替换后的标签,Ibatch为从训练子集中取出的一批样本。进一步的,所述DCNN和精简网络用于人脸识别,所述训练集的样本通过如下单元得到:人脸检测和关键点定位单元,用于对人脸图像进行人脸检测和关键点定位,得到人脸区域和人脸关键点,所述人脸关键点包括左眼坐标和右眼坐标;对齐单元,用于通过仿射变换将左眼坐标和右眼坐标对齐到指定坐标位置;归一化和灰度化单元,用于将人脸区域归一化为指定的大小并进行灰度化,得到样本;标签设置单元,用于为样本设置表示该样本类别的标签。进一步的,所述左眼坐标对齐到(30,30)坐标,所述右眼坐标对齐到(30,70)坐标,将人脸区域归一化为100*100的大小。第三方面,本专利技术提供一种用于深度卷积神经网络压缩的计算机可读存储介质,包括用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现第一方面所述的深度卷积神经网络压缩方法的步骤。第四方面,本专利技术提供一种用于深度卷积神经网络压缩的设备,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现第一方面所述的深度卷积神经网络压缩方法的步骤。本专利技术具有以下有益效果:本专利技术使用DCNN的输出代替原有的类别标签训练精简网络,使得精简网络更接近真实分类,准确率高,基于全局特征结构进行模型压缩,提高了精简网络算法的准确率,加速了精简网络模型的收敛。附图说明图1为本专利技术的深度卷积神经网络压缩方法流程图;图2为本专利技术的深度卷积神经网络压缩方法示意图;图3为人脸样本的获取过程;图4为本专利技术的深度卷积神经网络压缩装置示意图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例对本专利技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本本文档来自技高网...

【技术保护点】
1.一种深度卷积神经网络压缩方法,其特征在于,所述方法包括:/n步骤S1:获取DCNN、与DCNN对应的精简网络和训练集,所述训练集包括多个类别的样本,所述样本上设置有表示该样本类别的标签;/n步骤S2:使用训练集训练DCNN;/n步骤S3:从训练集的每个类别中随机选取一个样本,组成训练子集;/n步骤S4:将训练子集输入训练好的DCNN,提取第一特征矩阵,并得到训练子集中每个样本在DCNN的特征层或分类层的输出;/n步骤S5:将训练子集中每个样本的标签替换为该样本在DCNN的特征层或分类层的输出;/n步骤S6:从训练子集中取出一批样本输入精简网络,得到第二特征矩阵;/n步骤S7:根据第一特征矩阵、第二特征矩阵和替换后的标签计算损失函数;/n步骤S8:采用随机梯度下降法更新精简网络的参数;/n步骤S9:判断训练子集中是否有样本未被取出,若是,返回步骤S6,否则,执行步骤S10;/n步骤S10:判断是否达到迭代次数,若是,完成精简网络的训练,结束,否则,返回步骤S3。/n

【技术特征摘要】
1.一种深度卷积神经网络压缩方法,其特征在于,所述方法包括:
步骤S1:获取DCNN、与DCNN对应的精简网络和训练集,所述训练集包括多个类别的样本,所述样本上设置有表示该样本类别的标签;
步骤S2:使用训练集训练DCNN;
步骤S3:从训练集的每个类别中随机选取一个样本,组成训练子集;
步骤S4:将训练子集输入训练好的DCNN,提取第一特征矩阵,并得到训练子集中每个样本在DCNN的特征层或分类层的输出;
步骤S5:将训练子集中每个样本的标签替换为该样本在DCNN的特征层或分类层的输出;
步骤S6:从训练子集中取出一批样本输入精简网络,得到第二特征矩阵;
步骤S7:根据第一特征矩阵、第二特征矩阵和替换后的标签计算损失函数;
步骤S8:采用随机梯度下降法更新精简网络的参数;
步骤S9:判断训练子集中是否有样本未被取出,若是,返回步骤S6,否则,执行步骤S10;
步骤S10:判断是否达到迭代次数,若是,完成精简网络的训练,结束,否则,返回步骤S3。


2.根据权利要求1所述的深度卷积神经网络压缩方法,其特征在于,所述损失函数的计算公式为:
Loss(Ibatch,batch)=Softmaxloss(pre_logit,batch)
其中,Loss(Ibatch,batch)为计算得到的损失函数值,Softmaxloss()为多分类交叉熵损失函数,为的转置,为第一特征矩阵,为第二特征矩阵,batch为替换后的标签,Ibatch为从训练子集中取出的一批样本。


3.根据权利要求1或2所述的深度卷积神经网络压缩方法,其特征在于,所述DCNN和精简网络用于人脸识别,所述训练集的样本通过如下方法得到:
对人脸图像进行人脸检测和关键点定位,得到人脸区域和人脸关键点,所述人脸关键点包括左眼坐标和右眼坐标;
通过仿射变换将左眼坐标和右眼坐标对齐到指定坐标位置;
将人脸区域归一化为指定的大小并进行灰度化,得到样本;
为样本设置表示该样本类别的标签。


4.根据权利要求3所述的深度卷积神经网络压缩方法,其特征在于,所述左眼坐标对齐到(30,30)坐标,所述右眼坐标对齐到(30,70)坐标,将人脸区域归一化为100*100的大小。


5.一种深度卷积神经网络压缩装置,其特征在于,所述装置包括:
获取模块,用于获取DCNN、与DCNN对应的精简网络和训练集,所述训练集包括多个类别的样本,所述样本上设置有表示该样本类别的标签;
DCNN训练模块,使用训练集训练DCNN;
训练子集获取模块,从训练集的每个类别中随机选取一个...

【专利技术属性】
技术研发人员:周军丁松王洋江武明
申请(专利权)人:北京眼神智能科技有限公司北京眼神科技有限公司
类型:发明
国别省市:北京;11

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

1