深度神经网络模型的压缩方法及装置、终端、存储介质制造方法及图纸

技术编号:19321490 阅读:47 留言:0更新日期:2018-11-03 11:26
一种深度神经网络模型的压缩方法及装置、终端、存储介质,所述深度神经网络模型的压缩方法包括:获取已训练的深度神经网络模型;基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所述深度神经网络模型进行精简,直至精简后的深度神经网络模型满足预设的精度需求。上述的方案,可以在对深度神经网络模型压缩时兼顾深度神经网络模型的精度及有效性。

Compression method and device, terminal and storage medium of deep neural network model

A deep neural network model compression method and device, terminal and storage medium. The deep neural network model compression method includes: acquiring the trained deep neural network model; based on the information of contribution degree of the precise and simple elements in the obtained deep neural network model, the deep neural network model is described. The model is streamlined until the reduced depth neural network model meets the preset precision requirement. The above scheme can take into account the accuracy and validity of the deep neural network model when compressing the deep neural network model.

【技术实现步骤摘要】
深度神经网络模型的压缩方法及装置、终端、存储介质
本专利技术涉及信息处理
,尤其涉及一种深度神经网络模型的压缩方法及装置、终端、存储介质。
技术介绍
随着深度神经网络相关技术研究的迅速发展,相关领域内涌现了大批与深度神经网络相关的技术,如应用于视觉领域的卷积神经网络和应用于语音识别或自然语言处理领域的递归神经网络等,这些神经网络技术均极大地提高了相应领域的处理精度。深度神经网络与浅层学习相比,深度神经网络的开发潜力巨大。通过深度神经网络模型的多层处理结构可以提取和分析样本的表征特征,由浅入深地逐层变换和计算样本特征并计算处理结果。通过对深度神经网络模型进行增宽增长处理,可以使深度神经网络模型获得相对更优的处理结果。然而,深度神经网络模型的参数通常在百万、千万或上亿数量级,因此对计算和存储设备的要求较高。由于深度神经网络模型存储及计算时深度神经网络模型的参数传输等问题,限制了深度神经网络模型在移动设备上的应用。目前,通常采用减少深度神经网络模型的参数、节点数目以及改变多样性类方法,达到压缩深度神经网络模型的目的。虽然,这样可以对神经网络模型进行一定的压缩,然而,精简后的深度神经网络模型的精度及有效性较低。
技术实现思路
本专利技术解决的技术问题是在对深度神经网络模型压缩时如何兼顾深度神经网络模型的精度及有效性。为解决上述技术问题,本专利技术实施例提供一种深度神经网络模型的压缩方法,包括:获取已训练的深度神经网络模型;基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所述深度神经网络模型进行精简,直至精简后的深度神经网络模型满足预设的精度需求。可选地,所述基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所述深度神经网络模型进行精简,包括:采用验证集样本对当前次精简前的深度神经网络模型进行测试,得到当前次精简前的深度神经网络模型中各个精简单元删除前后对应的深度神经网络模型的精度改变数值;将当前次精简前的深度神经网络模型中所有精简单元按照精度改变数值进行排序;从当前次精简前的深度神经网络模型中删除预设数量的精度改变数值最小的精简单元,得到当前次精简后的深度神经网络模型;判断当前次精简后的深度神经网络模型是否满足所述精度需求;当确定当前次精简后的深度神经网络模型满足所述精度需求时,停止精简操作;当确定所述当前次精简后的深度神经网络模型不满足所述精度需求时,对当前次精简后的深度神经网络模型执行下一次精简操作,直至精简后的深度神经网络模型满足所述精度需求。可选地,所述采用验证集样本对当前次精简前的深度神经网络模型进行测试,得到当前次精简前的深度神经网络模型中各个精简单元删除前后对应的深度神经网络模型的精度改变数值,包括:Sm,n=||c(t)||f-||c(t)'||f;且f={1,2};其中,Sm,n为第t次精简前的深度神经网络模型中第m层的第n个精简单元删除前后对应的精度改变数值,为第t次精简深度神经网络模型前的精度,为第t次压缩深度神经网络模型前的精度,f分别对应L1范数和L2范数,1指代L1范数,2指代L2范数。可选地,当深度神经网络的输出经过softmax激活函数并使用交叉熵计算损失时,c(t)采用如下的公式计算得到:且其中,V为验证集样本的个数,xv表示验证集样本中的第ν个样本,表示验证集样本中的第ν个样本k位置的标签,为第t次精简前的深度神经网络模型中第k个输出响应相连的深度神经网络子图,为第t次精简后的深度神经网络模型中第k个输出响应相连的深度神经网络子图,为t次精简后深度神经网络第M层的第k个输出响应。可选地,所述精度需求满足预设的精度需求包括以下至少一种:精简后的深度神经网络模型满足预设的精度阈值;精简后的深度神经网络模型满足预设的压缩体积阈值。可选地,所述精简单元为深度神经网络模型中的权连接、节点、层、模块和子网络。可选地,所述方法还包括:对精简后的深度神经网络模型进行重新训练。本专利技术实施例还提供了一种深度神经网络模型的压缩装置,包括:获取单元,适于获取已训练的深度神经网络模型;简化单元,适于基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所述深度神经网络模型进行精简,直至精简后的深度神经网络模型满足预设的精度需求。可选地,所述简化单元,适于采用验证集样本对当前次精简前的深度神经网络模型进行测试,得到当前次精简前的深度神经网络模型中各个精简单元删除前后对应的深度神经网络模型的精度改变数值;将当前次精简前的深度神经网络模型中所有精简单元按照精度改变数值进行排序;从当前次精简前的深度神经网络模型中删除预设数量的精度改变数值最小的精简单元,得到当前次精简后的深度神经网络模型;判断当前次精简后的深度神经网络模型是否满足所述精度需求;当确定当前次精简后的深度神经网络模型满足所述精度需求时,停止精简操作;当确定所述当前次精简后的深度神经网络模型不满足所述精度需求时,对当前次精简后的深度神经网络模型执行下一次精简操作,直至精简后的深度神经网络模型满足所述精度需求。可选地,所述简化单元,适于采用验证集样本对当前次精简前的深度神经网络模型进行测试,得到当前次精简前的深度神经网络模型中各个精简单元删除前后对应的深度神经网络模型的精度改变数值,包括:Sm,n=||c(t)||f-||c(t)'||f;且f={1,2};其中,Sm,n为第t次精简前的深度神经网络模型中第m层的第n个精简单元删除前后对应的精度改变数值,为第t次精简深度神经网络模型前的精度,为第t次压缩深度神经网络模型前的精度,f分别对应L1范数和L2范数,1指代L1范数,2指代L2范数。可选地,所述简化单元,适于当深度神经网络的输出经过softmax激活函数并使用交叉熵计算损失时,采用如下的公式计算得到c(t):且其中,V为验证集样本的个数,xv表示验证集样本中的第ν个样本,表示验证集样本中的第ν个样本k位置的标签,为第t次精简前的深度神经网络模型中第k个输出响应相连的深度神经网络子图,为第t次精简后的深度神经网络模型中第k个输出响应相连的深度神经网络子图,为t次精简后深度神经网络第M层的第k个输出响应。可选地,所述精度需求满足预设的精度需求包括以下至少一种:精简后的深度神经网络模型满足预设的精度阈值;精简后的深度神经网络模型满足预设的压缩体积阈值。可选地,所述精简单元为深度神经网络模型中的权连接、节点、层、模块和子网络。可选地,所述装置还包括:训练单元,适于对精简后的深度神经网络模型进行重新训练。本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种的深度神经网络模型的压缩方法的步骤。本专利技术实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令;所述处理器运行所述计算机指令时执行上述任一种的深度神经网络模型的压缩方法的步骤。与现有技术相比,本专利技术实施例的技术方案具有以下有益效果:上述的方案,基于所有精简单元在所述深度神经网络模型中的整体贡献度,对深度网络模型进行精简,全局性地衡量各个精简单元在深度神经网络模型中的整体贡献度,可以提高精简后的深度神经网络模型的精度和有效性。进一步地,对精简后的深度神经网络模型进行重新训练,可以进本文档来自技高网...

