CN111091177A - 一种模型压缩方法、装置、电子设备和存储介质 - Google Patents
一种模型压缩方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111091177A CN111091177A CN201911100168.9A CN201911100168A CN111091177A CN 111091177 A CN111091177 A CN 111091177A CN 201911100168 A CN201911100168 A CN 201911100168A CN 111091177 A CN111091177 A CN 111091177A
- Authority
- CN
- China
- Prior art keywords
- student network
- feature
- network
- student
- loss function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种模型压缩方法、装置、电子设备和存储介质;该方法涉及人工智能领域中的机器学习方向,通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络;本申请可以通过对学生网络进行裁剪和迭代压缩处理,实现对学生网络的压缩,同时还使用教师网络对学生网络的性能进行调整,以补偿压缩带来的学生网络性能和精度下降,使得在压缩模型的同时保证压缩后模型的性能。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种模型压缩方法、装置、电子设备和存储介质。
背景技术
随着人工智能技术的发展,深度学习成为国内外多个领域的研究热点,人工神经网络是深度学习的一个重要分支,由于人工神经网络具有强大的自学习能力,其在模式识别、智能机器人、自动控制、生物、医学和经济等领域应用越来越广泛。
然而,伴随着数据规模的不断增大,人工神经网络的模型参数不断增多,占用的存储空间和计算资源也越来越大,这使得这些人工神经网络很难部署在资源有限的设备上,因此,模型压缩十分重要。但是在目前的相关技术中,当模型压缩量较大时,模型性能下降明显,损失的模型精度较多。
发明内容
本申请实施例提供一种模型压缩方法、装置、电子设备和存储介质,可以得到在压缩模型的同时保证压缩后模型的性能。
本申请实施例提供一种模型压缩方法,包括:
通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;
计算第一特征和第二特征的特征差异;
基于所述特征差异,对所述学生网络进行调整;
对调整后的学生网络进行裁剪;
对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
相应的,本申请实施例提供一种模型压缩装置,包括:
提取单元,用于通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;
计算单元,用于计算第一特征和第二特征的特征差异;
调整单元,用于基于所述特征差异,对所述学生网络进行调整;
裁剪单元,用于对调整后的学生网络进行裁剪;
迭代单元,用于对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
可选的,在本申请的一些实施例中,所述计算单元,具体用于基于所述第一特征确定所述检测样本的第一特征向量;基于所述第二特征确定所述检测样本的第二特征向量;计算第一特征向量和第二特征向量的向量距离,所述向量距离表示第一特征和第二特征的特征差异。
可选的,在本申请的一些实施例中,所述调整单元可以包括第一调整子单元和迭代子单元,如下:
所述第一调整子单元,用于当所述特征差异高于预设特征差异,基于所述特征差异调整所述学生网络的参数。
迭代子单元,用于控制提取单元将调整后的学生网络作为新的待压缩的学生网络,执行所述的通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到所述特征差异低于预设特征差异,或者直到在所述学生网络的连续n次调整过程中,所述学生网络对应的特征差异的减小幅度不高于预设幅度阈值,其中,n为不小于2的自然数。
可选的,在本申请的一些实施例中,所述调整单元可以包括获取子单元、计算子单元、融合子单元和第二调整子单元,如下:
获取子单元,用于获取所述学生网络的输出结果对应的损失函数,所述损失函数作为第一损失函数。
计算子单元,用于基于所述特征差异,以第二特征作为真实值,以第一特征作为预测值,计算所述预测值和所述真实值对应的损失函数,所述损失函数作为第二损失函数。
融合子单元,用于对第一损失函数和第二损失函数进行融合,得到所述学生网络的总损失函数。
第二调整子单元,用于基于所述总损失函数,对所述学生网络进行调整。
可选的,在本申请的一些实施例中,所述裁剪单元可以包括确定子单元和裁剪子单元,如下:
确定子单元,用于确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;
裁剪子单元,用于基于所述贡献度,对所述学生网络中的卷积核进行裁剪,其中,每次对所述学生网络的裁剪强度不高于上一次对所述学生网络的裁剪强度。
可选的,一些实施例中,该裁剪子单元具体可以用于获取所述学生网络对应需要裁剪的卷积核的目标总数量、卷积核的已裁剪总数量和卷积核的最近一次裁剪数量;基于所述贡献度,对所述学生网络中的卷积核进行排序;对排序后的卷积核进行裁剪,其中,卷积核的本次裁剪数量不高于所述最近一次裁剪数量,所述本次裁剪数量和所述已裁剪总数量之和不超过所述目标总数量。
可选的,在本申请的一些实施例中,所述迭代单元具体可以将裁剪后的学生网络作为新的待压缩的学生网络,控制提取单元执行所述通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到得到满足预设压缩条件的学生网络。
本申请实施例提供的一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行本申请实施例提供的模型压缩方法中的步骤。
此外,本申请实施例还提供一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的模型压缩方法中的步骤。
本申请实施例提供了一种模型压缩方法、装置、电子设备和存储介质,可以通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络;本申请可以通过对学生网络进行裁剪和迭代压缩处理,实现对学生网络的压缩,同时还使用教师网络对学生网络的性能进行调整,以补偿压缩带来的学生网络性能和精度下降,使得在压缩模型的同时保证压缩后模型的性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的模型压缩方法的场景示意图;
图2是本申请实施例提供的模型压缩方法的流程图;
图3是本申请实施例提供的模型压缩方法的调整过程示意图;
图4是本申请实施例提供的模型压缩方法的另一流程图;
图5a是本申请实施例提供的模型压缩装置的结构示意图;
图5b是本申请实施例提供的模型压缩装置的另一结构示意图;
图5c是本申请实施例提供的模型压缩装置的另一结构示意图;
图5d是本申请实施例提供的模型压缩装置的另一结构示意图;
图6是本申请实施例提供的电子设备的结构示意图;
图7是本申请实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图;
图8是本申请实施例提供的区块结构的一个可选的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种模型压缩方法、装置、电子设备和存储介质。该模型压缩装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。
可以理解的是,本实施例的模型压缩方法可以是在终端上执行的,也可以是在服务器上执行的,还可以是由终端和服务器共同执行的。
以服务器执行模型压缩方法为例。
如图1所示,服务器11,可以用于:通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
其中,在学生网络压缩完成之后,可以将该学生网络部署到服务器中,为终端10提供相应的服务,比如检索服务或分类服务等等;也可以部署在需要该学生网络的终端中,比如部署在人工智能摄像头上。
其中,终端10可以用于获取待检索对象,将该待检索对象发送给服务器11;服务器11接收待检索对象,将该待检索对象输入压缩后的学生网络,通过学生网络对该待检索对象提取特征,基于提取到的特征,获取学生网络的输出,将其作为检索结果,将该检索结果发送给终端10,通过终端10的显示器显示该检索结果。
上述服务器11执行的步骤,也可以由终端10执行。
本申请实施例提供的模型压缩方法涉及人工智能(AI,ArtificialIntellegence)领域中的机器学习(ML,Machine learning),具体涉及机器学习中的迁移学习(TransferLearning)方向。本申请实施例可以通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
其中,人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。其中,人工智能软件技术主要包括计算机视觉技术、机器学习等方向。
其中,机器学习(ML,Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
其中,迁移学习(Transfer Learning)是把训练好的模型中的参数迁移到另一个模型即目标模型中,来帮助目标模型训练。迁移学习是利用已有知识来学习新知识,使目标模型能够取得更好的学习效果,它的核心是找到已有知识和新知识之间的相似性。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
实施例一、
本实施例将从模型压缩装置的角度进行描述,该模型压缩装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算机(PC,Personal Computer)等。
本申请实施例的模型压缩方法可以应用于各种类型的神经网络应用场景,对神经网络模型进行压缩,例如,可以用于行人重识别(Person ReID,Person Re-identification)的模型压缩,压缩过的学生网络可以部署在人工智能摄像头上,以实现跨摄像头的行人追踪;又例如,还可以将该模型压缩方法用于智慧零售项目中,通过部署有压缩模型的智能设备为用户呈现每一位顾客在商场中进出哪些门店的信息以及顾客的身份信息等。其中,顾客的身份信息可以为新客或会员等。
如图2所示,该模型压缩方法的具体流程可以如下:
101、通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征。
本实施例中,步骤“通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征”,可以包括:先对检测样本进行预处理,通过待压缩的学生网络和教师网络的特征提取块,分别提取检测样本多个尺度下的特征图,再对多个尺度下的特征图进行处理,得到所述检测样本的第一特征和第二特征。
其中,该预处理可以包括对图像大小的调整、图像数据增强和图像的旋转等。图像数据增强可以包括直方图均衡、图像锐化和图像平滑等。在此处,提取到的特征为图像的基础特征,如图像的形状特征等。例如,当该图像为人物肖像时,提取到的特征可以为人物的表情等。
其中,步骤“对多个尺度下的特征图进行处理”,具体可以包括:通过池化对各尺度下的特征图进行降维,再对降维后的所有特征图进行融合,即可得到所述检测样本的特征。
需要说明的是,学生网络与教师网络中输入的检测样本为相同的检测样本。
本实施例中的检测样本,可以是静态图,也可以是动态图,可以是人物肖像、表情以及商品图像等等类型的图像。
其中,该检测样本可以是从电子设备本地的图库获取到的,也可以是通过其他设备如其他终端来获取到的,进而其他设备将检测样本发送给模型压缩装置。
在本实施例中,教师网络是具有强大性能的复杂网络,它可以是拥有较深卷积层的神经网络模型,教师网络的计算复杂度高,对存储空间的要求比较大,而学生网络是计算速度快、结构简单、性能一般或者较差的网络,学生网络的计算复杂度远低于教师网络的计算复杂度,其对存储空间的要求比较小。教师网络或者学生网络具体可以是视觉几何组网络(VGGNet,Visual Geometry Group Network)、残差网络(ResNet,Residual Network)和密集连接卷积网络(DenseNet,Dense Convolutional Network)等等,但是应当理解的是,本实施例的教师网络和学生网络并不仅限于上述列举的几种类型。
本实施例中,该教师网络可以由其他设备进行训练后,提供给该模型压缩装置,或者,也可以由该模型压缩装置自行进行训练。
若该教师网络是由其他设备进行训练后,提供给该模型压缩装置的,则在步骤“通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征”之前,还可以包括:选取一个与该学生网络作用相同且高性能的网络作为教师网络。
例如,具体地,教师网络在预先训练好后,可以存储在数据库中,比如,存储在区块链的共享账本中。在需要对学生网络进行模型压缩训练时,从区块链中选取一个与该学生网络作用相同或相近且高性能的网络,将其作为教师网络,并从区块链的共享账本中调用该网络,提供给该模型压缩装置。
其中,该教师网络可以通过深度学习得到,深度学习为通过建立具有阶层结构的神经网络,在计算系统中实现人工智能的机器学习。由于具有阶层结构的神经网络能够对输入信息进行逐层提取和筛选,因此深度学习具有表征学习能力,可以实现端到端的监督学习和非监督学习。
需要说明的是,在对学生网络进行模型压缩训练的过程中,教师网络中的参数是固定不变的。
102、计算第一特征和第二特征的特征差异。
本实施例中,步骤“计算第一特征和第二特征的特征差异”,可以包括:
基于所述第一特征确定所述检测样本的第一特征向量;
基于所述第二特征确定所述检测样本的第二特征向量;
计算第一特征向量和第二特征向量的向量距离,所述向量距离表示第一特征和第二特征的特征差异。
其中,向量距离可以度量两个特征向量的相似度,向量距离越大,相似度越小,反之,向量距离越小,相似度越高。向量距离具体可以通过损失函数来衡量。该损失函数可以是均方误差损失函数(MSE Loss,Mean Squared Error Loss)或L1损失函数(L1 Loss)等等。可以理解的是,该损失函数并不限于上述列举的几种类型。
其中,均方误差损失函数是通过均方误差的大小来衡量特征向量间的向量距离。所述均方误差是指预测值和真实值之差的平方的期望值,预测值和真实值越接近,则两者的均方误差就越小。
若使用均方误差损失函数来计算第一特征向量和第二特征向量的向量距离,其过程如下:
在本实施例中,以教师网络提取的特征作为真实值,即以第二特征向量作为真实值;以学生网络提取的特征作为预测值,即以第一特征向量作为预测值,计算第一特征向量相较于第二特征向量的损失函数。当计算得到的损失函数的值越小,说明学生网络的模型越接近理想模型。
本实施例中,检测样本中包含的样本的数量不限,对于每一个检测样本,都通过待压缩的学生网络和教师网络分别提取了特征,以作为预测值和真实值;因此,对于多个检测样本,则可以得到多个预测值和多个对应的真实值,将多个预测值和多个对应的真实值代入上述公式,即可得到学生网络输出的特征向量相较于教师网络输出的特征向量的损失函数的值。
103、基于所述特征差异,对所述学生网络进行调整。
本实施例中,是以缩小特征差异为目的对学生网络进行调整的,其调整过程具体可以包括:
当所述特征差异高于预设特征差异,基于所述特征差异调整所述学生网络的参数;
将调整后的学生网络作为新的待压缩的学生网络,返回执行所述通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到所述特征差异低于预设特征差异,或者直到在所述学生网络的连续n次调整过程中,所述学生网络对应的特征差异的减小幅度不高于预设幅度阈值,其中,n为不小于2的自然数。
其中,对该学生网络参数的调整可以包括对该学生网络中神经元数量的调整,和各层神经元之间连接权重以及偏置的调整等等。
其中,预设特征差异和预设幅度阈值可以根据实际需要设置,例如可以为了使学生网络的性能更加优良,更逼近于教师网络,将预设特征差异和预设幅度阈值具体设置得更小一些,本实施例对此没有限定。
可选的,步骤“当所述特征差异高于预设特征差异,基于所述特征差异调整所述学生网络的参数”可以包括:
当所述特征差异高于预设特征差异时,基于特征差异,通过反向传播(Backpropagation)算法对学生网络的参数进行调整。
其中,反向传播算法是建立在梯度下降法基础上的一种适于多层神经元网络的学习算法。反向传播算法的学习过程由正向传播过程和反向传播过程组成。在正向传播过程中,检测样本通过学生网络的逐层处理,得到检测样本的第一特征。如果该第一特征不符合期望(教师网络对检测样本进行特征提取得到的第二特征)的要求,则将学生网络提取到的第一特征相较于教师网络提取到的第二特征的损失函数作为目标函数,转入反向传播过程。在反向传播过程中,逐层计算目标函数对学生网络的各神经元权值的偏导数,得到目标函数对权值向量的梯量,将其作为修改权值的依据。通过权值的修改,改善学生网络的损失函数,当第一特征与第二特征的特征差异足够小时,学生网络的学习结束。
其中,在所述“在所述学生网络的连续n次调整过程中,所述学生网络对应的特征差异的减小幅度不高于预设幅度阈值”中,学生网络对应的特征差异的减小幅度可以是学生网络连续n次调整过程中,特征差异减小的平均幅度;也可以是每相邻两次学生网络调整过程中的特征差异的减小幅度。
可选的,本实施例中,可以通过损失函数来表示特征差异的大小,进而表示学生网络的准确度,当损失函数的值不符合预设要求时,则基于该损失函数,不断调整学生网络的参数,使得损失函数的值降到预设要求的范围内。其调整过程具体可以包括:
当所述损失函数高于预设损失函数,基于所述损失函数调整所述学生网络的参数;
将调整后的学生网络作为新的待压缩的学生网络,返回执行步骤101所述的通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到所述损失函数低于预设损失函数,或者直到在所述学生网络的连续n次调整过程中,所述学生网络对应的损失函数的减小幅度不高于预设幅度阈值,其中,n为不小于2的自然数。
其中,当所述学生网络的连续n次调整过程中,所述学生网络对应的损失函数的减小幅度不高于预设幅度阈值时,则说明对学生网络的参数继续调整,损失函数的值不再明显下降,表明学生网络的性能难以更逼近教师网络的性能,结束对该学生网络的调整过程。
可选的,参见图3,在步骤“基于所述特征差异,对所述学生网络进行调整”之前,还可以包括:获取所述学生网络的输出结果对应的损失函数,所述损失函数作为第一损失函数。
对应地,步骤“基于所述特征差异,对所述学生网络进行调整”,可以包括:
基于所述特征差异,以第二特征作为真实值,以第一特征作为预测值,计算所述预测值和所述真实值对应的损失函数,所述损失函数作为第二损失函数;
对第一损失函数和第二损失函数进行融合,得到所述学生网络的总损失函数;
基于所述总损失函数,对所述学生网络进行调整。
其中,该学生网络的输出结果对应的损失函数是与学生网络调整过程相关的损失,它可以包括归一化指数损失函数(Softmax Loss)、交叉熵损失函数(CrossEntropyLoss)和弧面损失函数(Arcface Loss)等等。需要理解的是,本实施例的学生网络的输出结果对应的损失函数并不限于上述列举的几种类型。
本实施例中,步骤“对第一损失函数和第二损失函数进行融合,得到所述学生网络的总损失函数”可以包括:对第一损失函数和第二损失函数进行加权,得到所述学生网络的总损失函数,其中,所述第一损失函数和所述第二损失函数对所述总损失函数的配比权重参数动态变化。
具体地,当采用第一特征向量和第二特征向量的均方误差来表示损失函数时,该第二损失函数为均方误差损失函数。总损失函数可以用如下式子来表示:
Loss=LMSE+αLtask
其中,Loss为总损失函数,LMSE为均方误差损失函数,即第二损失函数,Ltask为该学生网络的输出结果对应的损失函数,即第一损失函数,α为该学生网络的输出结果对应的损失函数的权重。在学生网络的调整过程中,可以根据总损失函数的取值来调整该权重α的大小。
本实施例中,基于知识蒸馏的方法从性能强大的教师网络中提取出有用的信息来指导学生网络的调整过程,在教师网络的指导下,学生网络可以获得比单独训练更好的效果,通过知识蒸馏,可以得到一个高性能、低计算复杂度以及低占用内存的学生网络,实现检测样本通过学生网络的输出结果逼近通过教师网络的输出结果。
104、对调整后的学生网络进行裁剪。
本实施例中,对调整后的学生网络进行裁剪时,可以先确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;然后,基于所述贡献度,对所述学生网络中的卷积核进行裁剪。
其中,每个卷积核对学生网络的学习能力的贡献度,可以通过各种卷积核贡献度评价指标进行计算,例如,可以使用L2范数来评估每个卷积核的贡献度,L2范数的值越小,该卷积核的贡献度越低。可以理解的是,该卷积核贡献度评价指标并不限于L2范数。
例如,可以计算每个卷积核的L2范数的值,即计算卷积核中所有元素的平方和的开平方,基于每个卷积核L2范数的大小,对学生网络中的卷积核进行裁剪。比如,基于每个卷积核L2范数的大小,对每个卷积核进行排序,如对卷积核进行由小到大的排序,然后,按照次序,裁剪掉预设数量的卷积核;比如,还可以基于每个卷积核L2范数的大小,设置一个L2范数阈值,将L2范数低于该L2范数阈值的卷积核裁剪掉,保留L2范数不低于该L2范数阈值的卷积核。
105、对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
本实施例中,步骤“对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络”,可以包括:
将裁剪后的学生网络作为新的待压缩的学生网络,返回执行步骤101所述的通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到得到满足预设压缩条件的学生网络。
其中,该预设压缩条件可以是预设的压缩比,也可以是达到预设需要裁剪的卷积核的目标总数量。
在一个实施例中,当该预设压缩条件为预设的压缩比时,则在迭代压缩处理过程中,步骤“基于所述特征差异,对所述学生网络进行调整“之后,可以包括:
判断调整后的学生网络相较于最初待压缩的学生网络的压缩比是否达到预设的压缩比;
若是,则结束迭代压缩处理过程,得到满足预设压缩条件的学生网络;
若否,则对调整后的学生网络进行裁剪,返回执行步骤101所述的通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到得到满足预设压缩条件的学生网络。
在另一个实施例中,当该预设压缩条件为达到预设需要裁剪的卷积核的目标总数量时,在迭代压缩处理过程中,步骤“对调整后的学生网络进行裁剪”可以包括:
获取所述学生网络对应需要裁剪的卷积核的目标总数量、卷积核的已裁剪总数量和卷积核的最近一次裁剪数量;
确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;
基于所述贡献度,对所述学生网络中的卷积核进行裁剪,其中,卷积核的本次裁剪数量不高于所述最近一次裁剪数量,所述本次裁剪数量和所述已裁剪总数量之和不超过所述目标总数量。
在对学生网络进行裁剪后,判断卷积核的已裁剪总数量是否小于目标总数量;若是,则返回执行步骤101所述的通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到裁剪的卷积核数量达到目标总数量;若否,则对学生网络进行调整,即可得到满足预设要求的学生网络,调整过程可参考步骤101-103。
本实施例中,对调整后的学生网络进行裁剪时,可以先确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;然后,基于所述贡献度,对所述学生网络中的卷积核进行裁剪,其中,每次对所述学生网络的裁剪强度不高于上一次对所述学生网络的裁剪强度。
其中,每个卷积核对学生网络的学习能力的贡献度,可以通过各种卷积核贡献度评价指标进行计算,例如,可以使用L2范数来评估每个卷积核的贡献度,L2范数的值越小,该卷积核的贡献度越低。可以理解的是,该卷积核贡献度评价指标并不限于L2范数。
在本实施例中,可以使用渐进式裁剪的方法来对学生网络进行多次裁剪,即每次对学生网络的裁剪强度不高于上一次对学生网络的裁剪强度。这样,在学生网络的学习能力较强时,裁剪强度相对较大,随着裁剪次数的增加,学生网络的学习能力逐渐下降,当学生网络的学习能力较弱时,则采用较小的裁剪强度;若在学生网络的学习能力较弱的时候,仍使用较强的裁剪强度,则会使学生网络的性能明显下降。通过渐进式裁剪的方法,可以使裁剪对学生网络性能的影响降到最低。
可选的,在本实施例中,步骤“基于所述贡献度,对所述学生网络中的卷积核进行裁剪”可以包括:
获取所述学生网络对应需要裁剪的卷积核的目标总数量、卷积核的已裁剪总数量和卷积核的最近一次裁剪数量;
基于所述贡献度,对所述学生网络中的卷积核进行排序;
对排序后的卷积核进行裁剪,其中,卷积核的本次裁剪数量不高于所述最近一次裁剪数量,所述本次裁剪数量和所述已裁剪总数量之和不超过所述目标总数量。
可选的,本实施例中,对学生网络中的卷积核的渐进式裁剪方案具体可以如下所示:
其中,i表示学生网络的第i次裁剪,N表示需要裁剪的卷积核的目标总数量,表示取的整数部分的值,该式子表示若则第i次裁剪的卷积核的数量为否则,裁剪的卷积核的数量为1。通过上述公式可以确定每次需要裁剪的卷积核的数量,此外,还可以通过评价指标确定每个卷积核的贡献度,如通过L2范数确定每个卷积核的贡献度,基于贡献度,对卷积核进行由小到大的排序,在每次对卷积核进行裁剪时,裁剪掉序列中最前面的N(i)个卷积核。
由上可知,本实施例可以通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络;本申请可以通过对学生网络进行裁剪和迭代压缩处理,实现对学生网络的压缩,同时还使用教师网络对学生网络的性能进行调整,以补偿压缩带来的学生网络性能和精度下降,使得在压缩模型的同时保证压缩后模型的性能。
实施例二、
根据前面实施例所描述的方法,以下将以该模型压缩装置具体集成在服务器举例作进一步详细说明。
本申请实施例提供的图像匹配方法涉及人工智能的机器学习等技术,具体通过如下实施例进行说明:
如图4所示,一种模型压缩方法,具体流程可以如下:
201、服务器通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征。
本实施例中的检测样本,可以是静态图,也可以是动态图,可以是人物肖像、表情以及商品图像等等类型的图像。
以商品图像作为检测的样本为例,进行说明。
本实施例中,步骤“服务器通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征”,可以包括:先对检测样本进行预处理,如对商品图像的大小进行调整,或者对商品图像进行图像数据增强;再通过待压缩的学生网络和教师网络的特征提取块,分别提取检测样本多个尺度下的特征图,再对多个尺度下的特征图进行处理,得到所述检测样本的第一特征和第二特征。其中,提取到的特征可以是商品的形状轮廓等。
需要说明的是,学生网络与教师网络中输入的检测样本为相同的检测样本,而且,在对学生网络进行模型压缩训练的过程中,教师网络中的参数是固定不变的。
本实施例中,该教师网络可以由其他设备进行训练后,提供给该模型压缩装置,或者,也可以由该模型压缩装置自行进行训练。
若该教师网络是由其他设备进行训练后,提供给该模型压缩装置的,则在步骤“服务器通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征”之前,还可以包括:选取一个与该学生网络作用相同且高性能的网络作为教师网络。
例如,教师网络在预先训练好后,可以存储在区块链的共享账本中。在需要对学生网络进行模型压缩训练时,从区块链中选取一个与该学生网络作用相同或相近且高性能的网络,将其作为教师网络,并从区块链的共享账本中调用该网络,提供给该模型压缩装置。
202、服务器计算第一特征和第二特征的特征差异。
本实施例中,步骤“服务器计算第一特征和第二特征的特征差异”,可以包括:基于所述第一特征确定所述检测样本的第一特征向量;基于所述第二特征确定所述检测样本的第二特征向量;计算第一特征向量和第二特征向量的向量距离,所述向量距离表示第一特征和第二特征的特征差异。
其中,向量距离可以度量两个特征向量的相似度,向量距离具体可以通过损失函数来衡量,例如,该向量距离可以通过均方误差损失函数来衡量。可以理解的是,该损失函数并不仅限于均方误差损失函数。
若使用均方误差损失函数来计算第一特征向量和第二特征向量的向量距离,其过程如下:
本实施例中,检测样本中包含的样本的数量不限,对于每一个检测样本,都通过待压缩的学生网络和教师网络分别提取了特征,以作为预测值和真实值;因此,对于多个检测样本,则可以得到多个预测值和多个对应的真实值,将多个预测值和多个对应的真实值代入上述公式,即可得到学生网络输出的特征向量相较于教师网络输出的特征向量的损失函数的值。
203、服务器基于所述特征差异,以缩小特征差异为目的,对所述学生网络的参数进行调整。
本实施例中,步骤“服务器基于所述特征差异,以缩小特征差异为目的,对所述学生网络的参数进行调整”可以包括:
当所述特征差异高于预设特征差异,基于所述特征差异调整所述学生网络的参数;
将调整后的学生网络作为新的待压缩的学生网络,返回执行所述通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到所述特征差异低于预设特征差异,或者直到在所述学生网络的连续n次调整过程中,所述学生网络对应的特征差异的减小幅度不高于预设幅度阈值,其中,n为不小于2的自然数。
其中,预设特征差异和预设幅度阈值可以根据实际需要设置,例如可以为了使学生网络的性能更加优良,更逼近于教师网络,将预设特征差异和预设幅度阈值具体设置得更小一些,本实施例对此没有限定。
可选的,步骤“当所述特征差异高于预设特征差异,基于所述特征差异调整所述学生网络的参数”可以包括:
当所述特征差异高于预设特征差异时,基于特征差异,通过反向传播(Backpropagation)算法对学生网络的参数进行调整。
其中,在所述“在所述学生网络的连续n次调整过程中,所述学生网络对应的特征差异的减小幅度不高于预设幅度阈值”中,学生网络对应的特征差异的减小幅度可以是学生网络连续n次调整过程中,特征差异减小的平均幅度;也可以是每相邻两次学生网络调整过程中的特征差异的减小幅度。
可选的,参见图3,在步骤“服务器基于所述特征差异,以缩小特征差异为目的,对所述学生网络的参数进行调整”之前,还可以包括:获取所述学生网络的输出结果对应的损失函数,所述损失函数作为第一损失函数。
对应地,步骤“基于所述特征差异,对所述学生网络进行调整”,还可以包括:
基于所述特征差异,以第二特征作为真实值,以第一特征作为预测值,计算所述预测值和所述真实值对应的损失函数,所述损失函数作为第二损失函数;
对第一损失函数和第二损失函数进行融合,得到所述学生网络的总损失函数;
基于所述总损失函数,对所述学生网络进行调整。
其中,该学生网络的输出结果对应的损失函数是与学生网络调整过程相关的损失,它可以包括归一化指数损失函数(Softmax Loss)、交叉熵损失函数(CrossEntropyLoss)和弧面损失函数(Arcface Loss)等等。需要理解的是,本实施例的学生网络的输出结果对应的损失函数并不限于上述列举的几种类型。
本实施例中,步骤“对第一损失函数和第二损失函数进行融合,得到所述学生网络的总损失函数”可以包括:对第一损失函数和第二损失函数进行加权,得到所述学生网络的总损失函数,其中,所述第一损失函数和所述第二损失函数对所述总损失函数的配比权重参数动态变化。
具体地,当采用第一特征向量和第二特征向量的均方误差来表示损失函数时,该第二损失函数为均方误差损失函数。总损失函数可以用如下式子来表示:
Loss=LMSE+αLtask
其中,Loss为总损失函数,LMSE为均方误差损失函数,即第二损失函数,Ltask为该学生网络的输出结果对应的损失函数,即第一损失函数,α为该学生网络的输出结果对应的损失函数的权重。在学生网络的调整过程中,可以根据总损失函数的取值来调整该权重α的大小。
204、服务器确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;基于所述贡献度,对所述学生网络中的卷积核进行裁剪。
其中,每个卷积核对学生网络的学习能力的贡献度,可以通过各种卷积核贡献度评价指标进行计算,例如,可以使用L2范数来评估每个卷积核的贡献度,L2范数的值越小,该卷积核的贡献度越低。可以理解的是,该卷积核贡献度评价指标并不限于L2范数。
例如,可以计算每个卷积核的L2范数的值,即计算卷积核中所有元素的平方和的开平方,基于每个卷积核L2范数的大小,对学生网络中的卷积核进行裁剪。比如,基于每个卷积核L2范数的大小,对每个卷积核进行排序,如对卷积核进行由小到大的排序,然后,按照次序,裁剪掉预设数量的卷积核;比如,还可以基于每个卷积核L2范数的大小,设置一个L2范数阈值,将L2范数低于该L2范数阈值的卷积核裁剪掉,保留L2范数不低于该L2范数阈值的卷积核。
205、判断裁剪后的学生网络是否满足预设压缩条件,其中,所述预设压缩条件为达到预设需要裁剪的卷积核的目标总数量;若是,则结束流程或者对学生网络再调整一次;若否,则进入步骤206。
在本实施例中,在对学生网络进行裁剪后,判断卷积核的已裁剪总数量是否不小于目标总数量;若是,则结束流程或者对学生网络进行再次调整,即可得到满足预设要求的学生网络,调整过程可参考步骤201-203;若否,则执行步骤206,直到裁剪的卷积核数量达到目标总数量。
206、服务器将裁剪后的学生网络作为新的待压缩的学生网络,返回执行步骤201,直到得到满足预设压缩条件的学生网络。
由上可知,本实施例可以通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,以缩小特征差异为目的,对所述学生网络的参数进行调整;确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;基于所述贡献度,对所述学生网络中的卷积核进行裁剪;判断裁剪后的学生网络是否满足预设压缩条件,其中,所述预设压缩条件为达到预设需要裁剪的卷积核的目标总数量;若是,则结束流程或者对学生网络再调整一次;若否,则将裁剪后的学生网络作为新的待压缩的学生网络,返回执行所述通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到得到满足预设压缩条件的学生网络。本申请可以通过对学生网络进行裁剪和迭代压缩处理,实现对学生网络的压缩,同时还使用教师网络对学生网络的性能进行调整,以补偿压缩带来的学生网络性能和精度下降,使得在压缩模型的同时保证压缩后模型的性能。
实施例三、
为了更好地实施以上方法,本申请实施例还提供一种模型压缩装置,如图5a所示。该图像匹配装置可以包括提取单元501、计算单元502、调整单元503、裁剪单元504、迭代单元505,如下:
(1)提取单元501;
提取单元501,用于通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征。
例如,该提取单元具体可以先对检测样本进行预处理,通过待压缩的学生网络和教师网络的特征提取块,分别提取检测样本多个尺度下的特征图,再对多个尺度下的特征图进行处理,得到所述检测样本的第一特征和第二特征。
(2)计算单元502;
计算单元502,用于计算第一特征和第二特征的特征差异。
本实施例中,该计算单元,具体可以用于基于所述第一特征确定所述检测样本的第一特征向量;基于所述第二特征确定所述检测样本的第二特征向量;计算第一特征向量和第二特征向量的向量距离,所述向量距离表示第一特征和第二特征的特征差异。
其中,向量距离具体可以通过损失函数来计算。该损失函数可以是均方误差损失函数。
(3)调整单元503;
调整单元503,用于基于所述特征差异,对所述学生网络进行调整。
本实施例中,该调整单元503可以包括第一调整子单元5031和迭代子单元5032,参见图5b,其中:
该第一调整子单元5031,用于当所述特征差异高于预设特征差异,基于所述特征差异调整所述学生网络的参数。
迭代子单元5032,用于控制提取单元将调整后的学生网络作为新的待压缩的学生网络,执行所述的通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到所述特征差异低于预设特征差异,或者直到在所述学生网络的连续n次调整过程中,所述学生网络对应的特征差异的减小幅度不高于预设幅度阈值,其中,n为不小于2的自然数。
可选的,该调整单元503还可以包括获取子单元5033、计算子单元5034、融合子单元5035和第二调整子单元5036,参见图5c,如下:
获取子单元5033,用于获取所述学生网络的输出结果对应的损失函数,所述损失函数作为第一损失函数。
计算子单元5034,用于基于所述特征差异,以第二特征作为真实值,以第一特征作为预测值,计算所述预测值和所述真实值对应的损失函数,所述损失函数作为第二损失函数。
融合子单元5035,用于对第一损失函数和第二损失函数进行融合,得到所述学生网络的总损失函数。
第二调整子单元5036,用于基于所述总损失函数,对所述学生网络进行调整。
(4)裁剪单元504;
裁剪单元,用于对调整后的学生网络进行裁剪。
在本实施例中,该裁剪单元504可以包括确定子单元5041和裁剪子单元5042,参见图5d,如下:
确定子单元5041,用于确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;
裁剪子单元5042,用于基于所述贡献度,对所述学生网络中的卷积核进行裁剪,其中,每次对所述学生网络的裁剪强度不高于上一次对所述学生网络的裁剪强度。
可选的,本实施例中,该裁剪子单元5042具体可以用于获取所述学生网络对应需要裁剪的卷积核的目标总数量、卷积核的已裁剪总数量和卷积核的最近一次裁剪数量;基于所述贡献度,对所述学生网络中的卷积核进行排序;对排序后的卷积核进行裁剪,其中,卷积核的本次裁剪数量不高于所述最近一次裁剪数量,所述本次裁剪数量和所述已裁剪总数量之和不超过所述目标总数量。
(5)迭代单元505;
迭代单元505,用于对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
本实施例中,迭代单元具体可以将裁剪后的学生网络作为新的待压缩的学生网络,控制提取单元执行所述通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到得到满足预设压缩条件的学生网络。
由上可知,本实施例可以通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;通过计算单元502计算第一特征和第二特征的特征差异;基于所述特征差异,通过调整单元503对所述学生网络进行调整;然后,通过裁剪单元504对调整后的学生网络进行裁剪;再通过迭代单元505对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络;本申请可以通过对学生网络进行裁剪和迭代压缩处理,实现对学生网络的压缩,同时还使用教师网络对学生网络的性能进行调整,以补偿压缩带来的学生网络性能和精度下降,使得在压缩模型的同时保证压缩后模型的性能。
实施例四、
本申请实施例还提供一种电子设备,如图6所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例可以通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络;本申请可以通过对学生网络进行裁剪和迭代压缩处理,实现对学生网络的压缩,同时还使用教师网络对学生网络的性能进行调整,以补偿压缩带来的学生网络性能和精度下降,使得在压缩模型的同时保证压缩后模型的性能。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种模型压缩方法中的步骤。例如,该指令可以执行如下步骤:
通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;计算第一特征和第二特征的特征差异;基于所述特征差异,对所述学生网络进行调整;对调整后的学生网络进行裁剪;对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种模型压缩方法中的步骤,因此,可以实现本申请实施例所提供的任一种模型压缩方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本申请实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的电子设备,如服务器、终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图7,图7是本申请实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。本实施例中,检测样本和教师网络等信息,可以通过节点被存储在区域链系统的共享账本中,电子设备(例如终端或服务器)可以基于共享账本存储的记录数据获取检测样本和教师网络等信息。
参见图7示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图8,图8是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
以上对本申请实施例所提供的一种模型压缩方法、装置、电子设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种模型压缩方法,其特征在于,包括:
通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;
计算第一特征和第二特征的特征差异;
基于所述特征差异,对所述学生网络进行调整;
对调整后的学生网络进行裁剪;
对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
2.根据权利要求1所述的方法,其特征在于,所述对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络,包括:
将裁剪后的学生网络作为新的待压缩的学生网络,返回执行所述通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到得到满足预设压缩条件的学生网络。
3.根据权利要求1所述的方法,其特征在于,所述计算第一特征和第二特征的特征差异,包括:
基于所述第一特征确定所述检测样本的第一特征向量;
基于所述第二特征确定所述检测样本的第二特征向量;
计算第一特征向量和第二特征向量的向量距离,所述向量距离表示第一特征和第二特征的特征差异。
4.根据权利要求1所述的方法,其特征在于,所述基于所述特征差异,对所述学生网络进行调整,包括:
当所述特征差异高于预设特征差异,基于所述特征差异调整所述学生网络的参数;
将调整后的学生网络作为新的待压缩的学生网络,返回执行所述通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征的步骤,直到所述特征差异低于预设特征差异,或者直到在所述学生网络的连续n次调整过程中,所述学生网络对应的特征差异的减小幅度不高于预设幅度阈值,其中,n为不小于2的自然数。
5.根据权利要求1所述的方法,其特征在于,所述基于所述特征差异,对所述学生网络进行调整之前,还包括:
获取所述学生网络的输出结果对应的损失函数,所述损失函数作为第一损失函数;
所述基于所述特征差异,对所述学生网络进行调整,包括:
基于所述特征差异,以第二特征作为真实值,以第一特征作为预测值,计算所述预测值和所述真实值对应的损失函数,所述损失函数作为第二损失函数;
对第一损失函数和第二损失函数进行融合,得到所述学生网络的总损失函数;
基于所述总损失函数,对所述学生网络进行调整。
6.根据权利要求2所述的方法,其特征在于,所述对调整后的学生网络进行裁剪,包括:
确定调整后的学生网络中,每个卷积核对所述学生网络的学习能力的贡献度;
基于所述贡献度,对所述学生网络中的卷积核进行裁剪,其中,每次对所述学生网络的裁剪强度不高于上一次对所述学生网络的裁剪强度。
7.根据权利要求6所述的方法,其特征在于,所述基于所述贡献度,对所述学生网络中的卷积核进行裁剪,包括:
获取所述学生网络对应需要裁剪的卷积核的目标总数量、卷积核的已裁剪总数量和卷积核的最近一次裁剪数量;
基于所述贡献度,对所述学生网络中的卷积核进行排序;
对排序后的卷积核进行裁剪,其中,卷积核的本次裁剪数量不高于所述最近一次裁剪数量,所述本次裁剪数量和所述已裁剪总数量之和不超过所述目标总数量。
8.一种模型压缩装置,其特征在于,包括:
提取单元,用于通过待压缩的学生网络和教师网络分别对检测样本提取特征,得到所述检测样本的第一特征和第二特征;
计算单元,用于计算第一特征和第二特征的特征差异;
调整单元,用于基于所述特征差异,对所述学生网络进行调整;
裁剪单元,用于对调整后的学生网络进行裁剪;
迭代单元,用于对裁剪后的学生网络进行预设迭代压缩处理,以得到满足预设压缩条件的学生网络。
9.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至7任一项所述的模型压缩方法中的操作。
10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的模型压缩方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100168.9A CN111091177B (zh) | 2019-11-12 | 2019-11-12 | 一种模型压缩方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100168.9A CN111091177B (zh) | 2019-11-12 | 2019-11-12 | 一种模型压缩方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111091177A true CN111091177A (zh) | 2020-05-01 |
CN111091177B CN111091177B (zh) | 2022-03-08 |
Family
ID=70394136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911100168.9A Active CN111091177B (zh) | 2019-11-12 | 2019-11-12 | 一种模型压缩方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111091177B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111709516A (zh) * | 2020-06-09 | 2020-09-25 | 深圳先进技术研究院 | 神经网络模型的压缩方法及压缩装置、存储介质、设备 |
CN111967573A (zh) * | 2020-07-15 | 2020-11-20 | 中国科学院深圳先进技术研究院 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN112307968A (zh) * | 2020-10-30 | 2021-02-02 | 天地伟业技术有限公司 | 一种人脸识别特征压缩方法 |
CN112529149A (zh) * | 2020-11-30 | 2021-03-19 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
CN112801298A (zh) * | 2021-01-20 | 2021-05-14 | 北京百度网讯科技有限公司 | 异常样本检测方法、装置、设备和存储介质 |
CN113360701A (zh) * | 2021-08-09 | 2021-09-07 | 成都考拉悠然科技有限公司 | 一种基于知识蒸馏的素描图处理方法及其系统 |
WO2022057468A1 (zh) * | 2020-09-18 | 2022-03-24 | 苏州浪潮智能科技有限公司 | 一种深度学习模型推理加速的方法、系统、设备及介质 |
WO2022198606A1 (zh) * | 2021-03-26 | 2022-09-29 | 深圳市大疆创新科技有限公司 | 深度学习模型的获取方法、系统、装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106355248A (zh) * | 2016-08-26 | 2017-01-25 | 深圳先进技术研究院 | 一种深度卷积神经网络训练方法及装置 |
CN107247989A (zh) * | 2017-06-15 | 2017-10-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
CN107688850A (zh) * | 2017-08-08 | 2018-02-13 | 北京深鉴科技有限公司 | 一种深度神经网络压缩方法 |
WO2018058509A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Dynamic neural network surgery |
CN108154232A (zh) * | 2018-01-23 | 2018-06-12 | 厦门中控智慧信息技术有限公司 | 人工神经网络的剪枝方法、装置、设备及可读存储介质 |
CN109145766A (zh) * | 2018-07-27 | 2019-01-04 | 北京旷视科技有限公司 | 模型训练方法、装置、识别方法、电子设备及存储介质 |
CN109409500A (zh) * | 2018-09-21 | 2019-03-01 | 清华大学 | 基于知识蒸馏与非参数卷积的模型加速方法及装置 |
CN109711544A (zh) * | 2018-12-04 | 2019-05-03 | 北京市商汤科技开发有限公司 | 模型压缩的方法、装置、电子设备及计算机存储介质 |
CN110175628A (zh) * | 2019-04-25 | 2019-08-27 | 北京大学 | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 |
-
2019
- 2019-11-12 CN CN201911100168.9A patent/CN111091177B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106355248A (zh) * | 2016-08-26 | 2017-01-25 | 深圳先进技术研究院 | 一种深度卷积神经网络训练方法及装置 |
WO2018058509A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Dynamic neural network surgery |
CN107247989A (zh) * | 2017-06-15 | 2017-10-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
CN107688850A (zh) * | 2017-08-08 | 2018-02-13 | 北京深鉴科技有限公司 | 一种深度神经网络压缩方法 |
CN108154232A (zh) * | 2018-01-23 | 2018-06-12 | 厦门中控智慧信息技术有限公司 | 人工神经网络的剪枝方法、装置、设备及可读存储介质 |
CN109145766A (zh) * | 2018-07-27 | 2019-01-04 | 北京旷视科技有限公司 | 模型训练方法、装置、识别方法、电子设备及存储介质 |
CN109409500A (zh) * | 2018-09-21 | 2019-03-01 | 清华大学 | 基于知识蒸馏与非参数卷积的模型加速方法及装置 |
CN109711544A (zh) * | 2018-12-04 | 2019-05-03 | 北京市商汤科技开发有限公司 | 模型压缩的方法、装置、电子设备及计算机存储介质 |
CN110175628A (zh) * | 2019-04-25 | 2019-08-27 | 北京大学 | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 |
Non-Patent Citations (4)
Title |
---|
INI OGUNTOLA ET AL.: "SlimNets: An Exploration of Deep Model Compression and Acceleration", 《ARXIV:1808.00496》 * |
MICHAEL H. ZHU,SUYOG GUPTA: "To prune, or not to prune: exploring the efficacy of pruning for model compression", 《ARXIV:1710.01878V2》 * |
ZHENSHAN BAO ET AL.: "Using Distillation to Improve Network Performance after Pruning and Quantization", 《2019 ASSOCIATION FOR COMPUTING MACHINERY》 * |
王震,周冕: "基于卷积核滤波器筛选的CNN模型精简方法", 《天津理工大学学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111709516A (zh) * | 2020-06-09 | 2020-09-25 | 深圳先进技术研究院 | 神经网络模型的压缩方法及压缩装置、存储介质、设备 |
CN111709516B (zh) * | 2020-06-09 | 2023-07-28 | 深圳先进技术研究院 | 神经网络模型的压缩方法及压缩装置、存储介质、设备 |
CN111967573A (zh) * | 2020-07-15 | 2020-11-20 | 中国科学院深圳先进技术研究院 | 数据处理方法、装置、设备及计算机可读存储介质 |
WO2022057468A1 (zh) * | 2020-09-18 | 2022-03-24 | 苏州浪潮智能科技有限公司 | 一种深度学习模型推理加速的方法、系统、设备及介质 |
CN112307968A (zh) * | 2020-10-30 | 2021-02-02 | 天地伟业技术有限公司 | 一种人脸识别特征压缩方法 |
CN112529149A (zh) * | 2020-11-30 | 2021-03-19 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
CN112529149B (zh) * | 2020-11-30 | 2024-05-24 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
CN112801298A (zh) * | 2021-01-20 | 2021-05-14 | 北京百度网讯科技有限公司 | 异常样本检测方法、装置、设备和存储介质 |
CN112801298B (zh) * | 2021-01-20 | 2023-09-01 | 北京百度网讯科技有限公司 | 异常样本检测方法、装置、设备和存储介质 |
WO2022198606A1 (zh) * | 2021-03-26 | 2022-09-29 | 深圳市大疆创新科技有限公司 | 深度学习模型的获取方法、系统、装置及存储介质 |
CN113360701A (zh) * | 2021-08-09 | 2021-09-07 | 成都考拉悠然科技有限公司 | 一种基于知识蒸馏的素描图处理方法及其系统 |
CN113360701B (zh) * | 2021-08-09 | 2021-11-02 | 成都考拉悠然科技有限公司 | 一种基于知识蒸馏的素描图处理方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111091177B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111091177B (zh) | 一种模型压缩方法、装置、电子设备和存储介质 | |
CN111324774B (zh) | 一种视频去重方法和装置 | |
CN112131978B (zh) | 一种视频分类方法、装置、电子设备和存储介质 | |
CN109544306B (zh) | 一种基于用户行为序列特征的跨领域推荐方法及装置 | |
CN110825904A (zh) | 一种图像匹配方法、装置、电子设备和存储介质 | |
CN112000819A (zh) | 多媒体资源推荐方法、装置、电子设备及存储介质 | |
Tian et al. | Evolutionary programming based deep learning feature selection and network construction for visual data classification | |
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN111382868A (zh) | 神经网络结构搜索方法和神经网络结构搜索装置 | |
CN112380453B (zh) | 物品推荐方法、装置、存储介质及设备 | |
CN113254792A (zh) | 训练推荐概率预测模型的方法、推荐概率预测方法及装置 | |
CN112053327B (zh) | 视频目标物检测方法、系统及存储介质和服务器 | |
CN111708823B (zh) | 异常社交账号识别方法、装置、计算机设备和存储介质 | |
CN110222838B (zh) | 文档排序方法、装置、电子设备及存储介质 | |
CN110598118A (zh) | 资源对象的推荐方法、装置及计算机可读介质 | |
CN110889759A (zh) | 信用数据的确定方法、装置及存储介质 | |
CN110569380A (zh) | 一种图像标签获取方法、装置及存储介质和服务器 | |
CN111324773A (zh) | 一种背景音乐构建方法、装置、电子设备和存储介质 | |
Tian et al. | Genetic algorithm based deep learning model selection for visual data classification | |
CN110674181A (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
CN114581702A (zh) | 图像分类方法、装置、计算机设备及计算机可读存储介质 | |
CN111984842B (zh) | 银行客户数据处理方法及装置 | |
CN116861078A (zh) | 一种融合用户多行为的图神经网络推荐方法 | |
CN111459990B (zh) | 对象处理方法、系统及计算机可读存储介质和计算机设备 | |
CN116541592A (zh) | 向量生成方法、信息推荐方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |