一种神经网络模型压缩方法以及装置制造方法及图纸

技术编号:18895755 阅读:19 留言:0更新日期:2018-09-08 11:33
本发明专利技术提供了一种神经网络模型压缩方法以及装置,其中,该方法包括:将训练数据输入待压缩神经网络模型以及目标神经网络模型;基于待压缩神经网络模型对训练数据提取的特征向量和分类结果,对目标神经网络模型进行训练,得到压缩神经网络模型;其中,目标神经网络模型参数的数量少于待压缩神经网络模型参数的数量。本发明专利技术实施例基于待压缩神经网络模型对训练数据提取的特征向量和分类结果,引导目标神经网络模型进行训练,最终得到的压缩神经网络模型和待压缩神经网络模型对同一训练数据的分类结果是相同的,进而不会在模型压缩过程中造成精度的损失,能够在保证精度的前提下,对模型的尺寸进行压缩,满足对于精度和模型尺寸的双重需求。

A neural network model compression method and device

The invention provides a neural network model compression method and a device, wherein the method comprises: input training data into the neural network model to be compressed and the target neural network model; extract feature vectors and classification results from the training data based on the neural network model to be compressed, and model the target neural network. After training, the compressed neural network model is obtained, in which the number of parameters of the target neural network model is less than the number of parameters of the neural network model to be compressed. The embodiment of the invention guides the target neural network model to train based on the feature vectors and classification results extracted from the training data by the neural network model to be compressed, and the classification results of the compressed neural network model and the neural network model to be compressed are the same as those of the same training data, so the training data can not be compressed in the model. The loss of precision caused by the process, can ensure the accuracy of the premise, the size of the model compression, to meet the accuracy and model size of the dual requirements.

