CN117973485B - 模型轻量化方法、装置、计算机设备、存储介质及程序产品 - Google Patents
模型轻量化方法、装置、计算机设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN117973485B CN117973485B CN202410372700.7A CN202410372700A CN117973485B CN 117973485 B CN117973485 B CN 117973485B CN 202410372700 A CN202410372700 A CN 202410372700A CN 117973485 B CN117973485 B CN 117973485B
- Authority
- CN
- China
- Prior art keywords
- model
- candidate
- compression
- network structure
- structure layer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000007906 compression Methods 0.000 claims abstract description 267
- 230000006835 compression Effects 0.000 claims abstract description 266
- 239000013598 vector Substances 0.000 claims abstract description 177
- 239000011159 matrix material Substances 0.000 claims description 188
- 230000015654 memory Effects 0.000 claims description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000013585 weight reducing agent Substances 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000287196 Asthenes Species 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及计算机技术领域,具体涉及模型轻量化方法、装置、计算机设备、存储介质及程序产品。获取待轻量化模型对应的候选轻量化参数向量,根据候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型;计算各候选压缩模型的候选总准确率以及候选总能量值;根据各候选压缩模型对应的候选总准确率,确定当前最佳模型;根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量;循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。实现了在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署。
Description
技术领域
本发明涉及计算机技术领域,具体涉及模型轻量化方法、装置、计算机设备、存储介质及程序产品。
背景技术
随着人工智能技术的不断发展,人工智能技术的应用日益广泛。在人工智能技术领域,深度学习是较典型的技术之一。深度学习的本质就是人工神经网络,层数多的神经网络被称为深度神经网络。目前虽然深度神经网络模型在图像分类、检测等方面的能力已接近或超越人类,但在实际部署中,仍然存在模型大、计算复杂度高等问题,对硬件成本要求较高。在实际应用中,为了降低硬件成本,通常会将神经网络模型部署于一些终端设备或者边缘设备上,这些设备一般只有较低的计算能力,而且内存和电量消耗也都受限。
因此,如何在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署,成为了亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种模型轻量化方法、装置、计算机设备、存储介质及程序产品,以解决在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署的问题。
第一方面,本发明提供了一种模型轻量化方法,方法包括:
压缩迭代步骤,压缩迭代步骤,包括:
获取待轻量化模型对应的至少一个候选轻量化参数向量,候选轻量化参数向量用于表征对待轻量化模型中各层网络结构层进行轻量化压缩的压缩率;
根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型;
计算各候选压缩模型的候选总准确率以及候选总能量值,候选总能量值用于表征候选压缩模型相对于待轻量化模型的压缩程度;
根据各候选压缩模型对应的候选总准确率,确定当前最佳模型;
根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量;
循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。
本申请实施例提供的模型轻量化方法,获取待轻量化模型对应的至少一个候选轻量化参数向量,根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型,保证了生成的候选压缩模型的准确性,且保证了生成的候选压缩模型的结构较小,从而可以避免重训练带来的计算资源与时间延迟的开销,进一步减少了评价与搜索的迭代过程所耗费的时间。然后,计算各候选压缩模型的候选总准确率以及候选总能量值,根据各候选压缩模型对应的候选总准确率,确定当前最佳模型,保证了确定的当前最佳模型的准确性。然后,根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量,从而可以保证更新得到的更新轻量化参数向量的准确性,且利用各更新轻量化参数向量对待轻量化模型进行压缩,得到更新最佳模型的总准确率较高且总能量值较小,进而可以保证最终生成的目标模型的结构较小,也满足了目标模型的应用准确率较高。从而实现了在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署。
在一种可选的实施方式中,根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型,包括:
针对待轻量化模型中的各层网络结构层,获取网络结构层对应的卷积核权重张量;
对卷积核权重张量进行特征提取,得到网络结构层中各输入通道对应的目标特征矩阵;
根据网络结构层中各输入通道对应的目标特征矩阵,利用各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型。
本申请实施例提供的模型轻量化方法,针对待轻量化模型中的各层网络结构层,获取网络结构层对应的卷积核权重张量,对卷积核权重张量进行特征提取,得到网络结构层中各输入通道对应的目标特征矩阵,保证了得到的各输入通道对应的目标特征矩阵的准确性。根据网络结构层中各输入通道对应的目标特征矩阵,利用各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型,从而保证了生成的候选压缩模型的结构较小。从而实现了在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署。
在一种可选的实施方式中,对卷积核权重张量进行特征提取,得到网络结构层中各输入通道对应的目标特征矩阵,包括:
按照网络结构层中的各输入通道对卷积核权重张量进行分组,得到各输入通道对应的卷积核权重分组;
基于卷积核权重分组,生成各输入通道对应的中间矩阵;
根据中间矩阵,计算各输入通道对应的目标特征矩阵。
本申请实施例提供的模型轻量化方法,按照网络结构层中的各输入通道对卷积核权重张量进行分组,得到各输入通道对应的卷积核权重分组,保证了得到的各输入通道对应的卷积核权重分组的准确性。基于卷积核权重分组,生成各输入通道对应的中间矩阵,保证了生成的中间矩阵的准确性。根据中间矩阵,计算各输入通道对应的目标特征矩阵,保证了计算得到的各输入通道对应的目标特征矩阵的准确性。
在一种可选的实施方式中,基于卷积核权重分组,生成各输入通道对应的中间矩阵,包括:
沿网络结构层中输出通道对单位核中各元素求均值得到的均值向量;单位核是按照输出通道划分卷积核权重分组得到的权重分组;
判断卷积核权重分组中卷积核的尺寸是否为1;
根据判断结果,基于均值向量,生成各输入通道对应的中间矩阵。
本申请实施例提供的模型轻量化方法,沿网络结构层中输出通道对单位核中各元素求均值得到的均值向量,保证了得到的均值向量的准确性。判断卷积核权重分组中卷积核的尺寸是否为1;根据判断结果,基于均值向量,生成各输入通道对应的中间矩阵,保证了生成的中间矩阵的准确性。
在一种可选的实施方式中,根据判断结果,基于均值向量,生成各输入通道对应的中间矩阵,包括:
当卷积核的尺寸为1时,获取各输入通道对应的输出特征图;
从输出特征图中确定网络结构层中各输出通道的极大值;
根据各输出通道对应的极大值,生成统计特征向量;
根据均值向量与统计特征向量,生成各输入通道对应的中间矩阵。
本申请实施例提供的模型轻量化方法,当卷积核的尺寸为1时,获取各输入通道对应的输出特征图;从输出特征图中确定网络结构层中各输出通道的极大值;根据各输出通道对应的极大值,生成统计特征向量,保证了生成的统计特征向量的准确性。根据均值向量与统计特征向量,生成各输入通道对应的中间矩阵,保证了生成的中间矩阵的准确性。
在一种可选的实施方式中,根据均值向量与统计特征向量,生成各输入通道对应的中间矩阵,包括:
检测是否存在当前最佳模型;
当存在当前最佳模型时,获取当前最佳模型对应的各层网络结构层中输入通道对应的掩码向量,掩码向量中的各元素用于表征当前最佳模型中各层网络结构层中对应的各输入通道是否被剪枝;
将均值向量、统计特征向量以及掩码向量进行拼接,生成各输入通道对应的中间矩阵。
本申请实施例提供的模型轻量化方法,检测是否存在当前最佳模型;当存在当前最佳模型时,获取当前最佳模型对应的各层网络结构层中输入通道对应的掩码向量,将均值向量、统计特征向量以及掩码向量进行拼接,生成各输入通道对应的中间矩阵,保证生成的中间矩阵的准确性,且使得生成的中间矩阵中包含了当前最佳模型中各层网络结构层中各输入通道对应的剪枝情况,进而使得在对候选轻量化参数向进行更新的过程中学习到当前最佳模型的特征。
在一种可选的实施方式中,方法还包括:
当不存在当前最佳模型时,将均值向量与统计特征向量进行拼接,生成各输入通道对应的中间矩阵。
本申请实施例提供的模型轻量化方法,当不存在当前最佳模型时,将均值向量与统计特征向量进行拼接,生成各输入通道对应的中间矩阵,保证了生成的各输入通道对应的中间矩阵的准确性。
在一种可选的实施方式中,根据判断结果,基于均值向量,生成各输入通道对应的中间矩阵,包括:
当卷积核的尺寸不为1时,利用卷积核权重分组消减均值向量,生成各输入通道对应的中间矩阵。
本申请实施例提供的模型轻量化方法,当卷积核的尺寸不为1时,利用卷积核权重分组消减均值向量,生成各输入通道对应的中间矩阵,保证了生成的各输入通道对应的中间矩阵的准确性。
在一种可选的实施方式中,根据中间矩阵,计算各输入通道对应的目标特征矩阵,包括:
基于中间矩阵,计算中间矩阵的转置矩阵;
利用中间矩阵右乘转置矩阵,得到第一待提取矩阵;
利用转置矩阵右乘中间矩阵,再与中间矩阵的奇异值矩阵相乘,得到乘积矩阵;
计算乘积矩阵与乘积矩阵的伪逆矩阵之积,得到第二待提取矩阵;
将第一待提取矩阵与第二待提取矩阵进行拼接,生成目标特征矩阵。
本申请实施例提供的模型轻量化方法,基于中间矩阵,计算中间矩阵的转置矩阵,利用中间矩阵右乘转置矩阵,得到第一待提取矩阵,保证了得到的第一待提取矩阵的准确性。利用转置矩阵右乘中间矩阵,再与中间矩阵的奇异值矩阵相乘,得到乘积矩阵,保证了得到的乘积矩阵的准确性。计算乘积矩阵与乘积矩阵的伪逆矩阵之积,得到第二待提取矩阵,保证了得到的第二待提取矩阵的准确性。将第一待提取矩阵与第二待提取矩阵进行拼接,生成目标特征矩阵,保证了生成的目标特征矩阵的准确性。
在一种可选的实施方式中,根据网络结构层中各输入通道对应的目标特征矩阵,利用各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型,包括:
利用预设距离算法,计算网络结构层中各输入通道对应的目标特征矩阵两两之间的距离;
根据候选轻量化参数向量,确定网络结构层中对应的压缩率;
根据目标特征矩阵两两之间的距离以及压缩率,对各层网络结构层进行压缩处理,生成候选压缩模型。
本申请实施例提供的模型轻量化方法,利用预设距离算法,计算网络结构层中各输入通道对应的目标特征矩阵两两之间的距离,保证了计算得到的网络结构层中各输入通道对应的目标特征矩阵两两之间的距离的准确性。根据候选轻量化参数向量,确定网络结构层中对应的压缩率,保证确定的压缩率的准确性。根据目标特征矩阵两两之间的距离以及压缩率,对各层网络结构层进行压缩处理,生成候选压缩模型,保证了生成候选压缩模型的准确性,使得候选压缩模型的结构较小且总准确率较高。
在一种可选的实施方式中,根据目标特征矩阵两两之间的距离以及压缩率,对各层网络结构层进行压缩处理,生成候选压缩模型,包括:
针对各层网络结构层,根据网络结构层对应的压缩率,计算网络结构层中需要保留的输入通道数量;
对目标特征矩阵两两之间的距离进行聚类,确定类中心,类中心的数量与需要保留的输入通道数量相同;
保留各个类中心对应的输入通道,并裁剪掉其余输入通道,生成压缩后的压缩结构层;
根据各压缩结构层,生成候选压缩模型。
本申请实施例提供的模型轻量化方法,针对各层网络结构层,根据网络结构层对应的压缩率,计算网络结构层中需要保留的输入通道数量,保证计算得到的网络结构层中需要保留的输入通道数量的准确性。对目标特征矩阵两两之间的距离进行聚类,确定类中心,类中心的数量与需要保留的输入通道数量相同,保证了确定的输入通道数量的类中心的准确性。保留各个类中心对应的输入通道,并裁剪掉其余输入通道,生成压缩后的压缩结构层,保证了生成的压缩后的压缩结构层的准确性以及结构较小,根据各压缩结构层,生成候选压缩模型,保证了生成的候选压缩模型的结构较小且总准确率较高。
在一种可选的实施方式中,计算各候选压缩模型的候选总准确率,包括:
每次对待轻量化模型中的网络结构层进行压缩处理后,计算压缩后的待轻量化模型的子准确率;
将计算得到的各子准确率进行相加,计算得到对各层网络结构层进行压缩处理后得到的候选压缩模型的候选总准确率。
本申请实施例提供的模型轻量化方法,每次对待轻量化模型中的网络结构层进行压缩处理后,计算压缩后的待轻量化模型的子准确率,保证了计算得到的压缩后的待轻量化模型的子准确率的准确性。将计算得到的各子准确率进行相加,计算得到对各层网络结构层进行压缩处理后得到的候选压缩模型的候选总准确率,保证了得到的候选压缩模型的候选总准确率的准确性。
在一种可选的实施方式中,计算各候选压缩模型的候选总能量值,包括:
对各网络结构层进行压缩处理后,计算各层网络结构层对应的候选子能量值;
将各层网络结构层对应的候选子能量值进行相加,得到候选压缩模型的候选总能量值。
本申请实施例提供的模型轻量化方法,对各网络结构层进行压缩处理后,计算各层网络结构层对应的候选子能量值;将各层网络结构层对应的候选子能量值进行相加,得到候选压缩模型的候选总能量值,保证了得到的候选压缩模型的候选总能量值的准确性。
在一种可选的实施方式中,利用如下公式计算各层网络结构层对应的候选子能量值:
其中,并且,,,是对张量中各元素求平均值,是取绝对值函数,是第输入通道第输出通道的卷积核的输出,是完整卷积核的输出特征图的第个通道,是取符号函数,是累加矩阵中各元素之和,为输入通道数,为输出通道数。
在一种可选的实施方式中,根据各候选压缩模型对应的候选总准确率,确定当前最佳模型,包括:
将各候选压缩模型对应的候选总准确率进行对比;
根据对比结果,从各候选压缩模型中选择候选总准确率最大的候选压缩模型为当前次迭代最佳模型;
获取历史最佳模型;
将历史最佳模型对应的总准确率与当前次迭代最佳模型对应的总准确率进行对比;
从中选择准确率最高的为当前最佳模型。
本申请实施例提供的模型轻量化方法,将各候选压缩模型对应的候选总准确率进行对比;根据对比结果,从各候选压缩模型中选择候选总准确率最大的候选压缩模型为当前次迭代最佳模型;获取历史最佳模型;将历史最佳模型对应的总准确率与当前次迭代最佳模型对应的总准确率进行对比;从中选择准确率最高的为当前最佳模型,保证了得到的当前最佳模型在当前迭代次中的总准确率最高。
在一种可选的实施方式中,根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量,包括:
从各候选压缩模型中选择候选总能量值最小的候选压缩模型为当前次能量值最小模型;
根据当前次能量值最小模型,更新各候选轻量化参数向量。
本申请实施例提供的模型轻量化方法,从各候选压缩模型中选择候选总能量值最小的候选压缩模型为当前次能量值最小模型,根据当前次能量值最小模型,更新各候选轻量化参数向量,使得利用更新后的更新轻量化参数向量对待轻量化模型进行压缩,得到更新压缩模型的总能量值更小,进而可以保证最终生成的目标模型的结构较小,也满足了目标模型的应用准确率较高。
第二方面,本发明提供了一种模型轻量化装置,该装置包括:
压缩迭代模块,压缩迭代模块包括:
获取单元,用于获取待轻量化模型对应的至少一个候选轻量化参数向量,候选轻量化参数向量用于表征对待轻量化模型中各层网络结构层进行轻量化压缩的压缩率;
压缩单元,用于根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型;
计算单元,用于计算各候选压缩模型的候选总准确率以及候选总能量值,候选总能量值用于表征候选压缩模型相对于待轻量化模型的压缩程度;
确定单元,用于根据各候选压缩模型对应的候选总准确率,确定当前最佳模型;
更新单元,用于根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量;
确定模块,用于循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。
本申请实施例提供的模型轻量化装置,获取待轻量化模型对应的至少一个候选轻量化参数向量,根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型,保证了生成的候选压缩模型的准确性,且保证了生成的候选压缩模型的结构较小,从而可以避免重训练带来的计算资源与时间延迟的开销,进一步减少了评价与搜索的迭代过程所耗费的时间。然后,计算各候选压缩模型的候选总准确率以及候选总能量值,根据各候选压缩模型对应的候选总准确率,确定当前最佳模型,保证了确定的当前最佳模型的准确性。然后,根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量,从而可以保证更新得到的更新轻量化参数向量的准确性,且利用各更新轻量化参数向量对待轻量化模型进行压缩,得到更新最佳模型的总准确率较高且总能量值较小,进而可以保证最终生成的目标模型的结构较小,也满足了目标模型的应用准确率较高。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的模型轻量化方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的模型轻量化方法。
第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的模型轻量化方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的模型轻量化方法的流程示意图;
图2是根据本发明实施例的另一模型轻量化方法的流程示意图;
图3是根据本发明实施例的提取各输入通道对应的目标特征矩阵的流程示意图;
图4是根据本发明实施例的又一模型轻量化方法的流程示意图;
图5是根据本发明实施例的模型轻量化装置的结构框图;
图6是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着人工智能技术的不断发展,人工智能技术的应用日益广泛。在人工智能技术领域,深度学习是较典型的技术之一。深度学习的本质就是人工神经网络,层数多的神经网络被称为深度神经网络。目前虽然深度神经网络模型在图像分类、检测等方面的能力已接近或超越人类,但在实际部署中,仍然存在模型大、计算复杂度高等问题,对硬件成本要求较高。在实际应用中,为了降低硬件成本,通常会将神经网络模型部署于一些终端设备或者边缘设备上,这些设备一般只有较低的计算能力,而且内存和电量消耗也都受限。
因此,如何在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署,成为了亟待解决的问题。
需要说明的是,本申请实施例提供的模型轻量化的方法,其执行主体可以是模型轻量化的装置,该模型轻量化的装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是服务器或者终端,其中,本申请实施例中的服务器可以为一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是电子设备为例来进行说明。
根据本发明实施例,提供了一种模型轻量化方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种模型轻量化方法,可用于上述的电子设备,图1是根据本发明实施例的模型轻量化方法的流程图,如图1所示,该流程包括压缩迭代步骤,压缩迭代步骤包括如下:
步骤S101,获取待轻量化模型对应的至少一个候选轻量化参数向量。
其中,候选轻量化参数向量用于表征对待轻量化模型中各层网络结构层进行轻量化压缩的压缩率。
具体地,电子设备可以首先初始化至少一个初始轻量化参数向量,然后,利用各初始轻量化参数向量对待轻量化模型进行压缩得到初始压缩模型,然后,基于初始压缩模型对各初始轻量化参数向量进行更新,得到待轻量化模型对应的至少一个候选轻量化参数向量。
示例性的,电子设备可以首先初始化待轻量化模型对应的初始轻量化参数向量的种群,,为种群数量,且,为待轻量化模型中第个待压缩网络结构层压缩前与压缩后的输入通道数之比,为待轻量化模型中待压缩的网络结构的层数,并设置最佳总准确率的初始值为零。
其中,需要说明的是,待轻量化模型可以是深度神经网络模型,该待轻量化模型可以用于进行图像识别。
步骤S102,根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型。
具体地,电子设备可以根据各候选轻量化参数向量中包括的各个元素,对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型。
关于该步骤将在下文进行详细介绍。
步骤S103,计算各候选压缩模型的候选总准确率以及候选总能量值。
其中,候选总能量值用于表征候选压缩模型相对于待轻量化模型的压缩程度;候选总能量值越小表征压缩程度越高。
具体地,电子设备可以首先计算各候选压缩模型对应的压缩后的各层网络结构层的子准确率和候选子能量值,然后根据压缩后的各层网络结构层的子准确率和候选子能量值,计算各候选压缩模型的候选总准确率以及候选总能量值。
关于该步骤将在下文进行详细介绍。
步骤S104,根据各候选压缩模型对应的候选总准确率,确定当前最佳模型。
具体地,电子设备可以根据各候选压缩模型对应的候选总准确,从中确定候选总准确率最高的候选压缩模型,为当前最佳模型。
关于该步骤将在下文进行详细介绍。
步骤S105,根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量。
具体地,电子设备可以根据各候选压缩模型对应的候选总能量值,选择候选总能量值小于预设能量值的候选压缩模型,然后根据候选总能量值小于预设能量值的候选压缩模型对应的候选轻量化参数向量,更新各候选轻量化参数向量。
关于该步骤将在下文进行详细介绍。
步骤S106,循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。
具体地,循环上述压缩迭代步骤,直至迭代预设次数后,电子设备将最后一次迭代得到的候选压缩模型的候选总准确率进行对比,从最后一次迭代得到的候选压缩模型中选择候选总准确率最高的候选压缩模型为全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。
本申请实施例提供的模型轻量化方法,获取待轻量化模型对应的至少一个候选轻量化参数向量,根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型,保证了生成的候选压缩模型的准确性,且保证了生成的候选压缩模型的结构较小,从而可以避免重训练带来的计算资源与时间延迟的开销,进一步减少了评价与搜索的迭代过程所耗费的时间。然后,计算各候选压缩模型的候选总准确率以及候选总能量值,根据各候选压缩模型对应的候选总准确率,确定当前最佳模型,保证了确定的当前最佳模型的准确性。然后,根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量,从而可以保证更新得到的更新轻量化参数向量的准确性,且利用各更新轻量化参数向量对待轻量化模型进行压缩,得到更新最佳模型的总准确率较高且总能量值较小,进而可以保证最终生成的目标模型的结构较小,也满足了目标模型的应用准确率较高。从而实现了在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署。
在本实施例中提供了一种模型轻量化方法,可用于上述的电子设备,图2是根据本发明实施例的模型轻量化方法的流程图,如图2所示,该流程包括压缩迭代步骤,压缩迭代步骤包括如下:
步骤S201,获取待轻量化模型对应的至少一个候选轻量化参数向量。
其中,候选轻量化参数向量用于表征对待轻量化模型中各层网络结构层进行轻量化压缩的压缩率;
详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S202,根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型。
具体地,上述步骤S202包括:
步骤S2021,针对待轻量化模型中的各层网络结构层,获取网络结构层对应的卷积核权重张量。
具体地,针对待轻量化模型中的各层网络结构层,电子设备可以对待轻量化模型中的各层网络结构层进行识别,确定网络结构层对应的卷积核权重张量。
步骤S2022,对卷积核权重张量进行特征提取,得到网络结构层中各输入通道对应的目标特征矩。
在一些可选的实施方式中,上述步骤S2022包括:
步骤a1,按照网络结构层中的各输入通道对卷积核权重张量进行分组,得到各输入通道对应的卷积核权重分组。
具体地,电子设备可以按照网络结构层中的各输入通道对卷积核权重张量进行分组,得到各输入通道对应的卷积核权重分组。
步骤a2,基于卷积核权重分组,生成各输入通道对应的中间矩阵。
在一些可选的实施方式中,上述步骤a2包括:
步骤a21,沿网络结构层中输出通道对单位核中各元素求均值得到的均值向量。
其中,单位核是按照输出通道划分卷积核权重分组得到的权重分组。
具体地,电子设备可以沿网络结构层中输出通道对单位核中各元素求均值得到的均值向量。
示例性的,假设待轻量化模型中当前层网络结构层对应的卷积核权重张量为,电子设备将当前层网络结构层的卷积核权重张量按照输入通道分组后调整维度,生成各输入通道对应的卷积核权重分组,即,再沿网络结构层中输出通道对单位核中各元素求均值得到的均值向量,即。
步骤a22,判断卷积核权重分组中卷积核的尺寸是否为1。
具体地,电子设备可以对卷积核权重分组中的卷积核尺寸进行识别,判断卷积核权重分组中卷积核的尺寸是否为1。
步骤a23,根据判断结果,基于均值向量,生成各输入通道对应的中间矩阵。
具体地,电子设备可以根据卷积核权重分组中卷积核的尺寸是否为1的判断结果,选择合适的方法,基于均值向量,生成各输入通道对应的中间矩阵。
在一些可选的实施方式中,上述步骤a23,包括:
步骤a231,当卷积核的尺寸为1时,获取各输入通道对应的输出特征图。
具体地,当卷积核的尺寸为1时,电子设备可以对待轻量化模型中各层网络结构层对应的输出结果进行识别,确定当前层的网络结构层对应的输出特征图
步骤a232,从输出特征图中确定网络结构层中各输出通道的极大值。
具体地,电子设备可以从输出特征图中确定网络结构层中各输出通道的极大值。
步骤a233,根据各输出通道对应的极大值,生成统计特征向量。
具体地,电子设备可以输出特征图中确定网络结构层中各输出通道的极大值。
步骤a234,根据均值向量与统计特征向量,生成各输入通道对应的中间矩阵。
在一些可选的实施方式中,上述步骤a234包括:
步骤a2341,检测是否存在当前最佳模型。
具体地,若当前处于社会群体优化的第一个迭代,则不存在当前最佳模型,若处于社会群体优化的其余迭代,则存在当前最佳模型,因此电子设备需要首先检测是否存在当前最佳模型。
其中,当前最佳模型可以是之前至少一次迭代过程中,产生的候选总准确率最高的候选压缩模型。
步骤a2342,当存在当前最佳模型时,获取当前最佳模型对应的各层网络结构层中输入通道对应的掩码向量。
其中,掩码向量中的各元素用于表征当前最佳模型中各层网络结构层中对应的各输入通道是否被剪枝。
具体地,当存在当前最佳模型时,电子设备可以获取当前最佳模型对应的各层网络结构层中输入通道对应的掩码向量。
示例性的,假设某一层的网络结构层中包括5个输入通道,且该网络结构层对应的输入通道对应的掩码向量为[1,0,1,0,0],表征第1个通道未被剪枝,第2个通道被剪枝,第3个通道未被剪枝,第4个通道被剪枝,第5个通道被剪枝。
步骤a2343,将均值向量、统计特征向量以及掩码向量进行拼接,生成各输入通道对应的中间矩阵。
具体地,获取到当前最佳模型对应的各层网络结构层中各输入通道对应的掩码向量之后,针对待轻量化模型中的各层网络结构层,电子设备将该网络结构层中各输入通道对应的均值向量、统计特征向量以及掩码向量进行拼接,生成各输入通道对应的中间矩阵。
步骤a2344,当不存在当前最佳模型时,将均值向量与统计特征向量进行拼接,生成各输入通道对应的中间矩阵。
具体地,当不存在当前最佳模型时,电子设备将均值向量与统计特征向量进行拼接,生成各输入通道对应的中间矩阵。
示例性的,电子设备获取从卷积核权重分组为Wi的输入通道输出的输出特征图,从输出特征图中提取统计特征向量,其中,输出特征图中为各输出通道的极大值组成的向量。若当前处于社会群体优化的第一个迭代,即不存在当前最佳模型,则电子设备可以将均值向量和统计特征向量一起拼接成中间矩阵。否则,即存在当前最佳模型,电子设备将均值向量、统计特征向量和当前网络结构层的输入通道掩码向量一起拼接成中间矩阵。
步骤a235,当卷积核的尺寸不为1时,利用卷积核权重分组消减均值向量,生成各输入通道对应的中间矩阵。
具体地,当卷积核的尺寸不为1时,利用卷积核权重分组消减均值向量,生成各输入通道对应的中间矩阵。
步骤a3,根据中间矩阵,计算各输入通道对应的目标特征矩阵。
在一些可选的实施方式中,上述步骤a3包括:
步骤a31,基于中间矩阵,计算中间矩阵的转置矩阵;
步骤a32,利用中间矩阵右乘转置矩阵,得到第一待提取矩阵;
步骤a33,利用转置矩阵右乘中间矩阵,再与中间矩阵的奇异值矩阵相乘,得到乘积矩阵;
步骤a34,计算乘积矩阵与乘积矩阵的伪逆矩阵之积,得到第二待提取矩阵;
步骤a35,将第一待提取矩阵与第二待提取矩阵进行拼接,生成目标特征矩阵。
示例性的,如图3所示为卷积核的尺寸不为1时,生成目标特征矩阵的示意图。
具体地,电子设备利用第个卷积核权重分组消减均值向量后,得到中间矩阵,的特征向量组成的第一待提取矩阵记为,为目标待提取的特征矩阵之一,的特征向量组成的矩阵与的奇异值矩阵相乘,得到乘积矩阵,记为,则。在此基础上,由乘积矩阵及其伪逆矩阵之积得到第二待提取矩阵,的具体计算公式为。第二待提取矩阵与第一待提取矩阵一起组成目标特征矩阵,。
步骤S2023,根据网络结构层中各输入通道对应的目标特征矩阵,利用各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型。
具体地,上述步骤S2023,可以包括如下步骤:
步骤b1,利用预设距离算法,计算网络结构层中各输入通道对应的目标特征矩阵两两之间的距离。
具体地,电子设备可以利用预设距离算法,计算网络结构层中各输入通道对应的目标特征矩阵两两之间的距离。
其中,预设距离算法可以是欧氏距离算法、曼哈顿距离算法、切比雪夫距离算法、明可夫斯基距离算法、Matin’s距离算法等距离算法中的一种,本申请实施例对预设距离算法不做具体限定。
示例性的,电子设备可以基于Matin’s距离算法计算网络结构层中各输入通道对应的目标特征矩阵两两之间的距离。其中,两个输入通道的目标特征矩阵分别为和,计算他们之间的距离计算公式如下:
(1)
(2)
其中矩阵由李亚普诺夫方程(Lyapunovequation)求解得到,即且,,。
步骤b2,根据候选轻量化参数向量,确定网络结构层中对应的压缩率。
具体地,电子设备可以对候选轻量化参数向量进行识别,确定网络结构层中对应的压缩率。
示例性的,假设待轻量化模型包括4层网络结构层,且候选轻量化参数向量为[0.6,0.5,0.4,0.3],则确定待轻量化模型中第1层网络结构层的压缩率为0.6,第2层网络结构层的压缩率为0.5,第3层网络结构层的压缩率为0.4,第4层网络结构层的压缩率为0.3。
步骤b3,根据目标特征矩阵两两之间的距离以及压缩率,对各层网络结构层进行压缩处理,生成候选压缩模型。
在一些可选的实施方式中,上述步骤b3包括:
步骤b31,针对各层网络结构层,根据网络结构层对应的压缩率,计算网络结构层中需要保留的输入通道数量。
具体地,针对各层网络结构层,电子设备可以根据网络结构层对应的压缩率乘以网络结构层中包括的输入通道的数量,计算得到网络结构层中需要保留的输入通道数量。
步骤b32,对目标特征矩阵两两之间的距离进行聚类,确定类中心。其中,类中心的数量与需要保留的输入通道数量相同。
具体地,在确定了网络结构层中需要保留的输入通道数量之后,电子设备可以利用预设聚类算法,对目标特征矩阵两两之间的距离进行聚类,确定类中心,类中心的数量与需要保留的输入通道数量相同。
其中,预设聚类算法可以是k-Medoids聚类算法、OPTICS聚类算法、核心距离聚类算法、可达距离聚类算法等聚类算法中的任意一种。
步骤b33,保留各个类中心对应的输入通道,并裁剪掉其余输入通道,生成压缩后的压缩结构层。
具体地,在确定类中心之后,电子设备可以保留各个类中心对应的输入通道,并裁剪掉其余输入通道,生成压缩后的压缩结构层。
步骤b34,根据各压缩结构层,生成候选压缩模型。
具体地,电子设备将各压缩结构层进行拼接,生成候选压缩模型。
步骤S203,计算各候选压缩模型的候选总准确率以及候选总能量值。
其中,候选总能量值用于表征候选压缩模型相对于待轻量化模型的压缩程度;候选总能量值越小表征压缩程度越高。
关于该步骤请参见图1对步骤S103的介绍,在此不进行赘述。
步骤S204,根据各候选压缩模型对应的候选总准确率,确定当前最佳模型。
关于该步骤请参见图1对步骤S104的介绍,在此不进行赘述。
步骤S205,根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量。
关于该步骤请参见图1对步骤S105的介绍,在此不进行赘述。
步骤S206,循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。
关于该步骤请参见图1对步骤S106的介绍,在此不进行赘述。
本申请实施例提供的模型轻量化方法,针对待轻量化模型中的各层网络结构层,获取网络结构层对应的卷积核权重张量。按照网络结构层中的各输入通道对卷积核权重张量进行分组,得到各输入通道对应的卷积核权重分组,保证了得到的各输入通道对应的卷积核权重分组的准确性。沿网络结构层中输出通道对单位核中各元素求均值得到的均值向量,保证了得到的均值向量的准确性。判断卷积核权重分组中卷积核的尺寸是否为1。
当卷积核的尺寸为1时,获取各输入通道对应的输出特征图;从输出特征图中确定网络结构层中各输出通道的极大值;根据各输出通道对应的极大值,生成统计特征向量,保证了生成的统计特征向量的准确性。检测是否存在当前最佳模型;当存在当前最佳模型时,获取当前最佳模型对应的各层网络结构层中输入通道对应的掩码向量,将均值向量、统计特征向量以及掩码向量进行拼接,生成各输入通道对应的中间矩阵,保证生成的中间矩阵的准确性,且使得生成的中间矩阵中包含了当前最佳模型中各层网络结构层中各输入通道对应的剪枝情况,进而使得在对候选轻量化参数向进行更新的过程中学习到当前最佳模型的特征。当不存在当前最佳模型时,将均值向量与统计特征向量进行拼接,生成各输入通道对应的中间矩阵,保证了生成的各输入通道对应的中间矩阵的准确性。
当卷积核的尺寸不为1时,利用卷积核权重分组消减均值向量,生成各输入通道对应的中间矩阵,保证了生成的各输入通道对应的中间矩阵的准确性。
基于中间矩阵,计算中间矩阵的转置矩阵,利用中间矩阵右乘转置矩阵,得到第一待提取矩阵,保证了得到的第一待提取矩阵的准确性。利用转置矩阵右乘中间矩阵,再与中间矩阵的奇异值矩阵相乘,得到乘积矩阵,保证了得到的乘积矩阵的准确性。计算乘积矩阵与乘积矩阵的伪逆矩阵之积,得到第二待提取矩阵,保证了得到的第二待提取矩阵的准确性。将第一待提取矩阵与第二待提取矩阵进行拼接,生成目标特征矩阵,保证了生成的目标特征矩阵的准确性。
然后,利用预设距离算法,计算网络结构层中各输入通道对应的目标特征矩阵两两之间的距离,保证了计算得到的网络结构层中各输入通道对应的目标特征矩阵两两之间的距离的准确性。根据候选轻量化参数向量,确定网络结构层中对应的压缩率,保证确定的压缩率的准确性。针对各层网络结构层,根据网络结构层对应的压缩率,计算网络结构层中需要保留的输入通道数量,保证计算得到的网络结构层中需要保留的输入通道数量的准确性。对目标特征矩阵两两之间的距离进行聚类,确定类中心,类中心的数量与需要保留的输入通道数量相同,保证了确定的输入通道数量的类中心的准确性。保留各个类中心对应的输入通道,并裁剪掉其余输入通道,生成压缩后的压缩结构层,保证了生成的压缩后的压缩结构层的准确性以及结构较小,根据各压缩结构层,生成候选压缩模型,保证了生成的候选压缩模型的结构较小且总准确率较高。从而实现了在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署。
在本实施例中提供了一种模型轻量化方法,可用于上述的电子设备,图4是根据本发明实施例的模型轻量化方法的流程图,如图4所示,该流程包括压缩迭代步骤,压缩迭代步骤包括如下:
步骤S301,获取待轻量化模型对应的至少一个候选轻量化参数向量。
其中,候选轻量化参数向量用于表征对待轻量化模型中各层网络结构层进行轻量化压缩的压缩率。
关于该步骤请参见图2对步骤S201的介绍,在此不进行赘述。
步骤S302,根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型。
关于该步骤请参见图2对步骤S202的介绍,在此不进行赘述。
步骤S303,计算各候选压缩模型的候选总准确率以及候选总能量值。
其中,候选总能量值用于表征候选压缩模型相对于待轻量化模型的压缩程度;候选总能量值越小表征压缩程度越高。
具体地,上述步骤S303,包括:
步骤S3031,每次对待轻量化模型中的网络结构层进行压缩处理后,计算压缩后的待轻量化模型的子准确率。
具体地,在每次对待轻量化模型中的网络结构层进行压缩处理后,电子设备都可以计算压缩后的待轻量化模型的子准确率。
示例性的,假设待轻量化模型为图像识别模型,且待轻量化模型中包括3层网络结构层。当对待轻量化模型中的第1层网络结构层进行压缩后,电子设备可以利用验证数据集检验压缩后的待轻量化模型对应的子准确率。然后,电子设备对待轻量化模型中的第2层网络结构层进行压缩,当对待轻量化模型中的第2层网络结构层进行压缩后,电子设备再次可以利用验证数据集检验压缩后的待轻量化模型对应的子准确率。需要说明的是,当前压缩后的待轻量化模型的第1层网络结构层和第2层网络结构层已经被压缩。然后,电子设备对待轻量化模型中的第3层网络结构层进行压缩,当对待轻量化模型中的第3层网络结构层进行压缩后,电子设备再次可以利用验证数据集检验压缩后的待轻量化模型对应的子准确率。需要说明的是,当前压缩后的待轻量化模型的第1层网络结构层、第2层网络结构层和第3层网络结构层已经被压缩。
步骤S3032,将计算得到的各子准确率进行相加,计算得到对各层网络结构层进行压缩处理后得到的候选压缩模型的候选总准确率。
具体地,电子设备可以将计算得到的各子准确率进行相加,计算得到对各层网络结构层进行压缩处理后得到的候选压缩模型的候选总准确率。
步骤S3033,对各网络结构层进行压缩处理后,计算各层网络结构层对应的候选子能量值。
在本申请一种可选的实施方式中,利用如下公式计算各层网络结构层对应的候选子能量值:
(3)
其中,并且,,,是对张量中各元素求平均值,是取绝对值函数,是第输入通道第输出通道的卷积核的输出,是完整卷积核的输出特征图的第个通道,是取符号函数,是累加矩阵中各元素之和,为输入通道数,为输出通道数。
步骤S3034,将各层网络结构层对应的候选子能量值进行相加,得到候选压缩模型的候选总能量值。
具体地,电子设备可以将各层网络结构层对应的候选子能量值进行相加,得到候选压缩模型的候选总能量值。
步骤S304,根据各候选压缩模型对应的候选总准确率,确定当前最佳模型。
具体地,上述步骤S304,包括:
步骤S3041,将各候选压缩模型对应的候选总准确率进行对比。
具体地,电子设备可以将各候选压缩模型对应的候选总准确率进行对比。
步骤S3042,根据对比结果,从各候选压缩模型中选择候选总准确率最大的候选压缩模型为当前次迭代最佳模型。
具体地,电子设备可以根据对比结果,从各候选压缩模型中选择候选总准确率最大的候选压缩模型为当前次迭代最佳模型。
步骤S3043,获取历史最佳模型。
具体地,如果当前次迭代为第1次迭代,不存在历史最佳模型。若当前次迭代不为第1次迭代,则存在历史最佳模型。历史最佳模型即为当前次迭代之前候选总准确率最大的候选压缩模型。
步骤S3044,将历史最佳模型对应的总准确率与当前次迭代最佳模型对应的总准确率进行对比。
具体地,电子设备可以将历史最佳模型对应的总准确率与当前次迭代最佳模型对应的总准确率进行对比。
步骤S3045,从中选择准确率最高的为当前最佳模型。
具体地,电子设备可以根据对比结果,从历史最佳模型和当前次迭代最佳模型中选择准确率最高的为当前最佳模型。
其中,需要说明的是,上述步骤在每次迭代过程中均需要执行。
步骤S305,根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量。
具体地,上述步骤S305,包括:
步骤S3051,从各候选压缩模型中选择候选总能量值最小的候选压缩模型为当前次能量值最小模型。
具体地,电子设备可以将各候选压缩模型对应的候选总能量值进行对比,根据对比结果从各候选压缩模型中选择候选总能量值最小的候选压缩模型为当前次能量值最小模型。
步骤S3052,根据当前次能量值最小模型,更新各候选轻量化参数向量。
具体地,电子设备可以获取当前次能量值最小模型对应的候选轻量化参数向量,然后根据当前次能量值最小模型对应的候选轻量化参数向量的特点,更新各候选轻量化参数向量。
步骤S306,循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。
关于该步骤请参见如图2所示的步骤S206,在此不进行赘述。
本申请实施例提供的模型轻量化方法,每次对待轻量化模型中的网络结构层进行压缩处理后,计算压缩后的待轻量化模型的子准确率,保证了计算得到的压缩后的待轻量化模型的子准确率的准确性。将计算得到的各子准确率进行相加,计算得到对各层网络结构层进行压缩处理后得到的候选压缩模型的候选总准确率,保证了得到的候选压缩模型的候选总准确率的准确性。
然后,对各网络结构层进行压缩处理后,计算各层网络结构层对应的候选子能量值;将各层网络结构层对应的候选子能量值进行相加,得到候选压缩模型的候选总能量值,保证了得到的候选压缩模型的候选总能量值的准确性。
将各候选压缩模型对应的候选总准确率进行对比;根据对比结果,从各候选压缩模型中选择候选总准确率最大的候选压缩模型为当前次迭代最佳模型;获取历史最佳模型;将历史最佳模型对应的总准确率与当前次迭代最佳模型对应的总准确率进行对比;从中选择准确率最高的为当前最佳模型,保证了得到的当前最佳模型在当前迭代次中的总准确率最高。
从各候选压缩模型中选择候选总能量值最小的候选压缩模型为当前次能量值最小模型,根据当前次能量值最小模型,更新各候选轻量化参数向量,使得利用更新后的更新轻量化参数向量对待轻量化模型进行压缩,得到更新压缩模型的总能量值更小,进而可以保证最终生成的目标模型的结构较小,也满足了目标模型的应用准确率较高。
在本实施例中还提供了一种模型轻量化装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种模型轻量化装置,如图5所示,包括:
压缩迭代模块401,所述压缩迭代模块包括:
获取单元4011,用于获取待轻量化模型对应的至少一个候选轻量化参数向量,候选轻量化参数向量用于表征对待轻量化模型中各层网络结构层进行轻量化压缩的压缩率;
压缩单元4012,用于根据各候选轻量化参数向量对待轻量化模型中的各层网络结构层进行压缩处理,生成候选压缩模型;
计算单元4013,用于计算各候选压缩模型的候选总准确率以及候选总能量值,候选总能量值用于表征候选压缩模型相对于待轻量化模型的压缩程度;
确定单元4014,用于根据各候选压缩模型对应的候选总准确率,确定当前最佳模型;
更新单元4015,用于根据各候选压缩模型对应的候选总能量值,更新各候选轻量化参数向量;
确定模块402,用于循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将全局最佳模型确定为待轻量化模型对应的目标模型。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的模型轻量化装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图5所示的模型轻量化装置。
请参阅图6,图6是本发明可选实施例提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置20可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (19)
1.一种模型轻量化方法,其特征在于,所述方法包括:
压缩迭代步骤,所述压缩迭代步骤,包括:
获取待轻量化模型对应的至少一个候选轻量化参数向量,所述候选轻量化参数向量用于表征对所述待轻量化模型中各层网络结构层进行轻量化压缩的压缩率;所述待轻量化模型用于进行图像识别;
根据各所述候选轻量化参数向量对所述待轻量化模型中的各层所述网络结构层进行压缩处理,生成候选压缩模型;
计算各所述候选压缩模型的候选总准确率以及候选总能量值,所述候选总能量值用于表征所述候选压缩模型相对于所述待轻量化模型的压缩程度;
根据各所述候选压缩模型对应的所述候选总准确率,确定当前最佳模型;
根据各所述候选压缩模型对应的所述候选总能量值,更新所述各所述候选轻量化参数向量;
循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将所述全局最佳模型确定为所述待轻量化模型对应的目标模型;
其中,所述计算各所述候选压缩模型的候选总准确率,包括:
每次对所述待轻量化模型中的所述网络结构层进行压缩处理后,利用验证数据集检验压缩后的待轻量化模型对应的子准确率;
将计算得到的各所述子准确率进行相加,计算得到对各层所述网络结构层进行压缩处理后得到的所述候选压缩模型的候选总准确率。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述候选轻量化参数向量对所述待轻量化模型中的各层所述网络结构层进行压缩处理,生成候选压缩模型,包括:
针对所述待轻量化模型中的各层所述网络结构层,获取所述网络结构层对应的卷积核权重张量;
对所述卷积核权重张量进行特征提取,得到所述网络结构层中各输入通道对应的目标特征矩阵;
根据所述网络结构层中各所述输入通道对应的所述目标特征矩阵,利用各所述候选轻量化参数向量对所述待轻量化模型中的各层所述网络结构层进行压缩处理,生成所述候选压缩模型。
3.根据权利要求2所述的方法,其特征在于,所述对所述卷积核权重张量进行特征提取,得到所述网络结构层中各输入通道对应的目标特征矩阵,包括:
按照所述网络结构层中的各所述输入通道对所述卷积核权重张量进行分组,得到各所述输入通道对应的卷积核权重分组;
基于所述卷积核权重分组,生成各所述输入通道对应的中间矩阵;
根据所述中间矩阵,计算所述各所述输入通道对应的所述目标特征矩阵。
4.根据权利要求3所述的方法,其特征在于,所述基于所述卷积核权重分组,生成各所述输入通道对应的中间矩阵,包括:
沿所述网络结构层中输出通道对单位核中各元素求均值得到的均值向量;所述单位核是按照输出通道划分所述卷积核权重分组得到的权重分组;
判断所述卷积核权重分组中卷积核的尺寸是否为1;
根据判断结果,基于所述均值向量,生成各所述输入通道对应的中间矩阵。
5.根据权利要求4所述的方法,其特征在于,所述根据判断结果,基于所述均值向量,生成各所述输入通道对应的中间矩阵,包括:
当所述卷积核的尺寸为1时,获取各所述输入通道对应的输出特征图;
从所述输出特征图中确定所述网络结构层中各所述输出通道的极大值;
根据各所述输出通道对应的所述极大值,生成统计特征向量;
根据所述均值向量与所述统计特征向量,生成各所述输入通道对应的所述中间矩阵。
6.根据权利要求5所述的方法,其特征在于,所述根据所述均值向量与所述统计特征向量,生成各所述输入通道对应的所述中间矩阵,包括:
检测是否存在当前最佳模型;
当存在所述当前最佳模型时,获取所述当前最佳模型对应的各层所述网络结构层中所述输入通道对应的掩码向量,所述掩码向量中的各元素用于表征所述当前最佳模型中各层所述网络结构层中对应的各所述输入通道是否被剪枝;
将所述均值向量、所述统计特征向量以及所述掩码向量进行拼接,生成各所述输入通道对应的所述中间矩阵。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当不存在所述当前最佳模型时,将所述均值向量与所述统计特征向量进行拼接,生成各所述输入通道对应的所述中间矩阵。
8.根据权利要求4所述的方法,其特征在于,所述根据判断结果,基于所述均值向量,生成各所述输入通道对应的中间矩阵,包括:
当所述卷积核的尺寸不为1时,利用所述卷积核权重分组消减所述均值向量,生成各所述输入通道对应的所述中间矩阵。
9.根据权利要求3所述的方法,其特征在于,所述根据所述中间矩阵,计算所述各所述输入通道对应的所述目标特征矩阵,包括:
基于所述中间矩阵,计算所述中间矩阵的转置矩阵;
利用所述中间矩阵右乘所述转置矩阵,得到第一待提取矩阵;
利用所述转置矩阵右乘所述中间矩阵,再与所述中间矩阵的奇异值矩阵相乘,得到乘积矩阵;
计算所述乘积矩阵与所述乘积矩阵的伪逆矩阵之积,得到第二待提取矩阵;
将所述第一待提取矩阵与所述第二待提取矩阵进行拼接,生成所述目标特征矩阵。
10.根据权利要求2所述的方法,其特征在于,所述根据所述网络结构层中各所述输入通道对应的所述目标特征矩阵,利用各所述候选轻量化参数向量对所述待轻量化模型中的各层所述网络结构层进行压缩处理,生成所述候选压缩模型,包括:
利用预设距离算法,计算所述网络结构层中各所述输入通道对应的所述目标特征矩阵两两之间的距离;
根据所述候选轻量化参数向量,确定所述网络结构层中对应的压缩率;
根据所述目标特征矩阵两两之间的距离以及所述压缩率,对所述各层所述网络结构层进行压缩处理,生成所述候选压缩模型。
11.根据权利要求10所述的方法,其特征在于,所述根据所述目标特征矩阵两两之间的距离以及所述压缩率,对所述各层所述网络结构层进行压缩处理,生成所述候选压缩模型,包括:
针对各层所述网络结构层,根据所述网络结构层对应的所述压缩率,计算所述网络结构层中需要保留的输入通道数量;
对所述目标特征矩阵两两之间的距离进行聚类,确定类中心,所述类中心的数量与需要保留的输入通道数量相同;
保留各个所述类中心对应的所述输入通道,并裁剪掉其余输入通道,生成压缩后的压缩结构层;
根据各所述压缩结构层,生成所述候选压缩模型。
12.根据权利要求1所述的方法,其特征在于,计算各所述候选压缩模型的候选总能量值,包括:
对各所述网络结构层进行压缩处理后,计算各层所述网络结构层对应的候选子能量值;
将各层所述网络结构层对应的所述候选子能量值进行相加,得到所述候选压缩模型的所述候选总能量值。
13.根据权利要求12所述的方法,其特征在于,利用如下公式计算各层所述网络结构层对应的候选子能量值:
其中,并且,,,是对张量中各元素求平均值,是取绝对值函数,是第输入通道第输出通道的卷积核的输出,是完整卷积核的输出特征图的第个通道,是取符号函数,是累加矩阵中各元素之和,为输入通道数,为输出通道数。
14.根据权利要求1所述的方法,其特征在于,所述根据各所述候选压缩模型对应的所述候选总准确率,确定当前最佳模型,包括:
将各所述候选压缩模型对应的所述候选总准确率进行对比;
根据对比结果,从各所述候选压缩模型中选择所述候选总准确率最大的所述候选压缩模型为当前次迭代最佳模型;
获取历史最佳模型;
将所述历史最佳模型对应的总准确率与所述当前次迭代最佳模型对应的总准确率进行对比;
从中选择准确率最高的为所述当前最佳模型。
15.根据权利要求1所述的方法,其特征在于,所述根据各所述候选压缩模型对应的所述候选总能量值,更新所述各所述候选轻量化参数向量,包括:
从各所述候选压缩模型中选择所述候选总能量值最小的所述候选压缩模型为当前次能量值最小模型;
根据所述当前次能量值最小模型,更新各所述候选轻量化参数向量。
16.一种模型轻量化装置,其特征在于,所述装置包括:
压缩迭代模块,所述压缩迭代模块包括:
获取单元,用于获取待轻量化模型对应的至少一个候选轻量化参数向量,所述候选轻量化参数向量用于表征对所述待轻量化模型中各层网络结构层进行轻量化压缩的压缩率;所述待轻量化模型用于进行图像识别;
压缩单元,用于根据各所述候选轻量化参数向量对所述待轻量化模型中的各层所述网络结构层进行压缩处理,生成候选压缩模型;
计算单元,用于计算各所述候选压缩模型的候选总准确率以及候选总能量值,所述候选总能量值用于表征所述候选压缩模型相对于所述待轻量化模型的压缩程度;其中,所述计算各所述候选压缩模型的候选总准确率,包括:每次对所述待轻量化模型中的所述网络结构层进行压缩处理后,利用验证数据集检验压缩后的待轻量化模型对应的子准确率;将计算得到的各所述子准确率进行相加,计算得到对各层所述网络结构层进行压缩处理后得到的所述候选压缩模型的候选总准确率;
确定单元,用于根据各所述候选压缩模型对应的所述候选总准确率,确定当前最佳模型;
更新单元,用于根据各所述候选压缩模型对应的所述候选总能量值,更新所述各所述候选轻量化参数向量;
确定模块,用于循环上述压缩迭代步骤,直至迭代预设次数后,确定全局最佳模型,将所述全局最佳模型确定为所述待轻量化模型对应的目标模型。
17.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至15中任一项所述的模型轻量化方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至15中任一项所述的模型轻量化方法。
19.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1至15中任一项所述的模型轻量化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410372700.7A CN117973485B (zh) | 2024-03-29 | 2024-03-29 | 模型轻量化方法、装置、计算机设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410372700.7A CN117973485B (zh) | 2024-03-29 | 2024-03-29 | 模型轻量化方法、装置、计算机设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117973485A CN117973485A (zh) | 2024-05-03 |
CN117973485B true CN117973485B (zh) | 2024-06-21 |
Family
ID=90849964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410372700.7A Active CN117973485B (zh) | 2024-03-29 | 2024-03-29 | 模型轻量化方法、装置、计算机设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117973485B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222012A (zh) * | 2021-04-20 | 2022-10-21 | 澜起科技股份有限公司 | 用于压缩神经网络的方法和装置 |
CN116090540A (zh) * | 2022-12-28 | 2023-05-09 | 中移动信息技术有限公司 | 网络模型压缩方法、装置、设备和可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263913A (zh) * | 2019-05-23 | 2019-09-20 | 深圳先进技术研究院 | 一种深度神经网络压缩方法及相关设备 |
-
2024
- 2024-03-29 CN CN202410372700.7A patent/CN117973485B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222012A (zh) * | 2021-04-20 | 2022-10-21 | 澜起科技股份有限公司 | 用于压缩神经网络的方法和装置 |
CN116090540A (zh) * | 2022-12-28 | 2023-05-09 | 中移动信息技术有限公司 | 网络模型压缩方法、装置、设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117973485A (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978142B (zh) | 神经网络模型的压缩方法和装置 | |
CA2957695A1 (en) | System and method for building artificial neural network architectures | |
CN111275190B (zh) | 神经网络模型的压缩方法及装置、图像处理方法及处理器 | |
CN111178258B (zh) | 一种图像识别的方法、系统、设备及可读存储介质 | |
US11861467B2 (en) | Adaptive quantization for execution of machine learning models | |
CN112949842B (zh) | 神经网络结构搜索方法、装置、计算机设备以及存储介质 | |
CN106991999B (zh) | 语音识别方法及装置 | |
CN110874634A (zh) | 神经网络的优化方法及装置、设备和存储介质 | |
CN113111804B (zh) | 一种人脸检测的方法、装置、电子设备及存储介质 | |
Liberis et al. | Differentiable neural network pruning to enable smart applications on microcontrollers | |
CN111898751B (zh) | 一种数据处理的方法、系统、设备及可读存储介质 | |
CN114429208A (zh) | 基于残差结构剪枝的模型压缩方法、装置、设备及介质 | |
CN114511042A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
CN113869496A (zh) | 一种神经网络的获取方法、数据处理方法以及相关设备 | |
CN113159188A (zh) | 一种模型生成方法、装置、设备及存储介质 | |
CN117973485B (zh) | 模型轻量化方法、装置、计算机设备、存储介质及程序产品 | |
CN116560666B (zh) | 基于多层级代码生成的ai前端统一计算方法、装置及介质 | |
CN109934348B (zh) | 机器学习模型超参数推断方法及装置、介质、电子设备 | |
CN113642654B (zh) | 图像特征的融合方法、装置、电子设备和存储介质 | |
CN113761934B (zh) | 一种基于自注意力机制的词向量表示方法及自注意力模型 | |
CN114707643A (zh) | 一种模型切分方法及其相关设备 | |
CN116579380A (zh) | 一种数据处理方法以及相关设备 | |
CN114970828A (zh) | 深度神经网络的压缩方法、装置、电子设备及介质 | |
KR20210151727A (ko) | 신경망 가속기의 데이터 처리 방법, 장치, 기기 및 저장 매체 | |
CN113343047A (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 |