CN115860099A - 神经网络模型的压缩方法、装置、计算机设备和存储介质 - Google Patents
神经网络模型的压缩方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115860099A CN115860099A CN202211692924.3A CN202211692924A CN115860099A CN 115860099 A CN115860099 A CN 115860099A CN 202211692924 A CN202211692924 A CN 202211692924A CN 115860099 A CN115860099 A CN 115860099A
- Authority
- CN
- China
- Prior art keywords
- pruning
- model
- pruning model
- neural network
- initial
- 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.)
- Pending
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000006835 compression Effects 0.000 title claims abstract description 42
- 238000007906 compression Methods 0.000 title claims abstract description 42
- 238000013138 pruning Methods 0.000 claims abstract description 442
- 238000012545 processing Methods 0.000 claims abstract description 118
- 238000012360 testing method Methods 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 230000035772 mutation Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 12
- 230000003190 augmentative effect Effects 0.000 claims description 7
- 238000009396 hybridization Methods 0.000 claims description 7
- 238000007499 fusion processing Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000009402 cross-breeding Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Feedback Control In General (AREA)
Abstract
本申请涉及一种神经网络模型的压缩方法、装置、计算机设备和存储介质。所述方法包括:根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从所述初始剪枝模型集合中确定出候选剪枝模型集合;所述初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的;对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合;根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型。采用本方法能够从多种剪枝算法对应的剪枝模型中选择出神经网络模型对应的最优的剪枝模型。
Description
技术领域
本申请涉及神经网络技术领域,特别是涉及一种神经网络模型的压缩方法、装置、计算机设备和存储介质。
背景技术
模型剪枝作为神经网络模型压缩和优化的一项技术,在神经网络模型的轻量化部署中发挥着重要作用。
传统技术中,已经出现了多种剪枝算法,不同的剪枝算法对于不同神经网络模型的剪枝处理效果各不相同,通常,可以从多种剪枝算法中任意选择一种剪枝算法对神经网络模型进行剪枝处理,但是,传统技术中往往存在选择的剪枝算法不适合待处理的神经网络模型的情况。
发明内容
本申请实施例提供了一种神经网络模型的压缩方法、装置、计算机设备和存储介质,可以从多种剪枝算法对应的剪枝模型中选择出神经网络模型对应的最优的剪枝模型。
第一方面,本申请实施例提供了一种神经网络模型的压缩方法,包括:
根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从所述初始剪枝模型集合中确定出候选剪枝模型集合;所述初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的;
对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合;
根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型。
第二方面,本申请实施例提供了一种神经网络模型的压缩装置,包括:
第一确定模块,用于根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从所述初始剪枝模型集合中确定出候选剪枝模型集合;所述初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的;
第一处理模块,用于对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合;
第二确定模块,用于根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型。
第三方面,本申请实施例提供了一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面所述的神经网络模型的压缩方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法的步骤。
上述神经网络模型的压缩方法、装置、计算机设备和存储介质,通过不同的剪枝算法对预设的神经网络模型进行压缩处理能够得到该神经网络模型对应的初始剪枝模型集合,从而可以根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合,进而通过对候选剪枝模型集合进行扩充处理,能够使得到的扩充后的剪枝模型集合中剪枝模型的类型更加地丰富,使扩充后的剪枝模型集合中有更多不同类型的剪枝模型,进一步地能够根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出神经网络模型对应的最优的目标剪枝模型,使得确定的目标剪枝模型为适合神经网络模型的最优的剪枝模型。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中神经网络模型的压缩方法方法的流程图;
图2为一个实施例中神经网络模型的卷积层示例图;
图3为一个实施例中变异处理的示意图;
图4为一个实施例中杂交处理的示意图;
图5为另一个实施例中神经网络模型的压缩方法方法的流程图;
图6为另一个实施例中神经网络模型的压缩方法方法的流程图;
图7为一个实施例中神经网络模型的压缩装置的结构框图;
图8为另一个实施例中神经网络模型的压缩装置的结构框图;
图9为另一个实施例中神经网络模型的压缩装置的结构框图;
图10为另一个实施例中神经网络模型的压缩装置的结构框图;
图11为另一个实施例中神经网络模型的压缩装置的结构框图;
图12为另一个实施例中神经网络模型的压缩装置的结构框图;
图13为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种神经网络模型的压缩方法,本实施例以该方法应用于计算机设备进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
S201,根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合;初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的。
其中,初始剪枝模型集合中的各个初始剪枝模型可以为对预设的神经网络模型进行压缩处理后得到的,例如,可以采用多种不同的剪枝算法分别对预设的神经网络模型进行剪枝处理,将得到的多个初始剪枝模型组成的集合确定为初始剪枝模型集合。可选的,本实施例中预设的神经网络模型可以为分类模型,也可以为分割模型,或者,也可以为识别模型等等,本实施例在此不对预设的神经网络模型加以限制。
需要说明的是,神经网络模型的剪枝是基于已经训练好的神经网络模型存在一定冗余的前提,按照神经网络模型压缩任务的压缩比要求,根据一定的分配算法为神经网络模型中需要剪枝的所有权重层(如卷积层Conv、全连接层Dense等)分配压缩比,再根据一定的度量标准(metrics)衡量每个权重层中不同维度的权重的重要性,删除重要性较低的权重,保留重要性较高的权重,从而使原神经网络模型成为一个参数量更少的新神经网络模型,之后对新神经网络模型的权重进行重新训练微调,使其性能表现逼近甚至优于原神经网络模型。示例性地,现有的神经网络模型的剪枝算法有基于网络权重层的不同范数(L1-norm,L2-norm等)选取重要通道的剪枝算法、基于几何中心数(FPGM)选取重要通道的剪枝算法、基于BN层的训练参数选取对应权重层的通道的剪枝算法、基于权重层输出特征张量中的均值或统计零值等选取通道的剪枝算法、根据权重层反向传导梯度的泰勒展开估算值选取重要的通道的剪枝算法等,本实施例中对使用的剪枝算法的类型不加以限制。示例性地,通过某剪枝算法对预设的神经网络模型进行剪枝,得到的剪枝模型的各权重层可以表示为:p={'conv_01':[0,1,1,0,…],'conv_02':[0,0,0,1,…],…'dense_01:[0,0,0,1],…},其中,key值为神经网络模型中需要做剪枝的层的名字,value值是长度为该层权重张量的输出通道数的向量(例如Conv2D卷积核维度为[h,w,cin,cout]),向量中的每个值的取值为[0,1],0表示对应卷积层的卷积核的当前维度被剪除,1则表示保留,另外,如图2所示,图2中给出了剪枝模型的两个卷积层的示例,图中空心表示0,即被剪枝通道;实心表示1,即被保留通道。
可选的,在本实施例中,可以根据初始剪枝模型集合中各个初始剪枝模型的处理性能,将初始剪枝模型集合中处理性能靠前的初始剪枝模型确定为候选剪枝模型集合,例如,可以将初始剪枝模型集合中处理性能靠前的前7个初始剪枝模型确定为候选剪枝模型集合。可选的,本实施例中,初始剪枝模型的处理性能可以通过稀疏度(sparsity)和算力限制进行衡量,即可以根据各初始模型的稀疏度和算力限制,从初始剪枝模型集合中确定出候选剪枝模型集合。
S202,对候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合。
可选的,在本实施例中,扩充处理可以是对候选剪枝模型集合中的候选剪枝模型的权重层(如卷积层Conv、全连接层Dense)进行删除、替换、修改等处理。在本实施例中,可以对候选剪枝模型集合中的所有候选剪枝模型进行扩充处理,也可以是从候选剪枝模型集合中选择部分候选剪枝模型进行扩充处理,得到扩充后的剪枝模型集合。可选的,作为一种可选的实施方式,在对候选剪枝模型集合进行扩充处理后,还可以利用剪枝算法对新产生的剪枝模型进行剪枝处理,将新的剪枝模型和扩充处理后的剪枝模型共同作为扩充后的剪枝模型集合中的剪枝模型。
S203,根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定目标剪枝模型。
可选的,在本实施例中,可以通过预设的训练集和测试集对扩充后的剪枝模型集合中的各剪枝模型进行测试,得到各剪枝模型的处理性能,进而根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出目标剪枝模型。可选的,在本实施例中,可以根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从中选择处理性能靠前的几个剪枝模型,再将处理性能靠前的剪枝模型中的任一剪枝模型确定为目标剪枝模型,例如,可以将扩充后的剪枝模型集合中处理性能靠前的前三个剪枝模型中的任意一剪枝模型确定为目标剪枝模型。
上述神经网络模型的压缩方法中,通过不同的剪枝算法对预设的神经网络模型进行压缩处理能够得到该神经网络模型对应的初始剪枝模型集合,从而可以根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合,进而通过对候选剪枝模型集合进行扩充处理,能够使得到的扩充后的剪枝模型集合中剪枝模型的类型更加地丰富,使扩充后的剪枝模型集合中有更多不同类型的剪枝模型,进一步地能够根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出神经网络模型对应的最优的目标剪枝模型,使得确定的目标剪枝模型为适合神经网络模型的最优的剪枝模型。
在上述对候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合的场景中,在一个实施例中,上述S202,包括:对候选剪枝模型集合中的候选剪枝模型进行变异处理和/或杂交处理,得到扩充后的剪枝模型集合。
其中,如图3所示,变异处理是指对候选剪枝模型集合中的某个候选剪枝模型的微调,变异处理的本质是对候选剪枝模型的剪枝通道随机产生改变的过程,针对每个通道的属性,以预设的单个权重层的变异概率随机决定是否产生变异,对候选剪枝模型的剪枝通道进行随机变异。可选的,在本实施例中,当对候选剪枝模型进行变异处理时,可以是根据预设的变异数,对候选剪枝模型集合中的候选剪枝模型的权重层进行变异处理,得到扩充后的剪枝模块集合,例如,预设的变异数可以为K/3,其中,K为候选剪枝模型集合中候选剪枝模型的数量,则可以从候选剪枝模型集合中选取K/3个候选剪枝模型,并对这K/3个候选剪枝模型的权重层进行变异处理,得到扩充后的剪枝模型集合。
如图4所示,杂交处理是指通过对候选剪枝模型集合中某两个候选剪枝模型相结合,以产生可能存在的性能更优的新的模型,杂交处理本质上是将候选剪枝模型集合中任意两个候选剪枝模型的剪枝通道随机融合的过程,针对每个通道的属性随机选取两者之一,作为新模型中该通道的属性。可选的,在本实施例中,当对候选剪枝模型进行杂交处理时,可以根据预设的杂交数,对候选剪枝模型集合中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合,示例性地,假设预设的杂交数仍为K/3,则可以从候选剪枝模型集合中选择K/3*2个候选剪枝模型,并对这K/3*2个候选剪枝模型中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合。
本实施例中,通过对候选剪枝模型集合中的候选剪枝模型进行变异处理和/或杂交处理,使得得到的扩充后的剪枝模型集合中剪枝模型的类型更加的丰富,丰富了得到扩充后的剪枝模型集合中剪枝模型的类型,从而可以根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出预设神经网络模型对应的最优的目标剪枝模型,确保了得到的神经网络模型对应的目标剪枝模型的性能。
在上述根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定目标剪枝模型的场景中,可以直接将扩充后的剪枝模型集合中处理性能最优的剪枝模型作为目标剪枝模块,也可以从扩充后的剪枝模型集合中确定出多个剪枝模型,从这多个剪枝模型中确定出目标剪枝模型。下边将分别对这两种确定目标剪枝模型的方法加以详细说明。
第一种:上述S203,包括:将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型。
在本实施例中,可以按照处理性能由高到低的顺序,对扩充后的剪枝模型集合中各剪枝模型的处理性能进行排序,进而将排序后的处理性能最优的剪枝模型,确定为神经网络模型对应的目标剪枝模型。
本实施例中,通过将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型的过程较为简单,能够快速地从扩充后的剪枝模型集合中确定出目标剪枝模型,提高了确定目标剪枝模型的效率。
第二种:如图5所示,上述S203,包括:S301,根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出多个第一剪枝模型。
在本实施例中,可以根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从处理性能靠前的剪枝模型中确定出多个第一剪枝模型。例如,可以将扩充后的剪枝模型集合中处理性能靠前的前三个剪枝模型确定为第一剪枝模型。
S302,对各第一剪枝模型进行训练,得到对应的第二剪枝模型。
可选的,在本实施例中,可以利用预设的训练样本对各第一剪枝模型进行训练,对各第一剪枝模型中的参数进行优化,得到各第一剪枝模型对应的第二剪枝模型。示例性地,以预设的神经网络模型为分割模型为例,在本实施例中,可以利用大量的样本图像和样本图像对应的金标准分割图像,对各第一剪枝模型进行训练,调整各第一剪枝模型的参数,得到对应的第二剪枝模型。
S303,根据各第二剪枝模型的处理性能,从各第二剪枝模型中确定出目标剪枝模型。
可选的,在本实施例中,可以继续利用上述训练集和测试集得到各第二剪枝模型的处理性能,进而根据各第二剪枝模型的处理性能,从各第二剪枝模型中确定出目标剪枝模型,作为一种可选的实施方式,可以将各第二剪枝模型中处理性能最高的第二剪枝模型,确定为目标剪枝模型,或者,作为另一种可选的实施方式,可以根据各第二剪枝模型的处理性能,将处理性能为前三的第二剪枝模型中的任意一第二剪枝模型确定为目标剪枝模型。
本实施例中,根据扩充后的剪枝模型集合中的各剪枝模型的处理性能,能够从扩充后的剪枝模型集合中确定出多个第一剪枝模型,从而可以通过对各第一剪枝模型进行训练,得到对应的第二剪枝模型,由于第二剪枝模型是通过对第一剪枝模型进行训练得到的,这样得到的第二剪枝模型的性能更优,进而再根据各第二剪枝模型的处理性能,能够从各第二剪枝模型中确定出性能更优的目标剪枝模型,确保了最终得到的目标剪枝模型的性能。
在上述根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定候选剪枝模型集合的场景中,需要先获取到初始剪枝模型集合中各个初始剪枝模型的处理性能,在一个实施例中,上述方法还包括:根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行测试,获取各初始剪枝模型的处理性能。
在本实施例中,可以根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行快速训练,得到各个初始剪枝模型的测试结果,从而根据各个初始剪枝模型的测试结果和对应的测试集,得到各初始剪枝模型的处理性能。示例性地,以pi表示各个初始剪枝模型,Dtrain表示训练集为例,可以用mi=fast_train(pi,Dtrain),i=1,2,…表示各个初始剪枝模型的测试结果,则可以得到各初始剪枝模型的处理性能为perfs[i]=inference(mi,Dval)。
本实施例中,根据预设的训练集和测试集能够对初始剪枝模型集合中各个初始剪枝模型进行快速地测试,并且根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行测试的方法也比较简单,从而能够快速地获取到初始剪枝模型集合中各个初始剪枝模型的处理性能,提高了获取初始剪枝模型集合中各初始剪枝模型的处理性能的效率。
在上述各场景中需要先获取到初始剪枝模型集合,本实施例将对获取初始剪枝模型集合的详细过程加以说明。在一个实施例中,如图6所示,上述方法还包括:
S401,对神经网络模型进行通道扩充处理,得到处理后的神经网络模型。
可选的,在本实施例中,可以对神经网络模型中第一层或前几层权重参数较少的权重层做通道扩充(即增加卷积核),得到处理后的神经网络模型。可以理解的是,本实施例中通过对神经网络模型中第一层或前几层权重参数较少的权重层做通道扩充(即增加卷积核),既提高了初始神经网络模型的起点性能,又适当增加了通道数,增加了神经网络模型的检索空间,而且前几层的权重占模型总体权重比重较少,一般不影响神经网络模型整体的压缩效果,即通过对神经网络模型进行通道扩充处理,使得得到的处理后的神经网络模型的性能更优。
S402,利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。
在本实施例中,对预设的神经网络模型进行通道扩充处理,得到处理后的神经网络模型后,可以利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。示例性地,本实施例中预设的多个剪枝算法可以是基于网络权重层的不同范数选取重要通道的剪枝算法、基于几何中心数选取重要通道的剪枝算法、基于BN层的训练参数选取对应权重层的通道的剪枝算法、基于权重层输出特征张量中的均值或统计零值等选取通道的剪枝算法、根据权重层反向传导梯度的泰勒展开估算值选取重要的通道的剪枝算法中的任意多种剪枝算法。
本实施例中,通过对神经网络模型进行通道扩充处理,使得得到的处理后的神经网络模型提高了初始神经网络模型的起点性能,又适当增加了通道数,增加了神经网络模型的检索空间,而且前几层的权重占模型总体权重比重较少,一般不影响神经网络模型整体的压缩效果,使得得到的处理后的神经网络模型的性能更优,从而再利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,能够使得到的初始剪枝模型集合中各初始剪枝模型的性能更优,进而可以得到性能更优的初始剪枝模型集合。
为了便于本领域技术人员的理解,以下对本公开提供的神经网络模型的压缩方法进行详细介绍,该方法可以包括:
S1,对神经网络模型进行通道扩充处理,得到处理后的神经网络模型。
S2,利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。
S3,根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行测试,获取各初始剪枝模型的处理性能。
S4,根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合;初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的。
S5,根据预设的变异数,对候选剪枝模型集合中的候选剪枝模型的权重层进行变异处理,和/或,根据预设的杂交数,对候选剪枝模型集合中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合。
S6,将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型;或者,根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出多个第一剪枝模型,对各第一剪枝模型进行训练,得到对应的第二剪枝模型,将各第二剪枝模型中处理性能最高的第二剪枝模型,确定为目标剪枝模型。
需要说明的是,针对上述步骤中的描述可以参见上述实施例中相关的描述,且其效果类似,本实施例在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的神经网络模型的压缩方法的神经网络模型的压缩装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个神经网络模型的压缩装置实施例中的具体限定可以参见上文中对于神经网络模型的压缩方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种神经网络模型的压缩装置,包括:第一确定模块10、第一处理模块11和第二确定模块12,其中:
第一确定模块10,用于根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合;初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的。
第一处理模块11,用于对候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合。
第二确定模块12,用于根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定目标剪枝模型。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,如图8所示,可选的,上述第一处理模块11,包括:处理单元111,其中:
处理单元111,用于对候选剪枝模型集合中的候选剪枝模型进行变异处理和/或杂交处理,得到扩充后的剪枝模型集合。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述处理单元111,用于根据预设的变异数,对候选剪枝模型集合中的候选剪枝模型的权重层进行变异处理,得到扩充后的剪枝模型集合。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述处理单元111,用于根据预设的杂交数,对候选剪枝模型集合中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,如图9所示,可选的,上述第二确定模块12,包括:第一确定单元121,其中:
第一确定单元121,用于将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,如图10所示,可选的,上述第二确定模块12,包括:第二确定单元122、训练单元123和第三确定单元124,其中:
第二确定单元122,用于根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出多个第一剪枝模型。
训练单元123,用于对各第一剪枝模型进行训练,得到对应的第二剪枝模型。
第三确定单元124,用于根据各第二剪枝模型的处理性能,从各第二剪枝模型中确定出目标剪枝模型。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述第三确定单元124,用于将各第二剪枝模型中处理性能最高的第二剪枝模型,确定为目标剪枝模型。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,如图11所示,可选的,上述装置还包括:测试模块13,其中:
测试模块13,用于根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行测试,获取各初始剪枝模型的处理性能。
需要说明的是,本实施例可以是在图10所示的实施例的基础上,也可以是在图9所示的实施例的基础上,图11是以在图9所示的实施例的基础上进行说明,当然,图11也可以是在图10所示的实施例的基础上实现。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,如图12所示,可选的,上述装置还包括:第二处理模块14和第三处理模块15,其中:
第二处理模块14,用于对神经网络模型进行通道扩充处理,得到处理后的神经网络模型。
第三处理模块15,用于利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
上述神经网络模型的压缩装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储初始剪枝模型集合。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种神经网络模型的压缩方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行神经网络模型的压缩方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行神经网络模型的压缩方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (13)
1.一种神经网络模型的压缩方法,其特征在于,包括:
根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从所述初始剪枝模型集合中确定出候选剪枝模型集合;所述初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的;
对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合;
根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型。
2.根据权利要求1所述的方法,其特征在于,所述对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合,包括:
对所述候选剪枝模型集合中的候选剪枝模型进行变异处理和/或杂交处理,得到所述扩充后的剪枝模型集合。
3.根据权利要求2所述的方法,其特征在于,所述对所述候选剪枝模型集合中的候选剪枝模型进行变异处理,得到所述扩充后的剪枝模型集合,包括:
根据预设的变异数,对所述候选剪枝模型集合中的候选剪枝模型的权重层进行变异处理,得到所述扩充后的剪枝模型集合。
4.根据权利要求2所述的方法,其特征在于,所述对所述候选剪枝模型集合中的候选剪枝模型进行杂交处理,得到所述扩充后的剪枝模型集合,包括:
根据预设的杂交数,对所述候选剪枝模型集合中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到所述扩充后的剪枝模型集合。
5.根据权利要求1所述的方法,其特征在于,所述根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型,包括:
将所述扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为所述目标剪枝模型。
6.根据权利要求1所述的方法,其特征在于,所述根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型,包括:
根据各所述剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定出多个第一剪枝模型;
对各所述第一剪枝模型进行训练,得到对应的第二剪枝模型;
根据各所述第二剪枝模型的处理性能,从各所述第二剪枝模型中确定出所述目标剪枝模型。
7.根据权利要求6所述的方法,其特征在于,所述根据各所述第二剪枝模型的处理性能,从各所述第二剪枝模型中确定出所述目标剪枝模型,包括:
将各所述第二剪枝模型中处理性能最高的第二剪枝模型,确定为所述目标剪枝模型。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设的训练集和测试集对所述初始剪枝模型集合中各个初始剪枝模型进行测试,获取各所述初始剪枝模型的处理性能。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述神经网络模型进行通道扩充处理,得到处理后的神经网络模型;
利用预设的多个剪枝算法分别对所述处理后的神经网络模型进行剪枝处理,得到所述初始剪枝模型集合。
10.一种神经网络模型的压缩装置,其特征在于,包括:
第一确定模块,用于根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从所述初始剪枝模型集合中确定出候选剪枝模型集合;所述初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的;
第一处理模块,用于对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合;
第二确定模块,用于根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型。
11.一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述的神经网络模型的压缩方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211692924.3A CN115860099A (zh) | 2022-12-28 | 2022-12-28 | 神经网络模型的压缩方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211692924.3A CN115860099A (zh) | 2022-12-28 | 2022-12-28 | 神经网络模型的压缩方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115860099A true CN115860099A (zh) | 2023-03-28 |
Family
ID=85655282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211692924.3A Pending CN115860099A (zh) | 2022-12-28 | 2022-12-28 | 神经网络模型的压缩方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115860099A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710786A (zh) * | 2023-08-04 | 2024-03-15 | 荣耀终端有限公司 | 图像处理方法、图像处理模型的优化方法及相关设备 |
-
2022
- 2022-12-28 CN CN202211692924.3A patent/CN115860099A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710786A (zh) * | 2023-08-04 | 2024-03-15 | 荣耀终端有限公司 | 图像处理方法、图像处理模型的优化方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340237B (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
CN112101190B (zh) | 一种遥感图像分类方法、存储介质及计算设备 | |
JP2023523029A (ja) | 画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体 | |
CN116596095B (zh) | 基于机器学习的碳排放量预测模型的训练方法及装置 | |
CN112633482A (zh) | 一种高效宽度图卷积神经网络模型及其训练方法 | |
CN115860099A (zh) | 神经网络模型的压缩方法、装置、计算机设备和存储介质 | |
KR102305575B1 (ko) | 이미지 간 유사도를 이용한 유사 영역 강조 방법 및 시스템 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
CN116595363A (zh) | 预测方法、装置、设备、存储介质和计算机程序产品 | |
CN114821248B (zh) | 面向点云理解的数据主动筛选标注方法和装置 | |
CN114638823B (zh) | 基于注意力机制序列模型的全切片图像分类方法及装置 | |
CN116384471A (zh) | 模型剪枝方法、装置、计算机设备、存储介质和程序产品 | |
CN116258923A (zh) | 图像识别模型训练方法、装置、计算机设备和存储介质 | |
CN114254762A (zh) | 可解释性机器学习模型构建方法、装置和计算机设备 | |
CN117113732B (zh) | 适用于非超立方体约束空间的拉丁超立方设计方法 | |
CN117235584B (zh) | 图数据分类方法、装置、电子装置和存储介质 | |
CN114969636B (zh) | 一种模型推荐的方法、装置和计算机设备 | |
CN115601550B (zh) | 模型确定方法、装置、计算机设备及计算机可读存储介质 | |
CN117349098A (zh) | 图形处理器性能测试方法、装置、计算机设备和存储介质 | |
CN118069478A (zh) | 芯片算力确定方法、装置、计算机设备和存储介质 | |
CN116542440A (zh) | 资源处理方法、装置、计算机设备和存储介质 | |
CN115063658A (zh) | 目标检测方法、装置、设备、存储介质和程序产品 | |
CN114819076A (zh) | 网络蒸馏方法、装置、计算机设备、存储介质 | |
CN118036780A (zh) | 样本数据获取方法、基于分布式学习的模型训练方法及装置 | |
CN116343013A (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 |