CN109858613B - 一种深度神经网络的压缩方法、系统及终端设备 - Google Patents
一种深度神经网络的压缩方法、系统及终端设备 Download PDFInfo
- Publication number
- CN109858613B CN109858613B CN201910059183.7A CN201910059183A CN109858613B CN 109858613 B CN109858613 B CN 109858613B CN 201910059183 A CN201910059183 A CN 201910059183A CN 109858613 B CN109858613 B CN 109858613B
- Authority
- CN
- China
- Prior art keywords
- layer
- filter
- feature map
- characteristic diagram
- pruning
- 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
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种深度神经网络的压缩方法、系统及终端设备,包括:输入测试样本数据,获取深度神经网络第L层的原特征图,并根据第L层的原特征图确定第L层的冗余滤波器;根据冗余滤波器对第L层进行剪枝;获取第L+1层的原特征图和第L层剪枝后的特征图;将第L+1层的原特征图和第L层剪枝后的特征图输入到滤波器学习模型中,通过滤波器学习模型自动学习并输出第L+1层的重构滤波器;将第L层剪枝后的特征图输入第L+1层的重构滤波器获取第L+1层的目标特征图,基于特征图进行剪枝和重构,结合剪枝的影响自动学习并重构滤波器,在实现滤波器的结构化稀疏的同时保证压缩后的深度神经网络模型的分类准确性,提高了计算效率。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种深度神经网络的压缩方法、系统及终端设备。
背景技术
深度神经网络(Convolutional Neural Network,CNN)通过利用大量数据的大规模网络学习,在分类、检测和分割等计算机视觉任务中取得了显著的成功。然而,深度神经网络通常会占用大量计算资源和存储空间,使得其在移动和嵌入式等资源受限型设备上的部署存在困难。为了降低计算和存储成本,许多研究工作从存储和提速角度对深度神经网络模型进行压缩,压缩方法包括剪枝、低秩分解、参数量化、变换/压缩卷积核和设计紧凑的网络结构等。
剪枝作为一种有效的深度神经网络压缩技术,主要分为参数剪枝和特征图通道剪枝。参数剪枝主要作用于全连接层来减少存储,通过减少网络连接,从而缩小网络模型的存储,特征图剪枝主要作用于卷积层进行加速,通过对特征图的冗余通道进行删减。然而参数剪枝方法通常会引入非结构化的稀疏连接,降低深度神经网络的计算效率。特征图剪枝方法通常忽略了特征图的偏置,因而无法准确的判断不重要的滤波器,导致压缩后的深度神经网络模型的分类准确性不高。
综上所述,目前的对深度神经网络进行剪枝压缩处理的方法,存在计算效率低和分类准确性低的问题。
发明内容
有鉴于此,本发明实施例提供了一种深度神经网络的压缩方法、系统及终端设备,以解决目前的对深度神经网络进行剪枝压缩处理的方法,存在计算效率低和分类准确性低的问题。
本发明的第一方面提供了一种深度神经网络的压缩方法,包括:
输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数;
根据所述冗余滤波器对所述第L层进行剪枝;
获取第L+1层的原特征图和所述第L层剪枝后的特征图;
将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器;
将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器获取所述第L+1层的目标特征图。
本发明的第二方面提供了一种深度神经网络压缩系统,包括:
冗余确定模块,用于输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数;
剪枝模块,用于根据所述冗余滤波器对所述第L层进行剪枝;
获取模块,用于获取第L+1层的原特征图和所述第L层剪枝后的特征图;
重构模块,用于将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器;
生成模块,用于将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器以生成所述第L+1层的目标特征图。
本发明的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数;
根据所述冗余滤波器对所述第L层进行剪枝;
获取第L+1层的原特征图和所述第L层剪枝后的特征图;
将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器;
将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器获取所述第L+1层的目标特征图。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数;
根据所述冗余滤波器对所述第L层进行剪枝;
获取第L+1层的原特征图和所述第L层剪枝后的特征图;
将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器;
将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器获取所述第L+1层的目标特征图。
本发明提供的一种深度神经网络的压缩方法、系统及终端设备,基于深度神经网络的特征图进行剪枝和重构,通过基于范数的特征图重构方法实现滤波器的结构化稀疏,结合剪枝的影响自动学习并重构滤波器,在实现滤波器的结构化稀疏的同时,可以保证压缩后的深度神经网络模型的分类准确性,提高了计算效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种深度神经网络的压缩方法的实现流程示意图;
图2示出了本实施例一提供的深度神经网络压缩方法中的剪枝和重构步骤的示意图;
图3是本发明实施例二提供的对应实施例一步骤S101的实现流程示意图;
图4是本发明实施例三提供的对应实施例一步骤S102的实现流程示意图;
图5是本发明实施例四提供的一种深度神经网络压缩系统的结构示意图;
图6是本发明实施例五提供的对应实施例四中的冗余确定模块101结构示意图;
图7是本发明实施例六提供的对应实施例四中的剪枝模块102结构示意图;
图8是本发明实施例七提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
如图1所示,本实施例提供了一种深度神经网络的压缩方法,主要应用于音视频处理设备、人脸识别设备等用于对音频、视频、图像进行分类、检测以及分割处理的计算机设备中,上述设备可以是一般的终端设备,也可以是移动终端设备,还可以是嵌入式终端设备,还可以是非嵌入式终端设备,在此不加以限制。上述深度神经网络的压缩方法具体包括:
步骤S101:输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数。
需要说明的是,测试样本数据是为了测试压缩后的深度神经网络和压缩前的深度神经网络的分类准确度而设置的,通过大量的测试样本数据在进行深度神经网络的压缩过程中作为输入参数以使压缩后得到稳定的深度神经网络模型。
还需要说明的是,对于上述深度神经网络,主要为卷积神经网络,令第L层的卷积核的维度为[k,k,cL,nL],其中,nL表示滤波器的个数,cL表示通道的个数,k表示卷积核的高度和宽度,在本实施例中,设定所有层使用的滤波器的高度和宽度相同,即大小为k*k。则第L层对应的特征图输出维度为[hL,wL,cL]。其中,hL表示特征图的高度,wL表示特征图的宽度。
在具体应用中,将测试样本数据输入到深度神经网络中,对第L层的特征图进行重构,以此获取第L层的冗余滤波器,具体的,将测试样本数据输入到待压缩的深度神经网络中,通过深度神经网络的第L层后就能获取到第L层的原特征图,再根据所述第L层的原特征图进行重构就能确定第L层的冗余滤波器。示例性的,上述测试样本数据为5000张测试样本图像,即将5000张测试样本图像输入到深度神经网络中,经过第L层的n个滤波器后,就会得到第L层的原特征图输出,包括5000个立方体,每一个立方体的大小为h*w*c。
在具体应用中,通过具有对当前层的特征图进行鲁棒重构功能以及在鲁棒重构下判断当前层滤波器的冗余状态功能的重构模型对第L层的原特征图进行重构。
步骤S102:根据所述冗余滤波器对所述第L层进行剪枝。
需要说明的是:上述根据冗余滤波器对第L层进行剪枝是指将上述冗余滤波器从上述第L层的滤波器中去除,并同时去除该冗余滤波器对应的通道的特征图。
步骤S103:获取第L+1层的原特征图和所述第L层剪枝后的特征图。
在具体应用中,将第L层的输出作为第L+1层的输入参数输入到第L+1层中,得到第L+1层的原特征图,将上述第L层的原特征图去除第L层冗余滤波器对应通道的特征图后得到的特征图作为第L层剪枝后的特征图。
步骤S104:将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器。
图2示出了本实施例提供的深度神经网络的剪枝和重构步骤的示意图,在具体应用中,由于对第L层进行剪枝会导致第L+1层的滤波器和通道相对减少,造成第L+1层输出的特征图存在较大的误差,若仅仅是去除第L层的冗余,则会导致压缩后的深度神经网络的性能损失无法得到保障,导致压缩后的深度神经网络的分类准确性降低。因此,为了保证去除的冗余滤波器和特征图的冗余通道不影响第L+1层的特征图,如图2所示,将第L层剪枝后的特征图和第L+1层的原特征图作为滤波器学习模型的输入参数输入到滤波器学习模型中,以获取第L+1层的重构滤波器。由于上述滤波器学习模型是根据第L层剪枝后的特征图和第L+1层的原特征图进行重构而构建的自动学习模型,能够自动输出重构滤波器,通过第L+1层的重构滤波器生成第L+1层的目标特征图能够有效地消除去除第L层的滤波器和去除第L层特征图的相应通道而造成的影响。
在具体应用中,上述滤波器学习模型的目标函数为:
其中,YL+1为第L+1层的原特征图,X′为第L层去除冗余滤波器后的特征图,W′为第L+1层的重构滤波器。
步骤S105:将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器获取所述第L+1层的目标特征图。
在具体应用中,将上述第L层剪枝后的特征图作为输入参数,输入到第L+1层的重构滤波器中,就能够获取到该第L+1层的目标特征图。
在本实施例中,从上述深度神经网络的第一层开始,不断重复上述步骤S101至S105,直至深度神经网络的最后一层,去除整个深度神经网络的所有冗余滤波器和冗余通道,完成上述深度神经网络的压缩过程。
需要说明的是,上述深度神经网络压缩前第L层的原始计算量为k*k*cL*nL*hL*wL,第L+1层的原始计算量为k*k*nL*nL+1*hL+*wL+1。若第L层去除的冗余滤波器的个数为2个,则原始计算量会相应减少2*k*k*cL*hL*wL,第L+1层的计算量会减少2*k*k*nL*hL+*wL+1。
本实施例提供的深度神经网络的压缩方法,通过基于深度神经网络的特征图进行剪枝和重构,通过基于范数的特征图重构方法实现滤波器的结构化稀疏,结合剪枝的影响自动学习并重构滤波器,在实现滤波器的结构化稀疏的同时,可以保证压缩后的深度神经网络模型的分类准确性,提高了计算效率。
实施例二:
如图3所示,在本实施例中,实施例一中的步骤S101具体包括:
步骤S201:将测试样本数据输入深度神经网络中,通过所述第L层的滤波器进行处理。
步骤S202:获取各个滤波器的输出结果。
步骤S203:将所述各个滤波器的输出结果进行叠加及转置后得到所述第L层的原特征图。
在具体应用中,在具体应用中,将测试样本数据输入深度神经网络中,通过第L层的滤波器进行数据处理后,相应输出各个滤波器的输出结果,将输出结果进行叠加和转置后就能够获取到第L层的原特征图。示例性的,测试样本数据为5000张测试样本图像,即将5000张测试样本图像输入到深度神经网络中,经过第L层的n个滤波器后,就会得到第L层的原特征图输出,包括5000个立方体,每一个立方体的大小为h*w*c。将5000个立方体竖直叠加,就能够得到第L层的特征图,为了简化计算,从每个特征图立方体中随机选取10个对象(response)来表示5000*h*w的数据信息,并进行转置后得到第L层的原特征图。
步骤S204:根据所述第L层的原特征图对所述第L层的特征图进行重构,确定所述第L层的冗余滤波器。
在具体应用中,通过重构目标函数对所述第L层的特征图进行重构,所述重构目标函数具体为:
其中,YL表示第L层的原特征图,l为测试样本数据的列向量,μL为所述深度神经网络模型的偏置向量,AL为所述第L层的列一致性参数,λ为正则参数。
在具体应用中,上述重构目标函数是鲁棒重构模型的目标函数,上述深度神经网络模型的偏置向量μL是自动学习而得到的,能够根据当前层的冗余状态进行适应性调整,以此来消除积累特征图的均值误差。上述鲁棒重构模型通过L2,1范数对第L层的列一致性进行约束,AL的大小为cL*cL,,AL呈现的列一致性表示第L层中滤波器的冗余状态,通过列一致性筛选出冗余度高于阈值的滤波器,将上述滤波器识别为冗余滤波器。
需要说明的是,λ的参数赋值需要综合深度神经网络的分类准确性和计算性能进行考虑,当λ较大时,AL中的列一致性稀疏比较明显,即删减的通道数较多,此时若删除了必要通道时,会导致深度神经网络的分类准确性明显下降,当λ较小时,AL中的列一致性稀疏不明显,即删减的通道数较少,导致计算量较大。还需要说明的是,上述λ的参数赋值通过根据测试样本数据进行参数调节后得到合理的参数作为上述鲁棒重构模型的正则参数,调节过程在此不加以赘述。
实施例三:
如图4所示,在本实施例中,实施例一中的步骤S102具体包括:
步骤S301:根据所述冗余滤波器查找所述冗余滤波器的相应通道。
在具体应用中,由于冗余滤波器的在特征图中的相应通道是与冗余滤波器相对应的,因此通过冗余滤波器就能查找到相应的冗余通道。
步骤S302:将所述冗余滤波器从所述第L层的滤波器中裁剪掉。
步骤S303:将所述冗余滤波器的相应通道从所述第L层的原特征图中裁剪掉,得到第L层剪枝后的特征图。
在具体应用中,将冗余滤波器从第L层的滤波器中进行裁剪,并将冗余滤波器对应的通道从第L层的原特征图中裁剪掉,完成剪枝过程,得到的是剪枝后的第L层的滤波器和剪枝后的第L层的特征图。
实施例四:
如图5所示,本实施例提供一种深度神经网络压缩系统100,用于执行实施例一中的方法步骤,其包括冗余确定模块101、剪枝模块102、获取模块103、重构模块104以及生成模块105。
冗余确定模块101用于输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数。
剪枝模块102用于根据所述冗余滤波器对所述第L层进行剪枝。
获取模块103用于获取第L+1层的原特征图和所述第L层剪枝后的特征图。
重构模块104用于将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器。
生成模块105用于将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器以生成所述第L+1层的目标特征图。
需要说明的是,上述各个模块可以是音视频处理设备、人脸识别设备等用于对音频、视频、图像进行分类、检测以及分割处理的计算机设备中的功能模块,上述设备可以是一般的终端设备,也可以是移动终端设备,还可以是嵌入式终端设备,还可以是非嵌入式终端设备,在此不加以限制。
需要说明的是,本发明实施例提供的深度神经网络压缩系统,由于与本发明图1所示方法实施例基于同一构思,其带来的技术效果与本发明图1所示方法实施例相同,具体内容可参见本发明图1所示方法实施例中的叙述,此处不再赘述。
因此,本实施例提供的一种深度神经网络压缩系统,同样能够通过基于深度神经网络的特征图进行剪枝和重构,通过基于范数的特征图重构方法实现滤波器的结构化稀疏,结合剪枝的影响自动学习并重构滤波器,在实现滤波器的结构化稀疏的同时,可以保证压缩后的深度神经网络模型的分类准确性,提高了计算效率。
实施例五:
如图6所示,在本实施例中,实施例四中的冗余确定模块101包括用于执行图3所对应的实施例中的方法步骤的结构,其包括输入单元201、输出单元202、叠加单元203以及确定单元204。
输入单元201用于将测试样本数据输入深度神经网络中,通过所述第L层的滤波器进行处理。
输出单元202用于获取各个滤波器的输出结果。
叠加单元203用于将所述各个滤波器的输出结果进行叠加及转置后得到所述第L层的原特征图。
确定单元204用于根据所述第L层的原特征图对所述第L层的特征图进行重构,确定所述第L层的冗余滤波器。
实施例六:
如图7所示,在本实施例中,实施例四中的剪枝模块102包括用于执行图4所对应的实施例中的方法步骤的结构,其包括通道查找单元301、滤波器裁剪单元302以及通道裁剪单元303。
通道查找单元301用于根据所述冗余滤波器查找所述冗余滤波器的相应通道。
滤波器裁剪单元302用于将所述冗余滤波器从所述第L层的滤波器中裁剪掉。
通道裁剪单元303用于将所述冗余滤波器的相应通道从所述第L层的原特征图中裁剪掉,得到第L层剪枝后的特征图。
实施例七:
图8是本发明实施例七提供的终端设备的示意图。如图8所示,该实施例的终端设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如程序。所述处理器80执行所述计算机程序82时实现上述各个方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器80执行所述计算机程序82时实现上述系统实施例中各模块/单元的功能,例如图5所示模块101至105的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述终端设备8中的执行过程。例如,所述计算机程序82可以被分割成冗余确定模块、剪枝模块、获取模块、重构模块以及生成模块,各模块具体功能如下:
冗余确定模块,用于输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数;
剪枝模块,用于根据所述冗余滤波器对所述第L层进行剪枝;
获取模块,用于获取第L+1层的原特征图和所述第L层剪枝后的特征图;
重构模块,用于将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器;
生成模块,用于将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器以生成所述第L+1层的目标特征图。
所述终端设备8可以是桌上型计算机、笔记本、掌上电脑及云端管理服务器等计算设备。所述终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的示例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述无线终端中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,系统或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述设置为分离部件说明的单元可以是或者也可以不是物理上分开的,设置为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并设置为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或系统、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种深度神经网络的压缩方法,其特征在于,包括:
输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数;
根据所述冗余滤波器对所述第L层进行剪枝;
获取第L+1层的原特征图和所述第L层剪枝后的特征图;
将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器;
将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器获取所述第L+1层的目标特征图;
其中,所述输入测试样本数据,获取所述深度神经网络的第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器,包括:
将测试样本数据输入深度神经网络中,通过所述第L层的滤波器进行处理;
获取各个滤波器的输出结果;
将所述各个滤波器的输出结果进行叠加及转置后得到所述第L层的原特征图;
根据所述第L层的原特征图对所述第L层的特征图进行重构,确定所述第L层的冗余滤波器。
3.根据权利要求1所述的方法,其特征在于,所述根据所述冗余滤波器对所述第L层进行剪枝,包括:
根据所述冗余滤波器查找所述冗余滤波器的相应通道;
将所述冗余滤波器从所述第L层的滤波器中裁剪掉;
将所述冗余滤波器的相应通道从所述第L层的原特征图中裁剪掉,得到第L层剪枝后的特征图。
5.一种深度神经网络压缩系统,其特征在于,包括:
冗余确定模块,用于输入测试样本数据,获取所述深度神经网络第L层的原特征图,并根据所述第L层的原特征图确定所述第L层的冗余滤波器;其中,L为不小于1的正整数;
剪枝模块,用于根据所述冗余滤波器对所述第L层进行剪枝;
获取模块,用于获取第L+1层的原特征图和所述第L层剪枝后的特征图;
重构模块,用于将所述第L+1层的原特征图和所述第L层剪枝后的特征图输入到滤波器学习模型中,通过所述滤波器学习模型自动学习并输出所述第L+1层的重构滤波器;
生成模块,用于将所述第L层剪枝后的特征图输入所述第L+1层的重构滤波器以生成所述第L+1层的目标特征图;
其中,所述冗余确定模块包括:
输入单元,用于将测试样本数据输入深度神经网络中,通过所述第L层的滤波器进行处理;
输出单元,用于获取各个滤波器的输出结果;
叠加单元,用于将所述各个滤波器的输出结果进行叠加及转置后得到所述第L层的原特征图;
确定单元,用于根据所述第L层的原特征图对所述第L层的特征图进行重构,确定所述第L层的冗余滤波器。
6.根据权利要求5所述的深度神经网络压缩系统,其特征在于,所述剪枝模块包括:
通道查找单元,用于根据所述冗余滤波器查找所述冗余滤波器的相应通道;
滤波器裁剪单元,用于将所述冗余滤波器从所述第L层的滤波器中裁剪掉;
通道裁剪单元,用于将所述冗余滤波器的相应通道从所述第L层的原特征图中裁剪掉,得到第L层剪枝后的特征图。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910059183.7A CN109858613B (zh) | 2019-01-22 | 2019-01-22 | 一种深度神经网络的压缩方法、系统及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910059183.7A CN109858613B (zh) | 2019-01-22 | 2019-01-22 | 一种深度神经网络的压缩方法、系统及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858613A CN109858613A (zh) | 2019-06-07 |
CN109858613B true CN109858613B (zh) | 2021-02-19 |
Family
ID=66895633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910059183.7A Active CN109858613B (zh) | 2019-01-22 | 2019-01-22 | 一种深度神经网络的压缩方法、系统及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858613B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110969240B (zh) * | 2019-11-14 | 2022-12-09 | 北京达佳互联信息技术有限公司 | 一种深度卷积神经网络的剪枝方法、装置、设备及介质 |
CN110929805B (zh) * | 2019-12-05 | 2023-11-10 | 上海肇观电子科技有限公司 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
CN111488986B (zh) * | 2020-04-13 | 2023-06-27 | 商汤集团有限公司 | 一种模型压缩方法、图像处理方法以及装置 |
CN113657592B (zh) * | 2021-07-29 | 2024-03-05 | 中国科学院软件研究所 | 一种软件定义卫星自适应剪枝模型压缩方法 |
CN114154626B (zh) * | 2021-12-14 | 2022-08-16 | 中国人民解放军国防科技大学 | 一种用于图像分类任务的滤波器剪枝方法 |
CN114114564B (zh) * | 2022-01-26 | 2022-04-01 | 鹏城实验室 | 一种基于视觉探测的空间光-光纤耦合装置和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875373A (zh) * | 2016-12-14 | 2017-06-20 | 浙江大学 | 基于卷积神经网络剪枝算法的手机屏幕mura缺陷检测方法 |
CN107463965A (zh) * | 2017-08-16 | 2017-12-12 | 湖州易有科技有限公司 | 基于深度学习的面料属性图片采集和识别方法及识别系统 |
CN108304928A (zh) * | 2018-01-26 | 2018-07-20 | 西安理工大学 | 基于改进聚类的深度神经网络的压缩方法 |
CN108629736A (zh) * | 2017-03-15 | 2018-10-09 | 三星电子株式会社 | 用于设计超分辨率深度卷积神经网络的系统和方法 |
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063835B (zh) * | 2018-07-11 | 2021-07-09 | 中国科学技术大学 | 神经网络的压缩装置及方法 |
CN109063834B (zh) * | 2018-07-12 | 2021-07-20 | 浙江工业大学 | 一种基于卷积特征响应图的神经网络剪枝方法 |
-
2019
- 2019-01-22 CN CN201910059183.7A patent/CN109858613B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875373A (zh) * | 2016-12-14 | 2017-06-20 | 浙江大学 | 基于卷积神经网络剪枝算法的手机屏幕mura缺陷检测方法 |
CN108629736A (zh) * | 2017-03-15 | 2018-10-09 | 三星电子株式会社 | 用于设计超分辨率深度卷积神经网络的系统和方法 |
CN107463965A (zh) * | 2017-08-16 | 2017-12-12 | 湖州易有科技有限公司 | 基于深度学习的面料属性图片采集和识别方法及识别系统 |
CN108304928A (zh) * | 2018-01-26 | 2018-07-20 | 西安理工大学 | 基于改进聚类的深度神经网络的压缩方法 |
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
Non-Patent Citations (4)
Title |
---|
A novel channel pruning method for deep neural network compression;Yiming Hu 等;《arXiv:1805.11394v1 [cs.CV]》;20180529;第1-10页 * |
ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression;Jian-Hao Luo;《arXiv:1707.06342v1 [cs.CV]》;20170720;第1-10页 * |
基于子像素全卷积的自编码网络结构优化;杨火祥 等;《深圳信息职业技术学院学报》;20180630;第78-84页 * |
深度神经网络压缩与加速综述;纪荣嵘 等;《计算机研究与发展》;20181231;第1871-1888页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109858613A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858613B (zh) | 一种深度神经网络的压缩方法、系统及终端设备 | |
CN109522874B (zh) | 人体动作识别方法、装置、终端设备及存储介质 | |
CN111382867B (zh) | 神经网络压缩的方法、数据处理的方法及相关装置 | |
CN109840589A (zh) | 一种在fpga上运行卷积神经网络的方法、装置及系统 | |
CN111553215A (zh) | 人员关联方法及其装置、图卷积网络训练方法及其装置 | |
CN113673697A (zh) | 基于相邻卷积的模型剪枝方法、装置及存储介质 | |
CN110782406B (zh) | 一种基于信息蒸馏网络的图像去噪方法及装置 | |
CN112488297B (zh) | 一种神经网络剪枝方法、模型生成方法及装置 | |
CN112132279A (zh) | 卷积神经网络模型压缩方法、装置、设备及存储介质 | |
CN115512258A (zh) | 一种视频图像的脱敏方法、装置、终端设备和存储介质 | |
CN114429208A (zh) | 基于残差结构剪枝的模型压缩方法、装置、设备及介质 | |
CN111488810A (zh) | 人脸识别方法、装置、终端设备及计算机可读介质 | |
CN111967478B (zh) | 一种基于权重翻转的特征图重构方法、系统、存储介质及终端 | |
CN114494006A (zh) | 图像重建模型的训练方法、装置、电子设备及存储介质 | |
CN116009889A (zh) | 深度学习模型的部署方法、装置、电子设备及存储介质 | |
CN113627416B (zh) | 图片分类和对象检测的同步处理方法、系统、存储介质及终端 | |
CN113139617B (zh) | 一种输电线路自主定位方法、装置及终端设备 | |
CN115909009A (zh) | 图像识别方法、装置、存储介质及电子设备 | |
CN114881913A (zh) | 图像瑕疵检测方法、装置、电子设备及存储介质 | |
CN113408718B (zh) | 设备处理器选择方法、系统、终端设备及存储介质 | |
CN113111891B (zh) | 一种图像重建方法、装置、终端设备和存储介质 | |
CN117440104B (zh) | 一种基于目标显著性特征的数据压缩重建方法 | |
CN117113010B (zh) | 基于卷积网络轻量化的输电通道安全监测方法及系统 | |
CN112580772B (zh) | 卷积神经网络的压缩方法及装置 | |
CN116109627B (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 |