一种模型压缩方法及装置制造方法及图纸

技术编号:21606659 阅读:12 留言:0更新日期:2019-07-13 18:36
本发明专利技术实施例公开了一种模型压缩方法及装置,其中方法包括:使用第一模型对预测数据进行预测,得到第一模型在N个网络层中的输出以及预测数据对应的预测结果,使用预测数据和预测数据对应的预测结果训练第二模型,得到第二模型在N个网络层中的输出,根据i个网络层中第二模型相对于第一模型的输出损失调整第二模型的参数,得到对第一模型进行压缩之后的目标模型。本发明专利技术实施例中,通过采用第一模型的预测结果训练第二模型,并基于预设网络层中第二模型相对于第一模型的输出损失调整第二模型的参数,可以使得压缩之后的目标模型更好地复现第一模型的内容,从而可以提高目标模型的预测效果。

A Model Compression Method and Device

【技术实现步骤摘要】
一种模型压缩方法及装置
本专利技术涉及数据处理领域,尤其涉及一种模型压缩方法及装置。
技术介绍
在深度学习
中,用户可以通过训练模型得到预测效果较好的深度学习网络模型,然而,预测效果较好的深度学习网络模型通常具有较为复杂的网络结构,从而占据较大的存储空间。相应地,在使用深度学习网络模型对待预测数据进行预测时,由于深度学习网络模型的结构较为复杂,可能会造成计算资源的浪费,使得预测的效率较差。为了解决这个问题,通常可以对结构较为复杂的深度网络模型进行压缩,得到网络结构相对简单、预测性能较好的深度学习网络模型。知识萃取为一种常用的模型压缩方式,在该方式中,用户可以分别设计多个教师模型和一个学生模型,教师模型的网络结构较为复杂,学生模型的网络结构较为简单,通过使用多个教师模型的输出结果训练学生模型,可以使得学生模型萃取到多个教师模型的知识,提高学生模型的预测效果。然而,在该方式中,多个教师模型对学生模型的指导过程局限于训练数据(即教师模型的输出结果),而多个教师模型本身的结构特征并未被学生模型所萃取。因此,采用该种方式压缩得到的学生模型的预测效果无法满足要求。综上,目前亟需一种模型压缩方法,用以提高压缩得到的模型(比如学生模型)的预测效果。
技术实现思路
本专利技术实施例提供一种模型压缩方法及装置,用以提高压缩得到的模型(比如学生模型)的预测效果。第一方面,本专利技术实施例提供的一种模型压缩方法,所述方法包括:使用第一模型对预测数据进行预测,得到所述第一模型分别在所述第一模型的N个网络层中的输出以及所述预测数据对应的预测结果,并使用所述预测数据和预测数据对应的预测结果训练第二模型,得到所述第二模型分别在所述第二模型的N个网络层中的输出;所述第二模型是通过对所述第一模型进行剪枝得到的,所述第二模型的N个网络层与所述第一模型的N个网络层一一对应;进一步地,根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出调整所述第二模型的参数,得到对所述第一模型进行压缩之后的目标模型。上述技术方案中,一方面,通过采用第一模型的预测结果训练第二模型,可以使得第二模型更好地学习到第一模型的输出数据特征,提高第二模型对预测数据的预测能力;另一方面,通过基于预设网络层中第二模型相对于第一模型的输出损失调整第二模型的参数,可以使得第二模型更好地学习到第一模型的预设网络层上的特征,从而使得第二模型在预设网络层上复现第一模型的能力。也就是说,上述技术方案可以使得压缩之后的目标模型更好地复现第一模型的内容,相对于现有技术的方式来说,可以提高目标模型的预测效果。可选地,所述第一模型的N个网络层包括第x网络层和第y网络层,所述第x网络层的N个节点与所述第y网络层的M个节点连接;所述第二模型是通过对所述第一模型进行剪枝得到的,包括:对所述第x网络层的T个节点与所述第y网络层的R个节点的连接关系进行剪枝,得到第二模型;所述第二模型的第x网络层中包括N个节点,所述第二模型的第y网络层中包括M个节点。上述技术方案中,通过对第一模型所包括的节点的连接关系进行剪枝得到第二模型,可以使得第二模型的网络层中所包括的节点与第一模型的对应网络层中所包括的节点相同,即可以保证第二模型在每一个网络层的特征表示维度与第一模型的每一个网络层的特征表示维度相同,使得第二模型更好地萃取到第一模型的知识。可选地,所述根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出调整所述第二模型的参数,包括:根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出,确定i个网络层中所述第二模型相对于所述第一模型的输出损失;所述i个网络层中包括第t网络层,若所述t小于所述N,则根据所述第t网络层中所述第二模型相对于所述第一模型的输出损失调整所述第二模型的第1~第t网络层的参数;若所述t等于所述N,则根据第1~第N网络层中所述第二模型相对于所述第一模型的总输出损失调整所述第二模型的第1~第N网络层的参数。上述技术方案中,通过使用第t网络层中的第二模型相对于第一模型的输出损失调整第二模型的第1~第t网络层的参数,可以使得第二模型可以根据第一模型的预测过程逐步调整第二模型的参数,使得第二模型更好地萃取第一模型的内容;也就是说,采用上述技术方案,可以使得第二模型中每个网络层的特征表示和输出信息与第一模型中每个网络层的特征表示和输出信息实现一致,从而可以提高第二模型的预测效果。可选地,所述第t网络层中所述第二模型相对于所述第一模型的输出损失满足如下条件:L为所述第t网络层中所述第二模型相对于所述第一模型的输出损失,u为所述第t网络层中的节点的数量,hi为所述第一模型在所述第一模型的第t网络层中包括的第i节点的输出,pi为所述第二模型在所述第二模型的第t网络层中包括的第i节点的输出;所述第1~第N网络层中所述第二模型相对于所述第一模型的总输出损失满足如下条件:其中,L为所述第1~第N网络层中所述第二模型相对于所述第一模型的总输出损失,α为第一校正值,β为第二校正值,LN为所述第N网络层中所述第二模型相对于所述第一模型的输出损失,Lj为所述第j网络层中所述第二模型相对于所述第一模型的输出损失。第二方面,本专利技术实施例提供的一种模型压缩装置,所述装置包括:预测模块,用于使用第一模型对预测数据进行预测,得到所述第一模型分别在所述第一模型的N个网络层中的输出以及所述预测数据对应的预测结果;训练模块,用于使用所述预测数据和预测数据对应的预测结果训练第二模型,得到所述第二模型分别在所述第二模型的N个网络层中的输出;所述第二模型是通过对所述第一模型进行剪枝得到的,所述第二模型的N个网络层与所述第一模型的N个网络层一一对应;处理模块,用于根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出调整所述第二模型的参数,得到对所述第一模型进行压缩之后的目标模型。可选地,所述第一模型的N个网络层包括第x网络层和第y网络层,所述第x网络层的N个节点与所述第y网络层的M个节点连接;所述训练模块用于:对所述第x网络层的T个节点与所述第y网络层的R个节点的连接关系进行剪枝,得到第二模型;所述第二模型的第x网络层中包括N个节点,所述第二模型的第y网络层中包括M个节点。可选地,所述处理模块用于:根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出,确定i个网络层中所述第二模型相对于所述第一模型的输出损失;所述i个网络层中包括第t网络层,若所述t小于所述N,则根据所述第t网络层中所述第二模型相对于所述第一模型的输出损失调整所述第二模型的第1~第t网络层的参数;若所述t等于所述N,则根据第1~第N网络层中所述第二模型相对于所述第一模型的总输出损失调整所述第二模型的第1~第N网络层的参数。可选地,所述第t网络层中所述第二模型相对于所述第一模型的输出损失满足如下条件:L为所述第t网络层中所述第二模型相对于所述第一模型的输出损失,u为所述第t网络层中的节点的数量,hi为所述第一模型在所述第一模型的第t网络层中包括的第i节点的输出,pi为所述第二模型本文档来自技高网...

