CN112241787A - 神经网络模型剪枝方法及装置 - Google Patents

神经网络模型剪枝方法及装置 Download PDF

Info

Publication number
CN112241787A
CN112241787A CN201910651248.7A CN201910651248A CN112241787A CN 112241787 A CN112241787 A CN 112241787A CN 201910651248 A CN201910651248 A CN 201910651248A CN 112241787 A CN112241787 A CN 112241787A
Authority
CN
China
Prior art keywords
neural network
network model
feature vector
template
branch
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.)
Withdrawn
Application number
CN201910651248.7A
Other languages
English (en)
Inventor
陶雄强
韩璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Potevio Information Technology Co Ltd
Original Assignee
Potevio Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Potevio Information Technology Co Ltd filed Critical Potevio Information Technology Co Ltd
Priority to CN201910651248.7A priority Critical patent/CN112241787A/zh
Publication of CN112241787A publication Critical patent/CN112241787A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

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

本发明提出神经网络模型剪枝方法及装置。包括:对于已经训练好的用于特征提取的神经网络模型A0,计算A0中每一分枝对最终提取特征的贡献度;将贡献度最小的分枝从A0中剪除,得到神经网络模型A0’,对A0’重新进行训练,训练完毕,判断当前是否满足剪枝迭代终止条件,若是,将已经训练好的神经网络模型A0’作为最终采用的神经网络模型;否则,令A0’=A0,返回所述计算A0中每一分枝对最终提取特征的贡献度的动作。由于每次剪除的都是当前模型中对最终提取特征的贡献度最小的分枝,从而在满足神经网络模型剪枝要求的前提下,减少了神经网络模型精度损失。

Description

神经网络模型剪枝方法及装置
技术领域
本发明涉及深度学习技术领域,尤其涉及神经网络模型剪枝方法及装置。
背景技术
随着深度学习神经网络结构的不断发展,深度卷积神经网络在解决目标检测、跟踪与识别等计算机视觉领域问题中取得了巨大的成功。然而,随着深度神经网络性能的不断提升,模型的参数量和计算量越来越大、需要消耗的计算资源较多,严重制约模型的推理速度。
在自动驾驶汽车、智能机器人、智能手机等计算资源受限的智能设备上,资源需求高的神经网络模型无法满足实时性要求。采用神经网络模型训练时,为了追求更高的模型性能,选取的网络结构复杂度往往大于问题所需,导致训练好的网络模型具有一定的冗余性;同时,对网络提取的特征维度同样选取较高,造成模型实际应用推理过程中特征比对的计算复杂度提升。因此,在保持模型精度的前提下,对深度神经网络模型进行压缩和加速推理,受到越来越多的关注。
训练好的神经网络模型本身具有一定的稀疏度,即模型的权重存在一定的零值或接近于零的非零值。所以将这些数值较小的参数去除掉,可以达到压缩模型的效果,从而加速推理过程。现有技术中,针对神经网络模型压缩和加速推理问题,主要对模型进行直接剪枝量化处理,该方法虽然处理简单,但难以兼顾精度与效率的平衡;其次是采用知识蒸馏的方法提炼小网络,此类方法在保持原有模型精度不变情况下,不一定能成功蒸馏出小网络;对于网络所提取的高维度特征,通常采用降维的方式,该方式能够降低特征比对计算复杂度,但同样会造成精度的损失。
发明内容
本发明实施例提出神经网络模型剪枝方法及装置,以在满足神经网络模型剪枝要求的前提下,减少神经网络模型精度损失。
本发明实施例的技术方案是这样实现的:
一种神经网络模型剪枝方法,该方法包括:
对于已经训练好的用于特征提取的神经网络模型A0,计算A0中每一分枝对最终提取特征的贡献度;
将贡献度最小的分枝从A0中剪除,得到神经网络模型A0’,对A0’重新进行训练,训练完毕,判断当前是否满足剪枝迭代终止条件,若是,将已经训练好的神经网络模型A0’作为最终采用的神经网络模型;否则,令A0’=A0,返回所述计算A0中每一分枝对最终提取特征的贡献度的动作。
所述计算A0中每一分枝对最终提取特征的贡献度包括:
对于已经训练好的神经网络模型A0,根据该神经网络模型的分枝权重集合W0,计算W0的损失函数值L(W0);
对于A0中的每一分枝i,假设将该分枝i从该神经网络模型A0中剪除,根据剩余的分枝的权重集合Wi,计算Wi的损失函数值L(Wi);
计算
Figure BDA0002135292830000021
其中,MI(Wi)为分枝i的权重与神经网络模型A0中其它所有分枝的权重的互信息的累和,i表示神经网络模型A0中分枝的序号,1≤i≤N,N为神经网络模型A0中分枝的总数。
所述剪枝迭代终止条件为:剪枝次数大于预设次数,或者神经网络模型A0’的精度小于预设精度阈值。
所述将已经训练好的神经网络模型A0’作为最终采用的神经网络模型之后进一步包括:
采用最终采用的神经网络模型A0’对预设的测试样本进行特征提取,得到N维特征向量集合F;
计算F中的每一维特征向量的模型精度贡献度,将模型精度贡献度最小的预设M维特征向量从F中去除,得到N-M维最优特征向量集合F’。
所述计算F中的每一维特征向量的模型精度贡献度包括:
分别计算F与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第一阈值的距离的数目N0T和不小于预设第一阈值的距离的数目N0F,根据N0T和N0F计算F的神经网络模型精度
Figure BDA0002135292830000031
对于N维特征向量集合F中的任一维特征向量fk,假设将该维特征向量fk从F中去除,剩余特征向量组成的特征向量集合为Fk,k为F中的特征向量的维序号,1≤k≤K,K为F的总维数;
分别计算Fk与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第二阈值的距离的数目NkT和不小于预设第二阈值的距离的数目NkF,根据NkT和NkF计算Fk的神经网络模型精度
Figure BDA0002135292830000032
计算特征向量fk的模型精度贡献度ΔACC(fk)=|ACC(F)-ACC(Fk)|。
所述将模型精度贡献度最小的预设M维特征向量从F中去除之后进一步包括:
记录该M维非最优特征向量的维序号;
且,所述方法进一步包括:
当要将一实际样本x与预设模板库中的模板进行匹配时,先采用最终采用的神经网络模型A0’对该实际样本进行特征提取,得到N维特征向量集合Fx
根据记录的M维非最优特征向量的维序号,将该M维非最优特征向量从Fx中去除,得到最优特征向量集合Fx’;
分别计算Fx’与预设模板库中各模板的特征向量集合的距离,在其中选择小于预设第三阈值的距离对应的模板,将所选择的模板放入粗选模板库中;
分别计算Fx与粗选模板库中各模板的特征向量集合的距离,在其中选择小于预设第四阈值的距离对应的模板,将所选择的模板作为与实际样本x匹配的模板。
一种神经网络模型剪枝装置,该装置包括:
分枝贡献度计算模块,对于已经训练好的用于特征提取的神经网络模型A0,计算A0中每一分枝对最终提取特征的贡献度;
修剪模块,根据分枝贡献度计算模块计算得到的A0中每一分枝对最终提取特征的贡献度,将贡献度最小的分枝从A0中剪除,得到神经网络模型A0’,对A0’重新进行训练,训练完毕,判断当前是否满足剪枝迭代终止条件,若是,将已经训练好的神经网络模型A0’作为最终采用的神经网络模型;否则,令A0’=A0,通知分枝贡献度计算模块计算A0中每一分枝对最终提取特征的贡献度。
所述分枝贡献度计算模块计算A0中每一分枝对最终提取特征的贡献度包括:
对于已经训练好的神经网络模型A0,根据该神经网络模型的分枝权重集合W0,计算W0的损失函数值L(W0);
对于A0中的每一分枝i,假设将该分枝i从该神经网络模型A0中剪除,根据剩余的分枝的权重集合Wi,计算Wi的损失函数值L(Wi);
计算
Figure BDA0002135292830000041
其中,MI(Wi)为分枝i的权重与神经网络模型A0中其它所有分枝的权重的互信息的累和,i表示神经网络模型A0中分枝的序号,1≤i≤N,N为神经网络模型A0中分枝的总数。
所述装置进一步包括:最优特征向量集合确定模块,用于:
采用修剪模块最终采用的神经网络模型A0’对预设的测试样本进行特征提取,得到N维特征向量集合F;
计算F中的每一维特征向量的模型精度贡献度,将模型精度贡献度最小的预设M维特征向量从F中去除,得到N-M维最优特征向量集合F’。
所述最优特征向量集合确定模块将模型精度贡献度最小的预设M维特征向量从F中去除之后进一步用于:记录该M个非最优特征向量的维序号;
且,所述最优特征向量集合确定模块进一步用于:
当要将一实际样本x与预设模板库中的模板进行匹配时,先采用修剪模块最终采用的神经网络模型A0’对该实际样本进行特征提取,得到N维特征向量集合Fx
根据记录的M个非最优特征向量的维序号,将该M个非最优特征向量从Fx中去除,得到最优特征向量集合Fx’;
分别计算Fx’与预设模板库中各模板的特征向量集合的距离,在其中选择小于预设第三阈值的距离对应的模板,将所选择的模板放入粗选模板库中;
分别计算Fx与粗选模板库中各模板的特征向量集合的距离,在其中选择小于预设第四阈值的距离对应的模板,将所选择的模板作为与实际样本x匹配的模板。
本发明实施例对已经训练好的神经网络模型,根据每一分枝对最终提取特征的贡献度,将贡献度最小的分枝剪除,然后对剪枝后的神经网络模型重新进行训练,再对训练后得到的新神经网络模型,根据每一分枝对最终提取特征的贡献度,再将贡献度最小的分枝剪除,依此迭代,直至满足剪枝迭代终止条件,由于每次剪除的都是当前模型中对最终提取特征的贡献度最小的分枝,从而在满足神经网络模型剪枝要求的前提下,减少了神经网络模型精度损失。
附图说明
图1为本发明一实施例提供的神经网络模型剪枝方法流程图;
图2为本发明一实施例提供的采用神经网络模型进行模板匹配的方法流程图;
图3为本发明另一实施例提供的神经网络模型剪枝方法流程图;
图4为本发明另一实施例提供的采用神经网络模型进行模板匹配的方法流程图;
图5为本发明实施例提供的神经网络模型剪枝装置的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明一实施例提供的神经网络模型剪枝方法流程图,其具体步骤如下:
步骤101:对于已经训练好的用于特征提取的神经网络模型A0,计算A0中每一分枝对最终提取特征的贡献度。
步骤102:将贡献度最小的分枝从A0中剪除,得到神经网络模型A0’,对A0’重新进行训练,训练完毕,判断当前是否满足剪枝迭代终止条件,若是,将已经训练好的神经网络模型A0’作为最终采用的神经网络模型;否则,令A0’=A0,返回步骤101。
在实际应用中,步骤101具体包括:
对于已经训练好的神经网络模型A0,根据该神经网络模型的分枝权重集合W0,计算W0的损失函数值L(W0);
对于A0中的每一分枝i,假设将该分枝i从该神经网络模型A0中剪除,根据剩余的分枝的权重集合Wi,计算Wi的损失函数值L(Wi);
计算
Figure BDA0002135292830000061
其中,“|...|”为绝对值运算符,MI(Wi)为分枝i的权重与神经网络模型A0中其它所有分枝的权重的互信息的累和,i表示神经网络模型A0中分枝的序号,1≤i≤N,N为神经网络模型A0中分枝的总数。
在实际应用中,步骤102中的剪枝迭代终止条件满足如下条件之一:剪枝次数大于预设次数,或者神经网络模型A0’的精度小于预设精度阈值。
图2为本发明一实施例提供的采用神经网络模型进行模板匹配的方法流程图,其具体步骤如下:
步骤201:采用步骤102中的最终采用的神经网络模型A0’对预设的测试样本进行特征提取,得到N维特征向量集合F。
步骤202:计算F中的每一维特征向量的模型精度贡献度,将模型精度贡献度最小的预设M维特征向量从F中去除,得到N-M维最优特征向量集合F’,记录该M维非最优特征向量的维序号。
在实际应用中,计算F中的每一维特征向量的模型精度贡献度包括:
分别计算F与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第一阈值的距离的数目N0T和不小于预设第一阈值的距离的数目N0F,根据N0T和N0F计算F的神经网络模型精度
Figure BDA0002135292830000071
对于N维特征向量集合F中的任一维特征向量fk,假设将该维特征向量fk从F中去除,剩余特征向量组成的特征向量集合为Fk,k为F中的特征向量的维序号,1≤k≤K,K为F的总维数;
分别计算Fk与模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第二阈值的距离的数目NkT和不小于预设第二阈值的距离的数目NkF,根据NkT和NkF计算Fk的神经网络模型精度
Figure BDA0002135292830000072
计算特征向量fk的模型精度贡献度ΔACC(fk)=|ACC(F)-ACC(Fk)|,其中,“|...|”为绝对值运算符。
步骤203:当要将一实际样本x与预设模板库中的模板进行匹配时,先采用步骤102中的最终采用的神经网络模型A0’对该实际样本进行特征提取,得到N维特征向量集合Fx
步骤204:根据记录的M维非最优特征向量的维序号,将该M维非最优特征向量从Fx中去除,得到最优特征向量集合Fx’。
步骤205:分别计算Fx’与预设模板库中各模板的特征向量集合的距离,在其中选择小于预设第三阈值的距离对应的模板,将所选择的模板放入粗选模板库中。
步骤206:分别计算Fx与粗选模板库中各模板的特征向量集合的距离,在其中选择小于预设第四阈值的距离对应的模板,将所选择的模板作为与实际样本x匹配的模板。
图3为本发明另一实施例提供的神经网络模型剪枝方法流程图,其具体步骤如下:
步骤301:采用预设的多个训练样本对用于特征提取的神经网络模型进行训练。
这里,预设的多个训练样本是一组具有同类特征的样本,例如:人脸样本。
步骤302:对于已经训练好的神经网络模型A0,根据该神经网络模型的分枝权重集合W0,计算W0的损失函数值L(W0)。
损失函数的计算为成熟技术,在此不再赘述。
步骤303:对神经网络模型A0中的任一分枝i,假设将该分枝i从该神经网络模型A0中剪除,根据剩余的分枝的权重集合Wi,计算Wi的损失函数值L(Wi)。
i表示神经网络模型A0中分枝的序号,1≤i≤N,N为神经网络模型A0中分枝的总数。
步骤304:当对神经网络模型A0中的所有分枝都执行完步骤303时,对于每一分枝i,根据L(Wi)和L(W0),计算该分枝i对最终提取特征的贡献度d(i)。
Figure BDA0002135292830000081
其中,MI(wi)为分枝i的权重与神经网络模型A0中其它所有分枝的权重的互信息的累和。MI(wi)的计算为成熟技术,在此不再赘述。
步骤305:当计算完所有分枝的贡献度时,选择贡献度最小的分枝,确定将该分枝从从神经网络模型A0中剪除,得到神经网络模型A0’。
步骤306:采用预设的多个训练样本对神经网络模型A0’进行训练。
本步骤中采用的训练样本与步骤301相同。
步骤307:训练完毕,判断当前是否满足剪枝迭代终止条件,若是,执行步骤309;否则,执行步骤308。
剪枝迭代终止条件例如:剪枝次数大于预设次数,或者神经网络模型A0’的精度小于预设精度阈值。
步骤308:令A0’=A0,返回步骤302。
令A0’=A0的含义是以神经网络模型A0’替代神经网络模型A0,然后返回步骤302。
步骤309:将当前神经网络模型A0’作为最终采用的神经网络模型。
对于部分实际应用领域,需要使用神经网络模型对实际样本进行特征提取,将提取的实际样本的特征与预设的模板库中的各个模板的特征进行对比,以确定实际样本到底与模板库中的哪个模板匹配。例如:人脸识别领域中,当训练好用于人脸特征提取的神经网络模型后,就可使用该模型提取实际人脸的特征,然后将提取的实际人脸的特征与预设的人脸模板库中的各个人脸的特征进行匹配,以确定实际人脸到底是人脸模板库中的哪个人脸,从而确定人脸的身份。
图4为本发明另一实施例提供的采用神经网络模型进行模板匹配的方法流程图,其具体步骤如下:
步骤401:采用步骤309中的最终采用的神经网络模型A0’对预设的一个测试样本进行特征提取,得到N维特征向量集合F。
若神经网络模型A0’是用于人脸特征提取的,则这里的预设测试样本就是人脸样本。
步骤402:分别计算F与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第一阈值的距离的数目N0T和不小于预设第一阈值的距离的数目N0F,根据N0T和N0F计算F的神经网络模型精度
Figure BDA0002135292830000101
模板库中的每个模板的特征向量集合是已知的,是已经计算好的。
步骤403:对于N维特征向量集合F中的任一维特征向量fk,假设将该维特征向量fk从F中去除,剩余特征向量组成的特征向量集合为Fk
其中,k为F中的特征向量的维序号,1≤k≤K,K为F的总维数,即为F中包含的特征向量的总数。
步骤404:分别计算Fk与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第二阈值的距离的数目NkT和不小于预设第二阈值的距离的数目NkF,根据NkT和NkF计算Fk的神经网络模型精度
Figure BDA0002135292830000102
由于只有维数相同的特征向量集合之间才能进行距离计算,而Fk的维数为K-1,模板库中的每个模板的特征向量集合的维数为K,因此,在计算Fk与模板库中的每个模板的特征向量集合的距离时,对于每个模板的特征向量集合也需要先将第k维的特征向量去除。
步骤405:计算特征向量fk的模型精度贡献度ΔACC(fk)=|ACC(F)-ACC(Fk)|。
步骤406:当对F中的每一维特征向量都执行完步骤403~405时,在计算得到的所有ΔACC(fk)(1≤k≤K)中,选择值最小的M个ΔACC(fk),将该M个ΔACC(fk)对应的特征向量作为非最优特征向量,记录该M维非最优特征向量的维序号,将该M维非最优特征向量从F中去除,得到最优特征向量集合F’。
M的取值为预先根据匹配计算量、匹配速度等需求设定的,1≤M≤K。
例如:若ΔACC(fs)为值最小的M个ΔACC(fk)中的一个,则将第s维特征向量从F中去除。
步骤407:当要将一实际样本x与预设模板库中的模板进行匹配时,先采用步骤309中的最终采用的神经网络模型A0’对该实际样本进行特征提取,得到N维特征向量集合Fx
步骤408:根据步骤406记录的M维非最优特征向量的维序号,将该M维非最优特征向量从Fx中去除,得到最优特征向量集合Fx’。
步骤409:分别计算Fx’与预设模板库中各模板的特征向量集合的距离,在其中选择小于预设第三阈值的距离对应的模板,将所选择的模板放入粗选模板库中。
同样地,由于只有维数相同的特征向量集合之间才能进行距离计算,而Fx’的维数为K-M,模板库中的每个模板的特征向量集合的维数为K,因此,在计算Fx’与模板库中的每个模板的特征向量集合的距离时,对于每个模板也需要先根据步骤406记录的M维非最优特征向量的维序号,将该M维非最优特征向量从该模板的原始特征向量集合中去除,得到最优特征向量集合,然后再计算Fx’与模板库中的每个模板的最优特征向量集合的距离。
步骤410:分别计算Fx与粗选模板库中各模板的特征向量集合的距离,在其中选择小于预设第四阈值的距离对应的模板,将所选择的模板作为与实际样本x匹配的模板。
图5为本发明实施例提供的神经网络模型剪枝装置的结构示意图,该装置主要包括:分枝贡献度计算模块51和修剪模块52,其中:
分枝贡献度计算模块51,对于已经训练好的用于特征提取的神经网络模型A0,计算A0中每一分枝对最终提取特征的贡献度。
修剪模块52,根据分枝贡献度计算模块51计算得到的A0中每一分枝对最终提取特征的贡献度,将贡献度最小的分枝从A0中剪除,得到神经网络模型A0’,对A0’重新进行训练,训练完毕,判断当前是否满足剪枝迭代终止条件,若是,将已经训练好的神经网络模型A0’作为最终采用的神经网络模型;否则,令A0’=A0,通知分枝贡献度计算模块51计算A0中每一分枝对最终提取特征的贡献度。
在实际应用中,分枝贡献度计算模块51计算A0中每一分枝对最终提取特征的贡献度包括:
对于已经训练好的神经网络模型A0,根据该神经网络模型的分枝权重集合W0,计算W0的损失函数值L(W0);
对于A0中的每一分枝i,假设将该分枝i从该神经网络模型A0中剪除,根据剩余的分枝的权重集合Wi,计算Wi的损失函数值L(Wi);
计算
Figure BDA0002135292830000121
其中,MI(Wi)为分枝i的权重与神经网络模型A0中其它所有分枝的权重的互信息的累和,i表示神经网络模型A0中分枝的序号,1≤i≤N,N为神经网络模型A0中分枝的总数。
在实际应用中,上述装置进一步包括:最优特征向量集合确定模块,用于:
采用修剪模块最终采用的神经网络模型A0’对预设的测试样本进行特征提取,得到N维特征向量集合F;
计算F中的每一维特征向量的模型精度贡献度,将模型精度贡献度最小的预设M维特征向量从F中去除,得到N-M维最优特征向量集合F’。
在实际应用中,最优特征向量集合确定模块计算F中的每一维特征向量的模型精度贡献度包括:
分别计算F与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第一阈值的距离的数目N0T和不小于预设第一阈值的距离的数目N0F,根据N0T和N0F计算F的神经网络模型精度
Figure BDA0002135292830000122
对于N维特征向量集合F中的任一维特征向量fk,假设将该维特征向量fk从F中去除,剩余特征向量组成的特征向量集合为Fk,k为F中的特征向量的维序号,1≤k≤K,K为F的总维数;
分别计算Fk与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第二阈值的距离的数目NkT和不小于预设第二阈值的距离的数目NkF,根据NkT和NkF计算Fk的神经网络模型精度
Figure BDA0002135292830000131
计算特征向量fk的模型精度贡献度ΔACC(fk)=|ACC(F)-ACC(Fk)|。
在实际应用中,最优特征向量集合确定模块将模型精度贡献度最小的预设M维特征向量从F中去除之后进一步用于:记录该M个非最优特征向量的维序号;
且,最优特征向量集合确定模块进一步用于:
当要将一实际样本x与预设模板库中的模板进行匹配时,先采用修剪模块最终采用的神经网络模型A0’对该实际样本进行特征提取,得到N维特征向量集合Fx
根据记录的M个非最优特征向量的维序号,将该M个非最优特征向量从Fx中去除,得到最优特征向量集合Fx’;
分别计算Fx’与预设模板库中各模板的特征向量集合的距离,在其中选择小于预设第三阈值的距离对应的模板,将所选择的模板放入粗选模板库中;
分别计算Fx与粗选模板库中各模板的特征向量集合的距离,在其中选择小于预设第四阈值的距离对应的模板,将所选择的模板作为与实际样本x匹配的模板。
本发明实施例的有益技术效果如下:
对已经训练好的神经网络模型,根据每一分枝对最终提取特征的贡献度,将贡献度最小的分枝剪除,然后对剪枝后的神经网络模型重新进行训练,再对训练后得到的新神经网络模型,根据每一分枝对最终提取特征的贡献度,再将贡献度最小的分枝剪除,依此迭代,直至满足剪枝迭代终止条件,由于每次剪除的都是当前模型中对最终提取特征的贡献度最小的分枝,从而在满足神经网络模型剪枝要求的前提下,减少了神经网络模型精度损失;
另外,根据神经网络模型提取的特征向量集合中每一维特征向量的模型精度贡献度,将贡献度最小的M维特征向量从集合中去除,得到最优特征向量集合,在进行模板匹配时,先采用最优特征向量集合进行粗检索,然后采用全特征向量集合进行细检索,从而在提高匹配速度的同时,保证匹配精度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种神经网络模型剪枝方法,其特征在于,该方法包括:
对于已经训练好的用于特征提取的神经网络模型A0,计算A0中每一分枝对最终提取特征的贡献度;
将贡献度最小的分枝从A0中剪除,得到神经网络模型A0’,对A0’重新进行训练,训练完毕,判断当前是否满足剪枝迭代终止条件,若是,将已经训练好的神经网络模型A0’作为最终采用的神经网络模型;否则,令A0’=A0,返回所述计算A0中每一分枝对最终提取特征的贡献度的动作。
2.根据权利要求1所述的方法,其特征在于,所述计算A0中每一分枝对最终提取特征的贡献度包括:
对于已经训练好的神经网络模型A0,根据该神经网络模型的分枝权重集合W0,计算W0的损失函数值L(W0);
对于A0中的每一分枝i,假设将该分枝i从该神经网络模型A0中剪除,根据剩余的分枝的权重集合Wi,计算Wi的损失函数值L(Wi);
计算
Figure FDA0002135292820000011
其中,MI(Wi)为分枝i的权重与神经网络模型A0中其它所有分枝的权重的互信息的累和,i表示神经网络模型A0中分枝的序号,1≤i≤N,N为神经网络模型A0中分枝的总数。
3.根据权利要求1或2所述的方法,其特征在于,所述剪枝迭代终止条件为:剪枝次数大于预设次数,或者神经网络模型A0’的精度小于预设精度阈值。
4.根据权利要求1所述的方法,其特征在于,所述将已经训练好的神经网络模型A0’作为最终采用的神经网络模型之后进一步包括:
采用最终采用的神经网络模型A0’对预设的测试样本进行特征提取,得到N维特征向量集合F;
计算F中的每一维特征向量的模型精度贡献度,将模型精度贡献度最小的预设M维特征向量从F中去除,得到N-M维最优特征向量集合F’。
5.根据权利要求1所述的方法,其特征在于,所述计算F中的每一维特征向量的模型精度贡献度包括:
分别计算F与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第一阈值的距离的数目N0T和不小于预设第一阈值的距离的数目N0F,根据N0T和N0F计算F的神经网络模型精度
Figure FDA0002135292820000021
对于N维特征向量集合F中的任一维特征向量fk,假设将该维特征向量fk从F中去除,剩余特征向量组成的特征向量集合为Fk,k为F中的特征向量的维序号,1≤k≤K,K为F的总维数;
分别计算Fk与预设模板库中的每个模板的特征向量集合的距离,在得到的所有距离中,统计小于预设第二阈值的距离的数目NkT和不小于预设第二阈值的距离的数目NkF,根据NkT和NkF计算Fk的神经网络模型精度
Figure FDA0002135292820000022
计算特征向量fk的模型精度贡献度ΔACC(fk)=|ACC(F)-ACC(Fk)|。
6.根据权利要求4或5所述的方法,其特征在于,所述将模型精度贡献度最小的预设M维特征向量从F中去除之后进一步包括:
记录该M维非最优特征向量的维序号;
且,所述方法进一步包括:
当要将一实际样本x与预设模板库中的模板进行匹配时,先采用最终采用的神经网络模型A0’对该实际样本进行特征提取,得到N维特征向量集合Fx
根据记录的M维非最优特征向量的维序号,将该M维非最优特征向量从Fx中去除,得到最优特征向量集合Fx’;
分别计算Fx’与预设模板库中各模板的特征向量集合的距离,在其中选择小于预设第三阈值的距离对应的模板,将所选择的模板放入粗选模板库中;
分别计算Fx与粗选模板库中各模板的特征向量集合的距离,在其中选择小于预设第四阈值的距离对应的模板,将所选择的模板作为与实际样本x匹配的模板。
7.一种神经网络模型剪枝装置,其特征在于,该装置包括:
分枝贡献度计算模块,对于已经训练好的用于特征提取的神经网络模型A0,计算A0中每一分枝对最终提取特征的贡献度;
修剪模块,根据分枝贡献度计算模块计算得到的A0中每一分枝对最终提取特征的贡献度,将贡献度最小的分枝从A0中剪除,得到神经网络模型A0’,对A0’重新进行训练,训练完毕,判断当前是否满足剪枝迭代终止条件,若是,将已经训练好的神经网络模型A0’作为最终采用的神经网络模型;否则,令A0’=A0,通知分枝贡献度计算模块计算A0中每一分枝对最终提取特征的贡献度。
8.根据权利要求7所述的装置,其特征在于,所述分枝贡献度计算模块计算A0中每一分枝对最终提取特征的贡献度包括:
对于已经训练好的神经网络模型A0,根据该神经网络模型的分枝权重集合W0,计算W0的损失函数值L(W0);
对于A0中的每一分枝i,假设将该分枝i从该神经网络模型A0中剪除,根据剩余的分枝的权重集合Wi,计算Wi的损失函数值L(Wi);
计算
Figure FDA0002135292820000031
其中,MI(Wi)为分枝i的权重与神经网络模型A0中其它所有分枝的权重的互信息的累和,i表示神经网络模型A0中分枝的序号,1≤i≤N,N为神经网络模型A0中分枝的总数。
9.根据权利要求7或8所述的装置,其特征在于,所述装置进一步包括:最优特征向量集合确定模块,用于:
采用修剪模块最终采用的神经网络模型A0’对预设的测试样本进行特征提取,得到N维特征向量集合F;
计算F中的每一维特征向量的模型精度贡献度,将模型精度贡献度最小的预设M维特征向量从F中去除,得到N-M维最优特征向量集合F’。
10.根据权利要求9所述的装置,其特征在于,所述最优特征向量集合确定模块将模型精度贡献度最小的预设M维特征向量从F中去除之后进一步用于:记录该M个非最优特征向量的维序号;
且,所述最优特征向量集合确定模块进一步用于:
当要将一实际样本x与预设模板库中的模板进行匹配时,先采用修剪模块最终采用的神经网络模型A0’对该实际样本进行特征提取,得到N维特征向量集合Fx
根据记录的M个非最优特征向量的维序号,将该M个非最优特征向量从Fx中去除,得到最优特征向量集合Fx’;
分别计算Fx’与预设模板库中各模板的特征向量集合的距离,在其中选择小于预设第三阈值的距离对应的模板,将所选择的模板放入粗选模板库中;
分别计算Fx与粗选模板库中各模板的特征向量集合的距离,在其中选择小于预设第四阈值的距离对应的模板,将所选择的模板作为与实际样本x匹配的模板。
CN201910651248.7A 2019-07-18 2019-07-18 神经网络模型剪枝方法及装置 Withdrawn CN112241787A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910651248.7A CN112241787A (zh) 2019-07-18 2019-07-18 神经网络模型剪枝方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910651248.7A CN112241787A (zh) 2019-07-18 2019-07-18 神经网络模型剪枝方法及装置

Publications (1)

Publication Number Publication Date
CN112241787A true CN112241787A (zh) 2021-01-19

Family

ID=74167902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910651248.7A Withdrawn CN112241787A (zh) 2019-07-18 2019-07-18 神经网络模型剪枝方法及装置

Country Status (1)

Country Link
CN (1) CN112241787A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114154589A (zh) * 2021-12-13 2022-03-08 成都索贝数码科技股份有限公司 一种基于相似性的模块减枝方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114154589A (zh) * 2021-12-13 2022-03-08 成都索贝数码科技股份有限公司 一种基于相似性的模块减枝方法
CN114154589B (zh) * 2021-12-13 2023-09-29 成都索贝数码科技股份有限公司 一种基于相似性的模块减枝方法

Similar Documents

Publication Publication Date Title
CN110309343B (zh) 一种基于深度哈希的声纹检索方法
CN112560656A (zh) 一种联合注意力机制端到端训练的行人多目标跟踪方法
CN110929848B (zh) 基于多挑战感知学习模型的训练、跟踪方法
CN109871749B (zh) 一种基于深度哈希的行人重识别方法和装置、计算机系统
CN106294505B (zh) 一种反馈答案的方法和装置
CN109977213B (zh) 一种面向智能问答系统的最优答案选择方法
CN113850281A (zh) 一种基于meanshift优化的数据处理方法和装置
CN108763295A (zh) 一种基于深度学习的视频近似拷贝检索算法
CN114626435A (zh) 一种高准确率的滚动轴承智能故障特征选择方法
CN112258557A (zh) 一种基于空间注意力特征聚合的视觉跟踪方法
CN112241787A (zh) 神经网络模型剪枝方法及装置
Li et al. An efficient pipeline for pruning convolutional neural networks
CN112215490B (zh) 一种基于相关性系数改进K-means的电力负荷聚类分析方法
CN107562714B (zh) 一种语句相似度计算方法及装置
CN113032612B (zh) 一种多目标图像检索模型的构建方法及检索方法和装置
CN116415144A (zh) 一种基于循环神经网络的模型压缩和加速方法
CN113011597B (zh) 一种回归任务的深度学习方法和装置
CN112738724B (zh) 一种区域目标人群的精准识别方法、装置、设备和介质
CN115100694A (zh) 一种基于自监督神经网络的指纹快速检索方法
CN109670068A (zh) 一种多级图像检索方法
CN110781814A (zh) 一种基于高斯混合神经网络模型的信号分类方法、设备及介质
CN117253095B (zh) 一种基于有偏最短距离准则的图像分类系统及方法
CN110807120A (zh) 一种基于特征点聚类的图像检索方法
CN113283586B (zh) 一种基于决策机和特征选择的快速入侵检测方法
CN114821206B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210119