【技术实现步骤摘要】
一种神经网络模型压缩方法以及装置
本专利技术涉及机器学习
,具体而言,涉及一种神经网络模型压缩方法以及装置。
技术介绍
随着神经网络在图像、语音、文本等领域的迅猛发展,推动了一系列智能产品的落地。为了让神经网络更好学习训练数据的特征以提升模型效果,相应用于表示神经网络模型的参数迅速增长,神经网络的层数不断增加,导致深度神经网络模型存在着参数众多,模型训练和应用过程计算量大的不足;这导致基于神经网络的产品大多依靠服务器端运算能力的驱动,非常依赖良好的运行环境和网络环境,造成神经网络模型的应用范围受到限制,例如无法实现嵌入式应用。为了实现神经网络模型的嵌入式应用,需要将神经网络模型的体积压缩到一定范围以下。当前的模型压缩方法一般包括如下几种:其一,剪枝,也即在训练完大模型后,去掉网络模型中权重很小的参数,然后继续对模型进行训练;其二,通过权值共享达到缩减参数数量的目的;其三,量化,一般而言,神经网络模型的参数都是用的32bit长度的浮点型数表示,实际上不需要保留那么高的精度,可以通过量化,比如用0~255表示原来32个bit所表示的精度,通过牺牲精度来降低每一个权值所需要占用的空间。其四,神经网络二值化,也即将网络模型的参数均使用二进制数表示,以达到减小模型体尺寸的目的。但是上述几种方法都是直接在待压缩模型上直接进行模型压缩,且以牺牲模型的精度为前提进行模型压缩的,往往无法达到对精度的使用需求。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种神经网络模型压缩方法以及装置,能够在保证神经网络模型精度的情况下,对模型的尺寸进行压缩。第一方面,本专利技术实施例提供了一种神经网络模型压缩方法,该方法包括:将训练数据输入待压缩神经网络模型以及目标神经网络模型;基于所述待压缩神经网络模型对所述训练数据提取的特征向量和分类结果,对目标神经网络模型进行训练,得到压缩神经网络模型;其中,所述目标神经网络模型参数的数量少于所述待压缩神经网络模型参数的数量。第二方面,本专利技术实施例还提供一种神经网络模型压缩装置,该装置包括:输入模块,用于将训练数据输入待压缩神经网络模型以及目标神经网络模型;训练模块,用于基于所述待压缩神经网络模型对所述训练数据提取的特征向量和分类结果,对目标神经网络模型进行训练,得到压缩神经网络模型;其中,所述目标神经网络模型参数的数量少于所述待压缩神经网络模型参数的数量。本申请实施例提供的神经网络模型压缩方法以及装置,在对待压缩神经网络模型进行压缩的时候,会预先架构一个参数的数量少于待压缩神经网络模型参数的数量的目标神经网络,然后将训练数据输入到待压缩神经网络模型以及目标神经网络模型中,基于待压缩神经网络模型对训练数据提取的特征向量和分类结果,引导目标神经网络模型进行训练,得到压缩神经网络模型,最终得到的压缩神经网络模型和待压缩神经网络模型对同一训练数据的分类结果应当是相同的,进而也不会在模型压缩过程中造成精度的损失,因而能够在保证精度的前提下,对模型的尺寸进行压缩,满足对于精度和模型尺寸的双重需求。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出本申请实施例一提供的神经网络模型压缩方法的流程图;图2示出了本申请实施例二提供的一种基于待压缩神经网络模型对训练数据的分类结果,对目标神经网络模型进行训练的具体方法的流程图;图3示出了本申请实施例二提供的一种模型压缩过程示意图;图4示出了本申请实施例三提供的第一比对操作的流程图;图5示出了本申请实施例四还提供的对第一特征向量以及第二特征向量进行相似度匹配,并根据相似度匹配的结果对目标神经网络进行本轮训的具体方法流程图;图6示出了本申请实施例四提供的相似度确定操作的流程图;图7示出了本申请实施例五提供的另外一种对第一特征向量以及第二特征向量进行相似度匹配,并根据相似度匹配的结果对目标神经网络进行本轮训的具体方法的流程图;图8示出了本申请实施例五提供的相似度确定操作的流程图;图9示出了本申请实施例六提供的神经网络模型压缩方法的流程图;图10示出了本申请实施例七提供的神经网络模型压缩装置的结构示意图;图11示出了本申请实施例八提供的一种计算机设备的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为便于对本实施例进行理解,首先对本专利技术实施例所公开的一种神经网络模型压缩方法进行详细介绍,该方法可以用于对各种神经网络模型的尺寸的压缩。参见图1所示,本申请实施例一提供的神经网络模型压缩方法,包括:S101:将训练数据输入待压缩神经网络模型以及目标神经网络模型。在具体实现的时候,待压缩神经网络模型是体积较大的神经网络模型,且已经通过训练数据进行训练的,由单个神经网络构成的或者多个神经网络组合构成的神经网络模型。相比于目标神经网络模型而言,其具有数量更多的参数。这里的参数可以包括神经网络的特征提取层的层数和/或每层特征提取层中涉及的参数。因此,为了将待压缩神经网络模型进行压缩,需要将训练数据输入到待压缩神经网络模型中,使用待压缩网络模型对训练数据的特征进行学习,实现对待压缩神经网络模型的训练,得到完成训练的待压缩神经网络模型,且该完成训练的待压缩神经网络模型作为需要压缩的神经网络模型。目标神经网络模型则是预先架构好的神经网络模型,其较之待压缩神经网络模型具有更少的参数,例如具有更少的特征提取层的层数,更简单的神经网络结构,特征提取层具有数量更少的参数。此处,需要注意的是,若该待压缩神经网络模型是使用无监督的训练方法训练得到,则训练数据是无标签的;若该待压缩神经网络模型是使用有监督的训练方法得到,则训练数据是有标签的;若该待压缩神经网络模型是使用迁移学习训练方法得到,则训练数据既可以是有标签的,也可以是无标签的。S102:基于待压缩神经网络模型对训练数据提取的特征向量和分类结果,对目标神经网络模型进行训练,得到压缩的神经网络模型;在具体实现的时候,将训练数据输入待压缩神经网络模型以及目标神经网络模型,是要使用待压缩网络模型对训练数据的分类结果,引导目标神经网络模型的训练,并且在对目标神经网络模型进行训练的过程中,使之对训练数据的分类结果,尽量的与带压缩神经网络模型对训练数据的分类结果接近。本申请实施例提供的神经网络模型压缩方法,在对待压缩神经网络模型进行压缩的时候,会预先架构一个参数的数本文档来自技高网...

【技术保护点】
1.一种神经网络模型压缩方法,其特征在于,该方法包括:将训练数据输入待压缩神经网络模型以及目标神经网络模型;基于所述待压缩神经网络模型对所述训练数据提取的特征向量和分类结果,对目标神经网络模型进行训练,得到压缩神经网络模型;其中,所述目标神经网络模型参数的数量少于所述待压缩神经网络模型参数的数量。

【技术特征摘要】
1.一种神经网络模型压缩方法,其特征在于,该方法包括:将训练数据输入待压缩神经网络模型以及目标神经网络模型;基于所述待压缩神经网络模型对所述训练数据提取的特征向量和分类结果,对目标神经网络模型进行训练,得到压缩神经网络模型;其中,所述目标神经网络模型参数的数量少于所述待压缩神经网络模型参数的数量。2.根据权利要求1所述的方法,其特征在于,在将训练数据输入待压缩神经网络模型以及目标神经网络模型之前,还包括:将所述训练数据输入所述待压缩神经网络模型,对所述待压缩神经网络模型进行训练,得到完成训练的待压缩神经网络模型。3.根据权利要求1所述的方法,其特征在于,所述待压缩神经网络模型包括:待压缩神经网络和待压缩分类器;所述目标神经网络模型包括:目标神经网络和目标分类器;所述基于所述待压缩神经网络模型对所述训练数据提取的特征向量和分类结果,对目标神经网络模型进行训练,得到压缩神经网络模型,具体包括:使用所述待压缩神经网络为输入的训练数据提取第一特征向量,并使用所述目标神经网络为输入的训练数据提取第二特征向量;对所述第一特征向量以及第二特征向量进行相似度匹配,并根据相似度匹配的结果对所述目标神经网络进行本轮训练;以及将所述第一特征向量输入至所述待压缩分类器,得到第一分类结果;将所述第二特征向量输入至所述目标分类器,得到第二分类结果;根据所述第一分类结果和所述第二分类结果的比对结果,对所述目标神经网络以及所述目标分类器进行本轮训练;经过对所述目标神经网络以及所述目标分类器进行多轮训练,得到压缩神经网络模型。4.根据权利要求3所述的方法,其特征在于,执行如下第一比对操作,直至所述目标神经网络模型的分类损失符合预设损失范围,完成对所述目标神经网络以及所述目标分类器的本轮训练;所述第一比对操作包括:将所述第一分类结果和所述第二分类结果进行比对;针对比对结果不一致的情况,生成第一反馈信息,并基于所述第一反馈信息对所述目标神经网络和所述目标分类器进行参数调整;基于调整后的参数,使用目标神经网络以及目标分类器为所述训练数据确定新的第二分类结果,并再次执行所述第一比对操作。5.根据权利要求3所述的方法,其特征在于,所述对所述第一特征向量以及所述第二特征向量进行相似度匹配之前,还包括:对所述第一特征向量进行噪声添加操作;所述对所述第一特征向量以及所述第二特征向量进行相似度匹配,具体包括:将添加了噪声的所述第一特征向量和所述第二特征向量进行相似度匹配。6.根据权利要求3-5任意一项所述的方法,其特征在于,所述对所述第一特征向量以及第二特征向...

【专利技术属性】
技术研发人员:孙源良王亚松刘萌樊雨茂
申请(专利权)人:国信优易数据有限公司
类型:发明
国别省市:北京,11

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

1