CN109409500B - 基于知识蒸馏与非参数卷积的模型加速方法及装置 - Google Patents
基于知识蒸馏与非参数卷积的模型加速方法及装置 Download PDFInfo
- Publication number
- CN109409500B CN109409500B CN201811108089.8A CN201811108089A CN109409500B CN 109409500 B CN109409500 B CN 109409500B CN 201811108089 A CN201811108089 A CN 201811108089A CN 109409500 B CN109409500 B CN 109409500B
- Authority
- CN
- China
- Prior art keywords
- convolution
- model
- neural network
- layer
- knowledge distillation
- 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.)
- Active
Links
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000001133 acceleration Effects 0.000 title claims abstract description 33
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 35
- 238000004821 distillation Methods 0.000 claims abstract description 19
- 238000005520 cutting process Methods 0.000 claims abstract description 14
- 230000004931 aggregating effect Effects 0.000 claims abstract description 6
- 210000005036 nerve Anatomy 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 51
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 230000005012 migration Effects 0.000 claims description 8
- 238000013508 migration Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 8
- 230000006399 behavior Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 230000001537 neural effect Effects 0.000 claims 2
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于知识蒸馏与非参数卷积的模型加速方法及装置,其中,该方法包括以下步骤:裁剪步骤,裁剪卷积神经网络的非线性层与聚合冗余的卷积层;第一蒸馏步骤,在对卷积神经网络裁剪后,对原有模型进行蒸馏以得到初始卷积神经网络;替换步骤,将第一网络中剩余的卷积层替换为非参数的卷积层;第二蒸馏步骤,通过知识蒸馏来维持替换以后的模型精度,以得到最终卷积神经。该方法采用知识蒸馏的手段学习得到轻量级的非参数卷积进而减少模型大小和提高运行时速度。
Description
技术领域
本发明涉及深度学习技术领域,特别涉及一种基于知识蒸馏与非参数卷积的模型加速方法及装置。
背景技术
近年来,卷积神经网络在大量的机器学习领域,例如图像分类,目标检测,语义分割和语音识别中取得了突破性的提高。今年来的研究进展表明卷积神经网络的精度可以通过增加网络的深度和宽度来改善,尽管卷积神经网络取得如此的成功,但是在现实生活的应用中部署网络,尤其是在移动设备或者嵌入式便携设备上,主要受到他们大规模的参数和运算次数的限制。为了解决这个问题,一些深度神经网络的压缩算法被提出用来学习高效的卷积神经网络模型,以便于取得更快的运行时速度。
卷积神经网络的改善已经在以下的工作中被广泛的研究。一些二值网络的方法被提出来替代复杂的卷及神经网络运算。这些网络模型使用二值权重和激活值,从而应用比特运算的小存储量和高效计算。另一个流行的技术是采用深度分离卷积,对每个通道采用可分离的卷积核,然后在所有的通道上接入一个点乘的卷积。大多数方法致力于寻找一个替代现有标准卷积的高效卷积进而重新训练一个新的压缩的网络。还有一些其他的工作引入了剪枝和量化,这些工作都依赖于高运算量的重新训练过程来维持减少参数后的神经网络的精度。此外,近年来的另外一个研究方向是模型蒸馏,将计算复杂的“老师”网络压缩成一个小的“学生”替代网络,进而很容易的部署在资源有限的硬件上。然而,找到更高效的学生网络结构并且有效的训练其逼近老师网络的性能依然是这个领域的一个重大挑战。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于知识蒸馏与非参数卷积的模型加速方法,该方法采用知识蒸馏的手段学习得到轻量级的非参数卷积进而减少模型大小和提高运行时速度。
本发明的另一个目的在于提出一种基于知识蒸馏与非参数卷积的模型加速装置。
为达到上述目的,本发明一方面实施例提出了一种基于知识蒸馏与非参数卷积的模型加速方法,包括:裁剪步骤,裁剪卷积神经网络的非线性层与聚合冗余的卷积层;第一蒸馏步骤,在对所述卷积神经网络裁剪后,对原有模型进行蒸馏以得到初始卷积神经网络;替换步骤,将所述第一网络中剩余的卷积层替换为非参数的卷积层;第二蒸馏步骤,通过知识蒸馏来维持替换以后的模型精度,以得到最终卷积神经。
本发明实施例的基于知识蒸馏与非参数卷积的模型加速方法,首先通过聚合冗余的卷积层实现模块内的裁剪,接着对卷积神经网络进行裁剪,然后对原有模型进行蒸馏得到小的网络,替换掉剩余的卷积层得到非参数的卷积层,最后使用知识蒸馏的方法来维持替换以后的模型精度,从而实现减少模型大小和提高运行时速度的目的。
另外,根据本发明上述实施例的基于知识蒸馏与非参数卷积的模型加速方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述裁剪步骤进一步包括:将所述聚合冗余的卷积层替换成单一的小卷积以模拟原先多个网络的行为,其中,目标函数为:
其中,Bi为第i个卷积神经网络模块,Fi,j为卷积层在Bi的制造特征,Ki,j为卷积核,fi是一个对输入特征Fi,1和输出特征Fi,j的新映射,conv(F,K)是对于特征图F和卷积核K卷积操作。
进一步地,在本发明的一个实施例中,所述替换步骤进一步包括:将所述卷积层的数学运算替换成对特征图进行预设方向移动的内存操作,其中,对所述非参数的卷积层的定义为:
其中,w,h表示特征图的大小,nin,nout表示输出和输入的位置。
进一步地,在本发明的一个实施例中,在知识蒸馏时,学生网络通过优化的损失函数进行训练,所述优化的损失函数为:
其中,s和t分别为学生网络最后一层的输出,标签向量y,Lhard是使用类标信息进行监督的损失函数,LSoFt是使用老师预测的顶层输出进行监督的损失函数,T是温度参数,μ是两项之间的平衡项。
其中,在模块间的注意力迁移时,总的损失函数的表达式为:
其中,Q函数是特征的绝对值的2范数的和,Ft为学生模型特征,FS为老师模型特征。
为达到上述目的,本发明另一方面实施例提出了一种基于知识蒸馏与非参数卷积的模型加速装置,包括:裁剪模块,用于裁剪卷积神经网络的非线性层与聚合冗余的卷积层;第一蒸馏模块,用于在对所述卷积神经网络裁剪后,对原有模型进行蒸馏以得到初始卷积神经网络;替换模块,用于将所述第一网络中剩余的卷积层替换为非参数的卷积层;第二蒸馏模块,用于通过知识蒸馏来维持替换以后的模型精度,以得到最终卷积神经。
本发明实施例的基于知识蒸馏与非参数卷积的模型加速装置,首先通过聚合冗余的卷积层实现模块内的裁剪,接着对卷积神经网络进行裁剪,然后对原有模型进行蒸馏得到小的网络,替换掉剩余的卷积层得到非参数的卷积层,最后使用知识蒸馏的方法来维持替换以后的模型精度,从而实现减少模型大小和提高运行时速度的目的。
另外,根据本发明上述实施例的基于知识蒸馏与非参数卷积的模型加速装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述裁剪模块进一步用于将所述聚合冗余的卷积层替换成单一的小卷积以模拟原先多个网络的行为,其中,目标函数为:
其中,Bi为第i个卷积神经网络模块,Fi,j为卷积层在Bi的制造特征,Ki,j为卷积核,fi是一个对输入特征Fi,1和输出特征Fi,j的新映射,conv(F,K)是对于特征图F和卷积核K卷积操作。
进一步地,在本发明的一个实施例中,所述替换模块进一步用于将所述卷积层的数学运算替换成对特征图进行预设方向移动的内存操作,其中,对所述非参数的卷积层的定义为:
其中,w,h表示特征图的大小,nin,nout表示输出和输入的位置。
进一步地,在本发明的一个实施例中,在知识蒸馏时,学生网络通过优化的损失函数进行训练,所述优化的损失函数为:
其中,s和t分别为学生网络最后一层的输出,标签向量y,Lhard是使用类标信息进行监督的损失函数,Lsoft是使用老师预测的顶层输出进行监督的损失函数,T是温度参数,μ是两项之间的平衡项。
其中,在模块间的注意力迁移时,总的损失函数的表达式为:
其中,Q函数是特征的绝对值的2范数的和,Ft为学生模型特征,Fs为老师模型特征。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的基于知识蒸馏与非参数卷积的模型加速方法流程图;
图2为根据本发明一个实施例的基于知识蒸馏与非参数卷积的模型加速方法流程图;
图3为根据本发明一个实施例的基于知识蒸馏与非参数卷积的模型加速装置结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于知识蒸馏与非参数卷积的模型加速方法及装置,首先将参照附图描述根据本发明实施例提出的基于知识蒸馏与非参数卷积的模型加速方法。
图1是本发明实施例的基于知识蒸馏与非参数卷积的模型加速方法流程图。
如图1所示,该基于知识蒸馏与非参数卷积的模型加速方法包括以下步骤:
在步骤S101中,裁剪卷积神经网络的非线性层与聚合冗余的卷积层。
进一步地,在本发明的一个实施例中,裁剪步骤进一步包括:将聚合冗余的卷积层替换成单一的小卷积以模拟原先多个网络的行为,其中,目标函数为:
其中,Bi为第i个卷积神经网络模块,Fi,j为卷积层在Bi的制造特征,Ki,j为卷积核,fi是一个对输入特征Fi,1和输出特征Fi,j的新映射,conv(F,K)是对于特征图F和卷积核K卷积操作。
具体地,对于带有残差模块的神经网络结构,为加速运行时间,在本发明的实施例中首先进行模块裁剪来减少模型的冗余度。在模块内部,一些连续的卷积层(例如残差网络中的连续2个3*3的卷积)可以被看成了一个整体的黑盒,可以通过将其替换成单一的小卷积来模拟原先几个网络的行为。其中,将第i个卷积神经网络模块命名为Bi,内部的卷积层命名为Ci,1,Ci,2,…,Ci,j,其中的卷积核为Ki,1,Ki,2,…,Ki,j这些卷积层在Bi制造特征Fi,1,Fi,2,…,Fi,j,可以看成一个特征不断优化的过程。本发明实施例的目标是寻找一个替换,可以使得F{i,j}=fi(Fi,1),其中fi是一个对输入特征Fi,1和输出特征Fi,j的新的映射,用来在加速后的模块中拟合希望得到的功能。
进一步地,以第i个模块为例,形式化的给出的目标函数为:
其中,conv(F,K)是带有Batch Normalization和ReLU层的,对于特征图F和卷积核K卷积操作。通过优化上述式子,对每个计算模块,仅仅运行一次卷积操作。
在步骤S102中,在对卷积神经网络裁剪后,对原有模型进行蒸馏以得到初始卷积神经网络。
在步骤S103中,将第一网络中剩余的卷积层替换为非参数的卷积层。
进一步地,在本发明的一个实施例中,替换可以进一步包括:将卷积层的数学运算替换成对特征图进行预设方向移动的内存操作,其中,对非参数的卷积层的定义为:
其中,w,h表示特征图的大小,nin,nout表示输出和输入的位置。
具体地,为进一步在模块裁剪的基础上进行模型加速,本发明实施例提出了寻找高效的替代卷积方式来替换剩下的标准卷积,将卷积层中的数学运算替换成对特征图进行特定方向移动的内存操作,因为该操作的是不带参数的,所以会极大的提高卷积层的运算效率,并且可以通过对卷积核进行简单有效的修改来实现这步操作。
以Ki,j为例,可以对非参数卷积核进行如下的定义
为训练本发明实施例提出的非参数卷积层,需要解决一个子优化问题来决定一系列的卷积核。其中因为优化问题包含了离散优化,所以不能被传统梯度下降算法有效的解决。对于给定输入的特征层,共有种排列组合的决策可以进行,穷尽搜索解法的复杂度是NP难的。为避免求解额外的子问题带来计算负载,因此对候选的滤波器均等的赋予特定的移动方向,对于剩下的滤波器,简单的将中心设置为1。在固定每个特定方向移动的通道数目以后,使用的1*1的卷积相当于一次重新排列组合,因此所有的排列组合都是等效的。
在步骤S104中,通过知识蒸馏来维持替换以后的模型精度,以得到最终卷积神经。
进一步地,在本发明的一个实施例中,在知识蒸馏时,学生网络通过优化的损失函数进行训练,优化的损失函数为:
其中,s和t分别为学生网络最后一层的输出,标签向量y,Lhard是使用类标信息进行监督的损失函数,Lsoft是使用老师预测的顶层输出进行监督的损失函数,T是温度参数,μ是两项之间的平衡项。
其中,在模块间的注意力迁移时,总的损失函数的表达式为:
其中,Q函数是特征的绝对值的2范数的和,Ft为学生模型特征,Fs为老师模型特征。
需要说明的是,对于模块裁剪和非参数卷积替换这两个阶段的模型裁剪,可以采用现代的蒸馏技术(知识蒸馏KD和注意力迁移AT)来训练模型,从而避免精度的下降。具体步骤如下:
(1)知识蒸馏
在知识蒸馏中,老师网络的预测输出通常被用来引导学生模型的训练。其中,定义s和t分别为学生网络最后一层的输出,给定标签向量y,学生网络通过优化一下的损失函数来进行训练:
其中,Lhard是使用类标信息进行监督的损失函数,Lsoft是使用老师预测的顶层输出进行监督的损失函数,两者都是由两个概率向量的交叉熵进行定义的,T是温度参数,μ是两项之间的平衡项。
(2)模块间的注意力迁移
本发明的实施例还提出了模块间的注意力迁移方法来进行模型的蒸馏。其中,定义老师模型的模块为Bt,学生模型的模块为Bs,定义学生模型和老师模型的特征分别为Ft和Fs。因为学生和老师模型的注意力特征都是同一个分辨率的,因此迁移的损失函数可以直接被应用到模块之间,并且不需要任何重新调整尺度的操作。总的损失函数可以被形式化的表达为如下:
其中,Q函数是特征绝对值的2范数的和。
因为注意力转移对每个模块的功能函数进行模仿,所以会比全局监督的知识蒸馏方法更加有效。本发明的实施例通过将两个模型蒸馏的损失函数结合到一起,同时应用知识蒸馏和注意力迁移两种方法对简化后的模型进行更加有效的训练。
具体地,本发明的是一个实施例有以下技术关键点:
(1)对于block内部的复杂度进行裁剪,通过裁减掉网络内部的非线性层来合并一些卷积进而起到去冗余的效果;
(2)将卷积层使用非参数的卷积运算进行替换;
(3)在关键点(1)和关键点(2)两步操作之后,采用知识蒸馏的方法去训练深度模型,以防止精度的降低。
本发明实施例提出的于知识蒸馏与非参数卷积的模型加速方法可以减少模型体积和提高部署模型后的运行速度。如图2所示,本发明实施例的方法包含三个主要的组件,模块内裁剪、非参数卷积的替换和两阶段的蒸馏。其中,具体步骤如下:
(1)在第一阶段中,通过裁剪非线性层,通过聚合冗余的卷积层实现模块内的裁剪。
(2)对卷积神经网络进行裁剪然后对原有模型进行蒸馏得到小的网络。
(3)在第二阶段中,替换掉剩余的卷积层为非参数的卷积层。
(4)使用知识蒸馏来维持替换以后的模型精度。
本发明实施例的基于知识蒸馏与非参数卷积的模型加速方法,首先通过聚合冗余的卷积层实现模块内的裁剪,接着对卷积神经网络进行裁剪,然后对原有模型进行蒸馏得到小的网络,替换掉剩余的卷积层得到非参数的卷积层,最后使用知识蒸馏的方法来维持替换以后的模型精度,从而实现减少模型大小和提高运行时速度的目的。
其次参照附图描述根据本发明实施例提出的基于知识蒸馏与非参数卷积的模型加速装置。
图3是本发明一个实施例的基于知识蒸馏与非参数卷积的模型加速装置结构图。
如图3所示,该基于知识蒸馏与非参数卷积的模型加速装置10包括:裁剪模块100、第一蒸馏模块200、替换模块300和第二蒸馏模块400。
其中,裁剪模块100用于裁剪卷积神经网络的非线性层与聚合冗余的卷积层。第一蒸馏模块200用于在对卷积神经网络裁剪后,对原有模型进行蒸馏以得到初始卷积神经网络。替换模块300用于将第一网络中剩余的卷积层替换为非参数的卷积层。第二蒸馏模块400通过知识蒸馏来维持替换以后的模型精度,以得到最终卷积神经。本发明实施例基于知识蒸馏与非参数卷积的模型加速装置10采用知识蒸馏的手段学习得到轻量级的非参数卷积进而减少模型大小和提高运行时速度。
进一步地,在本发明的一个实施例中,裁剪模块100进一步包括:将聚合冗余的卷积层替换成单一的小卷积以模拟原先多个网络的行为,其中,目标函数为:
其中,Bi为第i个卷积神经网络模块,Fi,j为卷积层在Bi的制造特征,Ki,j为卷积核,fi是一个对输入特征Fi,1和输出特征Fi,j的新映射,conv(F,K)是对于特征图F和卷积核K卷积操作。
进一步地,在本发明的一个实施例中,替换模块300进一步包括:将卷积层的数学运算替换成对特征图进行预设方向移动的内存操作,其中,对非参数的卷积层的定义为:
其中,w,h表示特征图的大小,nin,nout表示输出和输入的位置。
进一步地,在本发明的一个实施例中,在知识蒸馏时,学生网络通过优化的损失函数进行训练,优化的损失函数为:
其中,s和t分别为学生网络最后一层的输出,标签向量y,Lhard是使用类标信息进行监督的损失函数,Lsoft是使用老师预测的顶层输出进行监督的损失函数,T是温度参数,μ是两项之间的平衡项。
其中,在模块间的注意力迁移时,总的损失函数的表达式为:
其中,Q函数是特征的绝对值的2范数的和,Ft为学生模型特征,Fs为老师模型特征。
需要说明的是,前述对基于知识蒸馏与非参数卷积的模型加速方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本发明实施例的基于知识蒸馏与非参数卷积的模型加速装置,首先通过聚合冗余的卷积层实现模块内的裁剪,接着对卷积神经网络进行裁剪,然后对原有模型进行蒸馏得到小的网络,替换掉剩余的卷积层得到非参数的卷积层,最后使用知识蒸馏的方法来维持替换以后的模型精度,从而实现减少模型大小和提高运行时速度的目的。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种基于知识蒸馏与非参数卷积的模型加速方法,其特征在于,所述模型加速方法应用于移动设备或者嵌入式便携设备上的图像分类应用或者目标检测应用或者语义分割应用或者语音识别应用中部署的卷积神经网络,包括以下步骤:
裁剪步骤,裁剪卷积神经网络的非线性层与聚合冗余的卷积层;
第一蒸馏步骤,在对所述卷积神经网络裁剪后,对原有模型进行蒸馏以得到初始卷积神经网络;
替换步骤,将初始卷积神经网络中剩余的卷积层替换为非参数的卷积层;以及
第二蒸馏步骤,通过知识蒸馏来维持替换以后的模型精度,以得到最终卷积神经,以根据所述最终卷积神经进行图像分类或者目标检测或者语义分割或者语音识别;
所述裁剪步骤进一步包括:
将所述聚合冗余的卷积层替换成单一的小卷积以模拟原先多个网络的行为,其中,目标函数为:
其中,Fi,j为卷积层在第i个卷积神经网络模块的制造特征,Ki,j为卷积核,fi是一个对输入特征Fi,1和输出特征Fi,j的新映射,conv(F,K)是对于特征图F和卷积核K卷积操作。
2.根据权利要求1所述的基于知识蒸馏与非参数卷积的模型加速方法,其特征在于,所述替换步骤进一步包括:
将所述卷积层的数学运算替换成对特征图进行预设方向移动的内存操作,其中,对所述非参数的卷积层的定义为:
其中,w,h表示特征图的大小,nin,nout表示输出和输入的位置。
3.根据权利要求1所述的基于知识蒸馏与非参数卷积的模型加速方法,其特征在于,在知识蒸馏时,学生网络通过优化的损失函数进行训练,所述优化的损失函数为:
其中,s和t分别为学生网络最后一层的输出,标签向量y,Lhard是使用类标信息进行监督的损失函数,Lsoft是使用老师预测的顶层输出进行监督的损失函数,T是温度参数,μ是两项之间的平衡项。
4.根据权利要求3所述的基于知识蒸馏与非参数卷积的模型加速方法,其特征在于,在模块间的注意力迁移时,总的损失函数的表达式为:
其中,Q函数是特征的绝对值的2范数的和,Ft为学生模型特征,Fs为老师模型特征。
5.一种基于知识蒸馏与非参数卷积的模型加速装置,其特征在于,所述模型加速装置应用于移动设备或者嵌入式便携设备上的图像分类应用或者目标检测应用或者语义分割应用或者语音识别应用中部署的卷积神经网络,包括:
裁剪模块,用于裁剪卷积神经网络的非线性层与聚合冗余的卷积层;
第一蒸馏模块,用于在对所述卷积神经网络裁剪后,对原有模型进行蒸馏以得到初始卷积神经网络;
替换模块,用于将初始卷积神经网络中剩余的卷积层替换为非参数的卷积层;以及
第二蒸馏模块,用于通过知识蒸馏来维持替换以后的模型精度,以得到最终卷积神经;
所述裁剪模块进一步用于将所述聚合冗余的卷积层替换成单一的小卷积以模拟原先多个网络的行为,其中,目标函数为:
其中,Fi,j为卷积层在第i个卷积神经网络模块的制造特征,Ki,j为卷积核,fi是一个对输入特征Fi,1和输出特征Fi,j的新映射,conv(F,K)是对于特征图F和卷积核K卷积操作。
6.根据权利要求5所述的基于知识蒸馏与非参数卷积的模型加速装置,其特征在于,所述替换模块进一步用于将所述卷积层的数学运算替换成对特征图进行预设方向移动的内存操作,其中,对所述非参数的卷积层的定义为:
其中,w,h表示特征图的大小,nin,nout表示输出和输入的位置。
7.根据权利要求5所述的基于知识蒸馏与非参数卷积的模型加速装置,其特征在于,在知识蒸馏时,学生网络通过优化的损失函数进行训练,所述优化的损失函数为:
其中,s和t分别为学生网络最后一层的输出,标签向量y,Lhard是使用类标信息进行监督的损失函数,Lsoft是使用老师预测的顶层输出进行监督的损失函数,T是温度参数,μ是两项之间的平衡项。
8.根据权利要求7所述的基于知识蒸馏与非参数卷积的模型加速装置,其特征在于,在模块间的注意力迁移时,总的损失函数的表达式为:
其中,Q函数是特征的绝对值的2范数的和,Ft为学生模型特征,Fs为老师模型特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108089.8A CN109409500B (zh) | 2018-09-21 | 2018-09-21 | 基于知识蒸馏与非参数卷积的模型加速方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108089.8A CN109409500B (zh) | 2018-09-21 | 2018-09-21 | 基于知识蒸馏与非参数卷积的模型加速方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109409500A CN109409500A (zh) | 2019-03-01 |
CN109409500B true CN109409500B (zh) | 2024-01-12 |
Family
ID=65465216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811108089.8A Active CN109409500B (zh) | 2018-09-21 | 2018-09-21 | 基于知识蒸馏与非参数卷积的模型加速方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109409500B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059717A (zh) * | 2019-03-13 | 2019-07-26 | 山东大学 | 用于乳腺钼靶数据集的卷积神经网络自动分割方法及系统 |
CN110135562B (zh) * | 2019-04-30 | 2020-12-01 | 中国科学院自动化研究所 | 基于特征空间变化的蒸馏学习方法、系统、装置 |
CN110097178A (zh) * | 2019-05-15 | 2019-08-06 | 电科瑞达(成都)科技有限公司 | 一种基于熵注意的神经网络模型压缩与加速方法 |
CN111091177B (zh) * | 2019-11-12 | 2022-03-08 | 腾讯科技(深圳)有限公司 | 一种模型压缩方法、装置、电子设备和存储介质 |
CN110929805B (zh) * | 2019-12-05 | 2023-11-10 | 上海肇观电子科技有限公司 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
CN111260056B (zh) * | 2020-01-17 | 2024-03-12 | 北京爱笔科技有限公司 | 一种网络模型蒸馏方法及装置 |
CN114065940A (zh) * | 2020-07-29 | 2022-02-18 | 四川大学 | 一种基于互动式的知识蒸馏方法 |
CN112084476A (zh) * | 2020-09-02 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 生物识别身份验证方法、客户端、服务器、设备及系统 |
CN113449867B (zh) * | 2021-07-02 | 2022-07-12 | 电子科技大学 | 一种基于知识蒸馏的深度强化学习多智能体协作方法 |
CN113469344B (zh) * | 2021-07-23 | 2024-04-16 | 成都数联云算科技有限公司 | 深度卷积神经网络模型改进方法及系统及装置及介质 |
CN113963022B (zh) * | 2021-10-20 | 2023-08-18 | 哈尔滨工业大学 | 基于知识蒸馏的多出口全卷积网络的目标跟踪方法 |
CN116070697A (zh) * | 2023-01-17 | 2023-05-05 | 北京理工大学 | 一种可替换式的便捷知识蒸馏方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247989A (zh) * | 2017-06-15 | 2017-10-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
CN108334934A (zh) * | 2017-06-07 | 2018-07-27 | 北京深鉴智能科技有限公司 | 基于剪枝和蒸馏的卷积神经网络压缩方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11157814B2 (en) * | 2016-11-15 | 2021-10-26 | Google Llc | Efficient convolutional neural networks and techniques to reduce associated computational costs |
US20180268292A1 (en) * | 2017-03-17 | 2018-09-20 | Nec Laboratories America, Inc. | Learning efficient object detection models with knowledge distillation |
US10402701B2 (en) * | 2017-03-17 | 2019-09-03 | Nec Corporation | Face recognition system for face recognition in unlabeled videos with domain adversarial learning and knowledge distillation |
-
2018
- 2018-09-21 CN CN201811108089.8A patent/CN109409500B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334934A (zh) * | 2017-06-07 | 2018-07-27 | 北京深鉴智能科技有限公司 | 基于剪枝和蒸馏的卷积神经网络压缩方法 |
CN107247989A (zh) * | 2017-06-15 | 2017-10-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
Non-Patent Citations (2)
Title |
---|
FitNets:Hints for Thin Deep Nets;Adriana Romero等;《Machine Learning》;全文 * |
基于增强监督知识蒸馏的交通标识分类;赵胜伟等;《China Sciencepaper》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109409500A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409500B (zh) | 基于知识蒸馏与非参数卷积的模型加速方法及装置 | |
CN111602148B (zh) | 正则化神经网络架构搜索 | |
CN110909803B (zh) | 图像识别模型训练方法、装置和计算机可读存储介质 | |
CN109978142B (zh) | 神经网络模型的压缩方法和装置 | |
US20190370648A1 (en) | Neural architecture search for dense image prediction tasks | |
CN111612134A (zh) | 神经网络结构搜索方法、装置、电子设备及存储介质 | |
CN111709493B (zh) | 对象分类方法、训练方法、装置、设备及存储介质 | |
US11450096B2 (en) | Systems and methods for progressive learning for machine-learned models to optimize training speed | |
EP3767549A1 (en) | Delivery of compressed neural networks | |
US11966993B2 (en) | Land use planning recommendations using heterogeneous temporal datasets | |
CN113705811A (zh) | 模型训练方法、装置、计算机程序产品及设备 | |
CN112200313A (zh) | 一种深度学习模型推理加速的方法、系统、设备及介质 | |
CN114926770A (zh) | 视频动作识别方法、装置、设备和计算机可读存储介质 | |
CN115511069A (zh) | 神经网络的训练方法、数据处理方法、设备及存储介质 | |
CN116363560A (zh) | 一种视频掩码自编码方法及系统 | |
CN110263917B (zh) | 一种神经网络压缩方法及装置 | |
Malialis et al. | Data augmentation on-the-fly and active learning in data stream classification | |
CN113221935A (zh) | 基于环境感知深度卷积神经网络的图像识别方法及系统 | |
CN116257751A (zh) | 基于在线协作与特征融合的蒸馏方法与装置 | |
CN111368995B (zh) | 一种基于序列推荐系统的通用网络压缩框架和压缩方法 | |
CN115526310A (zh) | 一种网络模型的量化方法、装置及设备 | |
KR102305981B1 (ko) | 신경망 압축 훈련 방법 및 압축된 신경망을 이용하는 방법 | |
CN115186825A (zh) | 具有稀疏计算成本的全注意力 | |
CN115019342A (zh) | 一种基于类关系推理的濒危动物目标检测方法 | |
CN113222121A (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 |