【技术保护点】
1.一种深度神经网络模型的压缩方法,其特征在于,包括:获取已训练的深度神经网络模型;基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所述深度神经网络模型进行精简,直至精简后的深度神经网络模型满足预设的精度需求。

【技术特征摘要】
1.一种深度神经网络模型的压缩方法,其特征在于,包括:获取已训练的深度神经网络模型;基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所述深度神经网络模型进行精简,直至精简后的深度神经网络模型满足预设的精度需求。2.根据权利要求1所述的深度神经网络模型的压缩方法,其特征在于,所述基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所述深度神经网络模型进行精简,包括:采用验证集样本对当前次精简前的深度神经网络模型进行测试,得到当前次精简前的深度神经网络模型中各个精简单元删除前后对应的深度神经网络模型的精度改变数值;将当前次精简前的深度神经网络模型中所有精简单元按照精度改变数值进行排序;从当前次精简前的深度神经网络模型中删除预设数量的精度改变数值最小的精简单元,得到当前次精简后的深度神经网络模型;判断当前次精简后的深度神经网络模型是否满足所述精度需求;当确定当前次精简后的深度神经网络模型满足所述精度需求时,停止精简操作;当确定所述当前次精简后的深度神经网络模型不满足所述精度需求时,对当前次精简后的深度神经网络模型执行下一次精简操作,直至精简后的深度神经网络模型满足所述精度需求。3.根据权利要求2所述的深度神经网络模型的压缩方法,其特征在于,所述采用验证集样本对当前次精简前的深度神经网络模型进行测试,得到当前次精简前的深度神经网络模型中各个精简单元删除前后对应的深度神经网络模型的精度改变数值,包括:Sm,n=||c(t)||f-||c(t)'||f;且f={1,2};其中,Sm,n为第t次精简前的深度神经网络模型中第m层的第n个精简单元删除前后对应的精度改变数值,为第t次精简深度神经网络模型前的精度,为第t次压缩深度神经网络模型前的精度,f分别对应L1范数和L2范数,1指代L1范数,2指代L2范数。4.根据权利要求3所述的深度神经网络模型的压缩方法,其特征在于,当深度神经网络的输出经过softmax激活函数并使用交叉熵计算损失时,c(t)采用如下的公式计算得到:且其中,V为验证集样本的个数,xv表示验证集样本中的第ν个样本,表示验证集样本中的第ν个样本k位置的标签,为第t次精简前的深度神经网络模型中第k个输出响应相连的深度神经网络子图,为第t次精简后的深度神经网络模型中第k个输出响应相连的深度神经网络子图,为t次精简后深度神经网络第M层的第k个输出响应。5.根据权利要求1所述的深度神经网络模型的压缩方法,其特征在于,所述精度需求满足预设的精度需求包括以下至少一种:精简后的深度神经网络模型满足预设的精度阈值;精简后的深度神经网络模型满足预设的压缩体积阈值。6.根据权利要求1所述的深度神经网络模型的压缩方法,其特征在于,所述精简单元为深度神经网络模型中的权连接、节点、层、模块和子网络。7.根据权利要求1所述的深度神经网络模型的压缩方法,其特征在于,还包括:对精简后的深度神经网络模型进行重新训练。8.一种深度神经网络模型的压缩装置,其特征在于,包括:获取单元,适于获取已训练的深度神经网络模型;简化单元,适于基于所获取的所述深度神经网络模型中精简单元的贡献度的信息,对所...

【专利技术属性】
技术研发人员:林福辉赵晓辉
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:上海,31

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

1