【技术保护点】
1.一种模型压缩方法,其特征在于,所述方法包括:使用第一模型对预测数据进行预测,得到所述第一模型分别在所述第一模型的N个网络层中的输出以及所述预测数据对应的预测结果;使用所述预测数据和预测数据对应的预测结果训练第二模型,得到所述第二模型分别在所述第二模型的N个网络层中的输出;所述第二模型是通过对所述第一模型进行剪枝得到的,所述第二模型的N个网络层与所述第一模型的N个网络层一一对应;根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出调整所述第二模型的参数,得到对所述第一模型进行压缩之后的目标模型。

【技术特征摘要】
1.一种模型压缩方法,其特征在于,所述方法包括:使用第一模型对预测数据进行预测,得到所述第一模型分别在所述第一模型的N个网络层中的输出以及所述预测数据对应的预测结果;使用所述预测数据和预测数据对应的预测结果训练第二模型,得到所述第二模型分别在所述第二模型的N个网络层中的输出;所述第二模型是通过对所述第一模型进行剪枝得到的,所述第二模型的N个网络层与所述第一模型的N个网络层一一对应;根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出调整所述第二模型的参数,得到对所述第一模型进行压缩之后的目标模型。2.根据权利要求1所述的方法,其特征在于,所述第一模型的N个网络层包括第x网络层和第y网络层,所述第x网络层的N个节点与所述第y网络层的M个节点连接;所述第二模型是通过对所述第一模型进行剪枝得到的,包括:对所述第x网络层的T个节点与所述第y网络层的R个节点的连接关系进行剪枝,得到第二模型;所述第二模型的第x网络层中包括N个节点,所述第二模型的第y网络层中包括M个节点。3.根据权利要求2所述的方法,其特征在于,所述根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出调整所述第二模型的参数,包括:根据所述第二模型在第二模型的i个网络层中的输出和所述第一模型在所述第一模型的i个网络层中的输出,确定i个网络层中所述第二模型相对于所述第一模型的输出损失;所述i个网络层中包括第t网络层,若所述t小于所述N,则根据所述第t网络层中所述第二模型相对于所述第一模型的输出损失调整所述第二模型的第1~第t网络层的参数;若所述t等于所述N,则根据第1~第N网络层中所述第二模型相对于所述第一模型的总输出损失调整所述第二模型的第1~第N网络层的参数。4.根据权利要求3所述的方法,其特征在于,所述第t网络层中所述第二模型相对于所述第一模型的输出损失满足如下条件:L为所述第t网络层中所述第二模型相对于所述第一模型的输出损失,u为所述第t网络层中的节点的数量,hi为所述第一模型在所述第一模型的第t网络层中包括的第i节点的输出,pi为所述第二模型在所述第二模型的第t网络层中包括的第i节点的输出;所述第1~第N网络层中所述第二模型相对于所述第一模型的总输出损失满足如下条件:其中,L为所述第1~第N网络层中所述第二模型相对于所述第一模型的总输出损失,α为第一校正值,β为第二校正值,LN为所述第N网络层中所述第二模型相对于所述第一模型的输出损失,Lj为所述第j网络层中所述第二模型相对于所述第一模型的输出损失。5.一种模型压缩装置,其特征在于,所述装置包括:预测模块,用于...

【专利技术属性】
技术研发人员:吴泽衡徐倩杨强
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

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

1