CN116933856A - 神经网络的剪枝处理方法、装置、设备及介质 - Google Patents
神经网络的剪枝处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116933856A CN116933856A CN202210345588.9A CN202210345588A CN116933856A CN 116933856 A CN116933856 A CN 116933856A CN 202210345588 A CN202210345588 A CN 202210345588A CN 116933856 A CN116933856 A CN 116933856A
- Authority
- CN
- China
- Prior art keywords
- convolution
- convolution kernel
- data
- pruning
- kernels
- 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
- 238000013138 pruning Methods 0.000 title claims abstract description 146
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 66
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000011156 evaluation Methods 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012216 screening Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 17
- 230000008901 benefit Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Complex Calculations (AREA)
Abstract
本公开实施例涉及一种神经网络的剪枝处理方法、装置、设备及介质,其中该方法包括:确定初始神经网络的卷积层中卷积内核的第一特征值和第二特征值,第一特征值表示卷积内核的稀疏特征,第二特征值表示卷积内核与卷积层中的其他卷积内核之间的差异特征,基于第一特征值和第二特征值确定卷积内核的评估数据,评估数据用于反映卷积内核在卷积层中的重要程度,根据卷积层中所有卷积内核的评估数据筛选出目标卷积内核对目标卷积内核进行剪枝处理获取目标神经网络。采用上述技术方案,能够更加精准确定目标卷积内核并进行剪枝处理,提高剪枝处理的精度和效率,使得剪枝处理合理化,保证剪枝的高速度收益及剪枝之后神经网络的高精度,提高了剪枝性能。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种神经网络的剪枝处理方法、装置、设备及介质。
背景技术
基于神经网络的人工智能技术在移动终端上的应用,智能移动终端飞速发展满足人们的各种应用需求。其中,其主要实现技术包括基于训练好的神经网络模型数据在视频处理语言识别、图像识别与理解、游戏视觉等应用领域的数据处理。基于移动终端有限的计算资源,考虑到绝大多数的卷积神经网络均存在一定程度上的参数冗余,因此通过剪枝去除神经网络中各层冗余的卷积内核或卷积内核上的神经元,在移动终端上得到计算资源和存储资源更小的神经网络。
目前为了兼顾非结构化剪枝的高压缩率的特点以及结构化剪枝的加速优势,经常采用基于内核剪枝的半结构剪枝方式。但是,针对同样的剪枝率存在很多剪枝方案,不同的剪枝方案使得剪枝后的网络性能不同,有的剪枝方案所导致的网络性能很差。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种神经网络的剪枝处理方法、装置、设备及介质。
本公开实施例提供了一种神经网络的剪枝处理方法,所述方法包括:
确定初始神经网络的卷积层中卷积内核的第一特征值和第二特征值,其中,所述第一特征值表示所述卷积内核的稀疏特征,所述第二特征值表示所述卷积内核与所述卷积层中的其他卷积内核之间的差异特征;
基于所述第一特征值和所述第二特征值确定所述卷积内核的评估数据,其中,所述评估数据用于反映所述卷积内核在所述卷积层中的重要程度;
根据所述卷积层中所有卷积内核的所述评估数据筛选出目标卷积内核,并对所述目标卷积内核进行剪枝处理获取目标神经网络。
一种可选的实施方式中,所述卷积内核的第一特征值的确定过程包括:
计算所述卷积内核中各个元素绝对值之和,获取所述卷积内核的第一特征值。
一种可选的实施方式中,所述卷积内核的第二特征值的确定过程包括:
根据预设算法基于所述卷积内核中各个元素,计算所述卷积内核的第一数据,以及基于所述卷积层中的其他卷积内核中各个元素,计算所述其他卷积内核对应的第二数据;
分别计算所述第一数据与每个所述第二数据之间的距离;
基于所述第一数据与所述第二数据之间的距离进行计算,获取所述卷积内核的第二特征值。
一种可选的实施方式中,所述基于所述卷积层中的其他卷积内核中各个元素,计算所述其他卷积内核对应的第二数据,包括:
确定所述卷积内核在所属过滤器中的目标通道索引值;
获取所述卷积层其他过滤器中与所述目标通道索引值一致的候选卷积内核;
基于所述候选卷积内核中各个元素,计算所述候选卷积内核对应的第二数据;
所述分别计算所述第一数据与每个所述第二数据之间的距离,基于所述第一数据与所述第二数据之间的距离进行计算,获取所述卷积内核的第二特征值,包括:
分别计算所述第一数据与每个所述候选卷积内核对应的第二数据之间的距离;
基于所述第一数据与每个所述候选卷积内核对应的第二数据之间的距离进行计算,获取所述卷积内核的第二特征值,其中,所述第二特征值表示所述卷积内核与所述候选卷积内核之间的差异特征,其中,所述候选卷积内核为所述卷积层中与所述目标通道索引值一致的其他卷积内核。
一种可选的实施方式中,所述基于所述第一特征值和所述第二特征值确定所述卷积内核的评估数据,包括:
将所述第二特征值与预设系数相乘计算获取第一中间值;
将所述第一中间值与预设常数相加计算获取第二中间值;
将所述第二中间值与所述第一特征值相乘计算,将计算结果作为所述卷积内核的评估数据。
一种可选的实施方式中,所述根据所述卷积层中所有卷积内核的所述评估数据筛选出目标卷积内核,并对所述目标卷积内核进行剪枝处理,包括:
根据所述卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对所述卷积层中所有的卷积内核进行分组处理生成卷积内核组,其中,每个所述过滤器所包含的卷积内核数量相同,不同过滤器中位于相同通道位置的卷积内核用相同的通道索引值标识,任一个所述卷积内核组中的所有卷积内核的通道索引值相同;
根据所述卷积内核组中所包含的所有卷积内核的评估数据,计算所述卷积内核组的组评估数据;
根据所有所述卷积内核组的组评估数据筛选出目标卷积内核组,并对所述目标卷积内核组进行剪枝处理。
一种可选的实施方式中,在所述根据所述卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对所述卷积层中所有的卷积内核进行分组处理生成卷积内核组之前,还包括:
根据所述剪枝组粒度以及所述卷积内核的评估数据,调整所述卷积内核在所述卷积层中的位置,以使所述卷积内核组所包含的多个卷积内核的评估数据的差异小于预设阈值。
一种可选的实施方式中,通过所述目标神经网络对输入数据进行数据处理,其中,所述输入数据包括多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。
本公开实施例还提供了一种神经网络的剪枝处理装置,所述装置包括:
第一确定模块,用于确定卷积层中卷积内核的第一特征值;其中,所述第一特征值表示所述卷积内核的稀疏特征
第二确定模块,用于确定卷积层中卷积内核的第二特征值,其中,述第二特征值表示所述卷积内核与所述卷积层中的其他卷积内核之间的差异特征;
评估模块,用于基于所述第一特征值和所述第二特征值确定所述卷积内核的评估数据,其中,所述评估数据用于反映所述卷积内核在所述卷积层中的重要程度;
筛选剪枝模块,用于根据所述卷积层中所有卷积内核的所述评估数据筛选出目标卷积内核,并对所述目标卷积内核进行剪枝处理。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的神经网络的剪枝处理方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的神经网络的剪枝处理方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的神经网络的剪枝处理方案,确定初始神经网络的卷积层中卷积内核的第一特征值和第二特征值,其中,第一特征值表示卷积内核的稀疏特征,第二特征值表示卷积内核与卷积层中的其他卷积内核之间的差异特征,基于第一特征值和第二特征值确定卷积内核的评估数据,其中,评估数据用于反映卷积内核在卷积层中的重要程度,根据卷积层中所有卷积内核的评估数据筛选出目标卷积内核,并对目标卷积内核进行剪枝处理获取目标神经网络。采用上述技术方案,能够更加精准基于卷积内核的稀疏特征和卷积内核之间的差异特征确定目标卷积内核并进行剪枝处理,提高了剪枝处理的精度和效率,并且使得剪枝处理合理化,同时保证剪枝的高速度收益以及剪枝之后神经网络的高精度,提高了剪枝性能。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种神经网络的剪枝处理方法的流程示意图;
图2为本公开实施例提供的另一种神经网络的剪枝处理方法的流程示意图;
图3为本公开实施例提供的一种卷积内核元素的示意图;
图4为本公开实施例提供的一种过滤器和卷积内核的示意图;
图5为本公开实施例提供的一种卷积内核分组的示意图;
图6为本公开实施例提供的一种神经网络的剪枝处理装置的结构示意图;
图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1为本公开实施例提供的一种神经网络的剪枝处理方法的流程示意图,该方法可以由神经网络的剪枝处理装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法包括:
步骤101、确定初始神经网络的卷积层中卷积内核的第一特征值和第二特征值,其中,第一特征值表示卷积内核的稀疏特征,第二特征值表示卷积内核与卷积层中的其他卷积内核之间的差异特征。
为了保证模型效果,在神经网络中可能存在一定数量的参数冗余,通过剪枝处理,能够在保证神经网络精度的前提下,剪枝掉神经网络中各卷积层冗余的卷积内核(即,结构化剪枝)或卷积内核上的神经元(即,非结构化剪枝),从而得到计算资源和存储资源占用更小的"瘦身模型",加速神经网络的推理过程,助力神经网络的边缘部署。
然而,不同的剪枝方案使得剪枝后的网络性能不同,有的剪枝方案所导致的网络性能很差的技术问题,在本实施例中,解决剪枝方案导致网络性能很差的问题,具体包括:
在本实施例中,初始神经网络为需要进行剪枝处理的神经网络模型,该神经网络模型可以是经过训练获得的,并且该神经网络模型可以根据应用场景和/或用户需求等进行设定,本实施例不作限制。
在本公开实施例中,针对初始神经网络中每一卷积层提取多少个特征,设置多少个过滤器,一个过滤器负责提取某一种特征;针对一个过滤器包括多少个卷积内核,由过滤器输入通道决定,比如过滤器输入通道是3个特征时,则后续的每一过滤器中包含3个卷积内核,再比如过滤器输入通道是包含128个特征时,则一个过滤器中所包含卷积内核数是128个。
具体地,同层内或者跨层的单个特征图在神经网络中包含不同的信息,扮演着不同的角色。浅层的特征图通常包含较为丰富的低阶语义特征,比如结构信息;深层的特征图通常包含较为丰富的高阶语义特征,即使是在同一层特征图之间的重要性也不相同,特征图表示的信息越丰富对卷积网络结构越重要,特征图越稀疏对卷积网络结构越不重要,例如某一层的某个特征图为全0,那么该特征图不对输出特征图产生影响。因此可以使用特征图包含信息的丰富度来表示该层特征图的重要性,得到特征图的重要性信息之后,那么在对神经网络的卷积内核剪枝的过程中与重要特征图相连的卷积内核应该被尽可能多的保留。
然而,直接获取卷积网络中某层的特征图的信息丰富度是困难的,因为特征图是依赖输入数据的,必须统计整个数据集的所有的样本在该层的特征图,才能得到一个相对泛化的计算结果,因此通过计算卷积内核本身的稀疏性来表示卷积内核的重要性。虽然这些卷积内核不参与生成输入特征图,但是卷积内核的稀疏性与输入特征图的稀疏性是相关的。
在本公开实施例中,确定卷积层中卷积内核的第一特征值;其中,第一特征值表示的是卷积内核的稀疏特征,稀疏特征指的是卷积内核稀疏化,通常卷积内核中数值为0的元素数目远远多于非0元素的数目。
在本公开实施例中,确定卷积层中卷积内核的第一特征值的方式有多种,可以根据应用场景等进行选择,本实施例不做限制,示例说明如下:
一种可选的实施方式中,计算卷积内核中各个元素绝对值之和,获取卷积内核的第一特征值。
另一种可选的实施方式中,计算卷积内核中各个元素的平方和然后求平方根,获取卷积内核的第一特征值。
具体地,为了保证神经网络在剪枝处理后卷积层的输出结果仍然多样化,则需要保留更多的“可替换性”较低的卷积内核。“可替换性”比较低意味着卷积内核与在卷积层中的其他卷积内核具有比较大的差别,为了更加客观地表示这种可替换性,本公开实施例通过第二特征值来表示。
在本公开实施例中,确定卷积层中卷积内核的第二特征值;其中,第二特征值表示的是卷积内核与卷积层中的其他卷积内核之间的差异特征,差异特征指的是该卷积内核对应的数据与卷积层中的其他卷积内核对应的数据之间的距离,距离越大表示卷积内核与卷积层中的其他卷积内核之间的特征差异越大,数据距离越小表示卷积内核与卷积层中的其他卷积内核之间的特征差异越小。
在本公开实施例中,确定卷积层中卷积内核的第二特征值的方式有多种,可以根据应用场景等进行选择,本实施例不做限制,示例说明如下:
一种可选的实施方式中,分别计算卷积内核中各个元素绝对值之和与每个其他卷积内核中各个元素绝对值之和之间的距离,并基于距离进行计算,获取卷积内核的第二特征值。
另一种可选的实施方式中,分别计算卷积内核中各个元素平方和然后求平方根与每个其他卷积内核中各个元素平方和然后求平方根之间的距离,并基于距离进行计算,获取卷积内核的第二特征值。
步骤102、基于第一特征值和第二特征值确定卷积内核的评估数据,其中,评估数据用于反映卷积内核在卷积层中的重要程度。
其中,评估数据用于反映卷积内核在卷积层中的重要程度,即可以了解卷积层中哪些卷积内核极其重要、哪些卷积内核比较相当重要、哪些卷积内核不重要等,从而确定后续哪个卷积内核可以进行剪枝处理;其中,评估数据可以为具体数值,也可以为等级,具体根据应用场景选择设置,本公开实施例不做具体限制。
在本公开实施例中,基于第一特征值和第二特征值确定卷积内核的评估数据的方式有多种,可以根据应用场景等进行选择,本实施例不做限制,示例说明如下:
一种可选的实施方式中,将第二特征值与预设系数相乘计算获取第一中间值,将第一中间值与预设常数相加计算获取第二中间值,将第二中间值与第一特征值相乘计算,将计算结果作为卷积内核的评估数据。
另一种可选的实施方式中,将第一特征值和第二特征值进行相加结果作为卷积内核的评估数据。
步骤103、根据卷积层中所有卷积内核的评估数据筛选出目标卷积内核,并对目标卷积内核进行剪枝处理获取目标神经网络。
在本公开实施例中,根据卷积层中所有卷积内核的评估数据筛选出目标卷积内核的方式有多种,可以根据应用场景等进行选择,本实施例不做限制,示例说明如下:
一种可选的实施方式中,根据卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对卷积层中所有的卷积内核进行分组处理生成卷积内核组,其中,每个过滤器所包含的卷积内核数量相同,不同过滤器中位于相同通道位置的卷积内核用相同的通道索引值标识,任一个卷积内核组中的所有卷积内核的通道索引值相同,根据卷积内核组中所包含的所有卷积内核的评估数据,计算卷积内核组的组评估数据,根据所有卷积内核组的组评估数据筛选出目标卷积内核组,并对目标卷积内核组进行剪枝处理。
另一种可选的实施方式中,将每个过滤器中各个卷积内核对应的评估数据进行相加处理,得到每个过滤器的总评分数据,基于每个过滤器的总评分数据对各个过滤器进行排序,按照通道索引值对排序后每个过滤器中的各个卷积内核进行分组,基于各个分组的总评分数据确定目标卷积内核组,并对目标卷积内核组进行剪枝处理。
本公开实施例提供的神经网络的剪枝处理方案,确定初始神经网络的卷积层中卷积内核的第一特征值和第二特征值,其中,第一特征值表示卷积内核的稀疏特征,第二特征值表示卷积内核与卷积层中的其他卷积内核之间的差异特征,基于第一特征值和第二特征值确定卷积内核的评估数据,其中,评估数据用于反映卷积内核在卷积层中的重要程度,根据卷积层中所有卷积内核的评估数据筛选出目标卷积内核,并对目标卷积内核进行剪枝处理获取目标神经网络。采用上述技术方案,能够更加精准确定目标卷积内核并进行剪枝处理,提高了剪枝处理的精度和效率,并且使得剪枝处理合理化,保证剪枝的高速度收益以及剪枝之后神经网络的高精度,提高了剪枝性能。
相关技术中,非结构化剪枝的剪枝目标为卷积内核上的神经元/权重,得到稀疏卷积内核,压缩率比较高但是网络结构是没有规律性的稀疏化,无法利用现有的通用处理器和稀疏计算库带来速度上的提升;结构化剪枝的剪枝目标为整个卷积内核,由于剪枝是整个过滤器因此可以直接利用现有的软硬件库进行加速,结构化剪枝粒度比较大,很难在高压缩率下保持模型性能。
针对上述问题,提出了一种既能兼顾无约束非结构化剪枝的高压缩率/高适用性的特点又能具有结构化剪枝的加速优势,即半结构化剪枝算法,由于其剪枝粒度介于无约束非结构化剪枝和结构化剪枝之间,因此,半结构化剪枝相比结构化剪枝通常可以取得更高的要缩率,半结构化剪枝的剪枝粒度不是整个过滤器,因此不改变层输出通道,所以对支持的模型结果不存在局限性,支持所有卷积层,半结构化剪枝算法在保持高压缩率的同时稀疏矩阵具有一定的固定模式,可以保证速度收益。但是,针对同样的剪枝率存在很多剪枝方案,不同的剪枝方案使得剪枝后的网络性能不同,有的剪枝方案所导致的网络性能很差。
基于上述实施例描述,可以基于卷积内核的稀疏特征和卷积内核与卷积层中的其他卷积内核之间的差异特征获取更加准确的目标卷积内核进行卷积处理,在本公开实施例中,还可以为了提高底层引擎对卷积内核稀疏性的加速收益,还提出了过滤器分组策略,提高卷积内核稀疏模式的并行性,同时通过计算过滤器级别的评估数据对过滤器进行重排分组,以减少分组对精度的影响,保证高精度和高加速度收益,下面结合图2进行详细描述。
具体地,图2为本公开实施例提供的另一种神经网络的剪枝处理方法的流程示意图,本实施例在上述实施例的基础上,进一步优化了上述神经网络的剪枝处理方法。如图2所示,该方法包括:
步骤201、计算卷积内核中各个元素绝对值之和,获取卷积内核的第一特征值;其中,第一特征值表示卷积内核的稀疏特征。
具体地,半结构化剪枝算法的剪枝粒度位于结构化剪枝和非结构化剪枝之间,可以综合半结构化剪枝的精度和结构化剪枝的速度优势,本公开实施例中描述的半结构化剪枝方式的剪枝粒度是针对每个过滤器的每个卷积内核,该卷积内核直接连接了输入特征图和输出特征图,通过联合卷积内核的稀疏特征和卷积内核与卷积层中的其他卷积内核之间的差异特征来实现待剪枝卷积内核的更准确选择,同时通过过滤器级别的重排和分组来实现更优秀的剪枝性能和更好加速性能。
在本公开实施例中,输入特征图和输出特征图之间存在具有多少条连接表示一个卷积层包括多少个卷积内核,直接获取卷积网络中某层的特征图的信息丰富度是困难的,因为特征图是依赖输入数据的,必须统计整个数据集的所有的样本在该层的特征图,才能得到一个相对泛化的计算结果,因此通过计算卷积内核本身的稀疏特征来表示卷积内核的重要性。
具体地,对于输入特征图的第c个特征图和输出特征图的第n个特征图之间存在的连接对应的权重为Wn,c,获取Wn,c在施加L2范数正则化的情况下权重更新公式如公式(1)所示:
其中,L为损失函数,η为学习率,为t时刻输入特征图的第c个特征图,/>为t时刻输出特征图的第n个特征图,以及第二项的/>为L2正则项。
在若最终收敛为稀疏激活特征图时上述公式(1)约等于公式(2)所示:
由于L2正则项的稀疏特性,因此最终趋向于零。
基于上述描述,基于L2范数训练的神经网络,包含信息很少的稀疏激活特征图对应的卷积内核通常也趋向于稀疏,因此,可以使用卷积内核的稀疏特征来表示连接的重要性,也就是说,卷积内核稀疏性利用稀疏性衡量了同一个过滤器内部对应不同输入特征图的卷积内核的重要性。
在本公开实施例中,计算卷积内核中各个元素绝对值之和,获取卷积内核的第一特征值用于表示卷积内核的稀疏特征。
示例性的,图3为本公开实施例提供的一种卷积内核元素的示意图,图中展示了一个卷积内核包括A1-A4四个元素,分别获取A1-A4的绝对值后进行求和得到的结果作为卷积内核的第一特征值,比如A1为-1,A2为1,A3为2和A4为-2,分别获取A1-A4的绝对值后进行求和得到的结果为1+1+2+2=6作为该卷积内核的第一特征值。
步骤202,根据预设算法基于卷积内核中各个元素,计算卷积内核的第一数据,以及基于卷积层中的其他卷积内核中各个元素,计算其他卷积内核对应的第二数据。
步骤203,分别计算第一数据与每个第二数据之间的距离,基于第一数据与第二数据之间的距离进行计算,获取卷积内核的第二特征值。
在本公开实施例中,预设算法可以根据应用场景需要选择设置,可以是第一范数算法也可以是第二范数算法等,作为一种示例,计算卷积内核中各个元素绝对值之和作为第一数据;作为另一种示例,计算卷积内核中各个元素的平方和然后求平方根作为第一数据。
同理,第二数据与第一数据相对应,基于卷积层中的其他卷积内核中各个元素,计算其他卷积内核对应的第二数据的方式也有很多种,比如计算其他卷积内核中各个元素绝对值之和作为第二数据;再比如计算每个其他卷积内核中各个元素的平方和然后求平方根作为第二数据等
在本公开实施例中,为了进一步提高计算效率和精确性,基于卷积层中的其他卷积内核中各个元素,计算其他卷积内核对应的第二数据,包括:确定卷积内核在所属过滤器中的目标通道索引值,获取卷积层其他过滤器中与目标通道索引值一致的候选卷积内核,基于候选卷积内核中各个元素,计算候选卷积内核对应的第二数据。
示例性的,图4为本公开实施例提供的一种过滤器和卷积内核的示意图,如图4所示包括过滤器1-4,每个过滤器包括3个卷积内核,比如卷积内核11,卷积内核11所属过滤器1中的目标通道索引值为S1,获取与目标通道索引值S1一致的候选卷积内核分别为卷积内核21、卷积内核31和卷积内核41。基于计算卷积内核11对应的第一数据的方式分别获取卷积内核21、卷积内核31和卷积内核41对应的第二数据。
在本公开实施例中,分别计算第一数据与每个第二数据之间的距离,基于第一数据与第二数据之间的距离进行计算,获取卷积内核的第二特征值,包括:分别计算第一数据与每个候选卷积内核对应的第二数据之间的距离,基于第一数据与每个候选卷积内核对应的第二数据之间的距离进行计算,获取卷积内核的第二特征值,其中,第二特征值表示卷积内核与候选卷积内核之间的差异特征,其中,候选卷积内核为卷积层中与目标通道索引值一致的其他卷积内核。
继续以上述为例,计算卷积内核11对应的第一数据和卷积内核21对应的第二数据的距离、卷积内核11对应的第一数据和卷积内核31对应的第二数据的距离、以及卷积内核11对应的第一数据和卷积内核41对应的第二数据的距离,从而获取三个距离,从而对三个距离求和得到的结果作为卷积内核11的第二特征值。
其中,第一数据和第二数据之间的距离计算方式有很多种,举例而言,第一数据为卷积内核11中各个元素绝对值之和比如为2,三个第二数据为卷积内核21中各个元素绝对值之和比如为1、卷积内核31中各个元素绝对值之和比如为3、卷积内核41中各个元素绝对值之和比如为2,从而获取第一数据和第二数据之间的差值绝对值作为两者之间的距离,分别为1、2和0,并对三个距离进行求和得到3作为第二特征值。
可以理解的是,第二特征值越大表示卷积内核11与其他卷积内核的距离越远,该卷积内核与其他卷积内核之间的差异越大,从而表示该卷积内核越重要,第二特征值可以有效地衡量出不同过滤器的同-卷积内核的相对重要性。
步骤204、将第二特征值与预设系数相乘计算获取第一中间值,将第一中间值与预设常数相加计算获取第二中间值,将第二中间值与第一特征值相乘计算,将计算结果作为卷积内核的评估数据。
在本公开实施例中,对于卷积层,存在多个卷积内核,可以结合每个卷积内核的稀疏特征和差异特征实现从过滤器内部以及过滤器之间两个维度综合考虑每个卷积内核的评估数据。由此,进一步提高评估数据的精确性,从而后续基于评估数据更加精准筛选出目标卷积内核并进行剪枝处理。
其中,预设的系数和常数可以根据应用需要选择设置。
步骤205,根据剪枝组粒度以及卷积内核的评估数据,调整卷积内核在卷积层中的位置。
在本公开实施例中,可以通过预先设置阈值,使卷积内核组所包含的多个卷积内核的评估数据的差异小于预设的阈值从而保证剪枝处理的精确性。
具体地,可以基于剪枝组粒度比如四个卷积内核为一组,可以基于该四个卷积内核对应的评估数据进行差异计算,在差异大于等于预设阈值时,调整卷积内核在卷积层中的位置,以使卷积内核组所包含的多个卷积内核的评估数据的差异小于预设阈值。
步骤206、根据卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对卷积层中所有的卷积内核进行分组处理生成卷积内核组,其中,每个过滤器所包含的卷积内核数量相同,不同过滤器中位于相同通道位置的卷积内核用相同的通道索引值标识,任一个卷积内核组中的所有卷积内核的通道索引值相同。
步骤207,根据卷积内核组中所包含的所有卷积内核的评估数据,计算卷积内核组的组评估数据,根据所有卷积内核组的组评估数据筛选出目标卷积内核组,并对目标卷积内核组进行剪枝处理。
其中,剪枝组粒度根据应用场景需要设置,比如三个卷积内核为一组,四个卷积内核为一组等。
基于前述描述,基于评估数据更加精准筛选出目标卷积内核进行剪枝处理,可以在相同剪枝率的情况下带来额外的加速收益,但同时也带来了模型精度损失,这是由于一方面分组之后卷积核稀疏模式更具有规律性,信息熵减少;另一方面分组之后以组内卷积内核的评估数据之和作为该组所有卷积内核的分数可能会使连接的评分失真,例如一个组内的三个卷积内核分数特别低,但是一个卷积内核分数特别高,那么该卷积内核组的评估数据之和可能会使该卷积内核组被保留,这就导致三个未分组时本应该被剪掉的卷积内核被保留,同理也可能导致本应该被保留的卷积内核被剪掉。
为了使分组的卷积内核评分更准确,可以通过对过滤器重排的方式进行处理,使可替换性相同的过滤器的卷积内核组成一组避免出现评估失真,由此通过计算过滤器级别的评估数据对过滤器进行重排分组,以减少分组对精度的影响,保证高精度和高加速度收益。
示例性的,图5为本公开实施例提供的一种卷积内核分组的示意图,如图5所示,包括ABCDEFGH八个过滤器,每个过滤器包括6个卷积内核,图5中a展示了不同灰度表示基于第一特征值和第二特征值确定卷积内核的评估数据,b展示了经过重排以后的卷积内核,以及卷积内核的评估数据,c展示了重排后根据卷积内核组中所包含的所有卷积内核的评估数据,计算卷积内核组的组评估数据,根据所有卷积内核组的组评估数据筛选出目标卷积内核组,并对目标卷积内核组进行剪枝处理的结果,其中,白色区域为已进行剪枝处理的卷积内核组。
步骤208,通过目标神经网络对输入数据进行数据处理,其中,输入数据包括多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。
在本公开实施例中,经过剪枝处理后的目标神经网络可以快速对多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合进行处理,进一步提高数据处理的效率和精确性。
本公开实施例提供的神经网络的剪枝处理方案,计算卷积内核中各个元素绝对值之和,获取卷积内核的第一特征值;其中,第一特征值表示卷积内核的稀疏特征,根据预设算法基于卷积内核中各个元素,计算卷积内核的第一数据,以及基于卷积层中的其他卷积内核中各个元素,计算其他卷积内核对应的第二数据,分别计算第一数据与每个第二数据之间的距离,基于第一数据与第二数据之间的距离进行计算,获取卷积内核的第二特征值,将第二特征值与预设系数相乘计算获取第一中间值,将第一中间值与预设常数相加计算获取第二中间值,将第二中间值与第一特征值相乘计算,将计算结果作为卷积内核的评估数据,根据卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对卷积层中所有的卷积内核进行分组处理生成卷积内核组,其中,每个过滤器所包含的卷积内核数量相同,不同过滤器中位于相同通道位置的卷积内核用相同的通道索引值标识,任一个卷积内核组中的所有卷积内核的通道索引值相同,根据卷积内核组中所包含的所有卷积内核的评估数据,计算卷积内核组的组评估数据,根据所有卷积内核组的组评估数据筛选出目标卷积内核组,并对目标卷积内核组进行剪枝处理,根据剪枝组粒度以及卷积内核的评估数据,调整卷积内核在卷积层中的位置,以使卷积内核组所包含的多个卷积内核的评估数据的差异小于预设阈值。采用上述技术方案,可以基于卷积内核的稀疏特征和卷积内核与卷积层中的其他卷积内核之间的差异特征获取更加准确的目标卷积内核进行卷积处理,并且,通过计算过滤器级别的评估数据对过滤器进行重排分组,以减少分组对精度的影响,保证高精度和高加速度收益。
图6为本公开实施例提供的一种神经网络的剪枝处理装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。
如图6所示,该装置包括:
第一确定模块301,用于确定初始神经网络的卷积层中卷积内核的第一特征值;其中,所述第一特征值表示所述卷积内核的稀疏特征
第二确定模块302,用于确定卷积层中卷积内核的第二特征值,其中,述第二特征值表示所述卷积内核与所述卷积层中的其他卷积内核之间的差异特征;
评估模块303,用于基于所述第一特征值和所述第二特征值确定所述卷积内核的评估数据,其中,所述评估数据用于反映所述卷积内核在所述卷积层中的重要程度;
筛选剪枝模块304,用于根据所述卷积层中所有卷积内核的所述评估数据筛选出目标卷积内核,并对所述目标卷积内核进行剪枝处理获取目标神经网络。
可选的,所述第一确定模块301具体用于:
计算所述卷积内核中各个元素绝对值之和,获取所述卷积内核的第一特征值。
可选的,所述第二确定模块302包括:
第一计算单元,用于根据预设算法基于所述卷积内核中各个元素,计算所述卷积内核的第一数据;
第二计算单元,用于基于所述卷积层中的其他卷积内核中各个元素,计算所述其他卷积内核对应的第二数据;
第三计算单元,用于分别计算所述第一数据与每个所述第二数据之间的距离,用于基于所述第一数据与所述第二数据之间的距离进行计算,获取所述卷积内核的第二特征值。
可选的,所述第二计算单元具体用于:
确定所述卷积内核在所属过滤器中的目标通道索引值;
获取所述卷积层其他过滤器中与所述目标通道索引值一致的候选卷积内核;
基于所述候选卷积内核中各个元素,计算所述候选卷积内核对应的第二数据;
所述第三计算单元具体用于:
分别计算所述第一数据与每个所述候选卷积内核对应的第二数据之间的距离;
基于所述第一数据与每个所述候选卷积内核对应的第二数据之间的距离进行计算,获取所述卷积内核的第二特征值,其中,所述第二特征值表示所述卷积内核与所述候选卷积内核之间的差异特征,其中,所述候选卷积内核为所述卷积层中与所述目标通道索引值一致的其他卷积内核。
可选的,所述评估模块303具体用于:
将所述第二特征值与预设系数相乘计算获取第一中间值;
将所述第一中间值与预设常数相加计算获取第二中间值;
将所述第二中间值与所述第一特征值相乘计算,将计算结果作为所述卷积内核的评估数据。
可选的,所述筛选剪枝模块304具体用于:
根据所述卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对所述卷积层中所有的卷积内核进行分组处理生成卷积内核组,其中,每个所述过滤器所包含的卷积内核数量相同,不同过滤器中位于相同通道位置的卷积内核用相同的通道索引值标识,任一个所述卷积内核组中的所有卷积内核的通道索引值相同;
根据所述卷积内核组中所包含的所有卷积内核的评估数据,计算所述卷积内核组的组评估数据;
根据所有所述卷积内核组的组评估数据筛选出目标卷积内核组,并对所述目标卷积内核组进行剪枝处理。
可选的,所述装置还包括:
调整模块,用于根据所述剪枝组粒度以及所述卷积内核的评估数据,调整所述卷积内核在所述卷积层中的位置,以使所述卷积内核组所包含的多个卷积内核的评估数据的差异小于预设阈值。
可选的,所述装置还包括:
处理模块,用于通过所述目标神经网络对输入数据进行数据处理,其中,所述输入数据包括多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。
本公开实施例所提供的神经网络的剪枝处理装置可执行本公开任意实施例所提供的神经网络的剪枝处理方法,具备执行方法相应的功能模块和有益效果。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开任意实施例所提供的神经网络的剪枝处理方法。
图7为本公开实施例提供的一种电子设备的结构示意图。下面具体参考图7,其示出了适于用来实现本公开实施例中的电子设备400的结构示意图。本公开实施例中的电子设备400可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的神经网络的剪枝处理方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:在视频的播放过程中,接收用户的信息展示触发操作;获取所述视频关联的至少两个目标信息;在所述视频的播放页面的信息展示区域中展示所述至少两个目标信息中的第一目标信息其中,所述信息展示区域的尺寸小于所述播放页面的尺寸;接收用户的第一切换触发操作,将所述信息展示区域中展示的所述第一目标信息切换为所述至少两个目标信息中的第二目标信息。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,本公开提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开提供的任一所述的神经网络的剪枝处理方法。
根据本公开的一个或多个实施例,本公开提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开提供的任一所述的神经网络的剪枝处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (12)
1.一种神经网络的剪枝处理方法,其特征在于,包括:
确定初始神经网络的卷积层中卷积内核的第一特征值和第二特征值,其中,所述第一特征值表示所述卷积内核的稀疏特征,所述第二特征值表示所述卷积内核与所述卷积层中的其他卷积内核之间的差异特征;
基于所述第一特征值和所述第二特征值确定所述卷积内核的评估数据,其中,所述评估数据用于反映所述卷积内核在所述卷积层中的重要程度;
根据所述卷积层中所有卷积内核的所述评估数据筛选出目标卷积内核,并对所述目标卷积内核进行剪枝处理获取目标神经网络。
2.根据权利要求1所述的方法,其特征在于,所述卷积内核的第一特征值的确定过程包括:
计算所述卷积内核中各个元素绝对值之和,获取所述卷积内核的第一特征值。
3.根据权利要求1所述的方法,其特征在于,所述卷积内核的第二特征值的确定过程包括:
根据预设算法基于所述卷积内核中各个元素,计算所述卷积内核的第一数据,以及基于所述卷积层中的其他卷积内核中各个元素,计算所述其他卷积内核对应的第二数据;
分别计算所述第一数据与每个所述第二数据之间的距离;
基于所述第一数据与所述第二数据之间的距离进行计算,获取所述卷积内核的第二特征值。
4.根据权利要求3所述的方法,其特征在于,所述基于所述卷积层中的其他卷积内核中各个元素,计算所述其他卷积内核对应的第二数据,包括:
确定所述卷积内核在所属过滤器中的目标通道索引值;
获取所述卷积层其他过滤器中与所述目标通道索引值一致的候选卷积内核;
基于所述候选卷积内核中各个元素,计算所述候选卷积内核对应的第二数据;
所述分别计算所述第一数据与每个所述第二数据之间的距离,基于所述第一数据与所述第二数据之间的距离进行计算,获取所述卷积内核的第二特征值,包括:
分别计算所述第一数据与每个所述候选卷积内核对应的第二数据之间的距离;
基于所述第一数据与每个所述候选卷积内核对应的第二数据之间的距离进行计算,获取所述卷积内核的第二特征值,其中,所述第二特征值表示所述卷积内核与所述候选卷积内核之间的差异特征,其中,所述候选卷积内核为所述卷积层中与所述目标通道索引值一致的其他卷积内核。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第一特征值和所述第二特征值确定所述卷积内核的评估数据,包括:
将所述第二特征值与预设系数相乘计算获取第一中间值;
将所述第一中间值与预设常数相加计算获取第二中间值;
将所述第二中间值与所述第一特征值相乘计算,将计算结果作为所述卷积内核的评估数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述卷积层中所有卷积内核的所述评估数据筛选出目标卷积内核,并对所述目标卷积内核进行剪枝处理,包括:
根据所述卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对所述卷积层中所有的卷积内核进行分组处理生成卷积内核组,其中,每个所述过滤器所包含的卷积内核数量相同,不同过滤器中位于相同通道位置的卷积内核用相同的通道索引值标识,任一个所述卷积内核组中的所有卷积内核的通道索引值相同;
根据所述卷积内核组中所包含的所有卷积内核的评估数据,计算所述卷积内核组的组评估数据;
根据所有所述卷积内核组的组评估数据筛选出目标卷积内核组,并对所述目标卷积内核组进行剪枝处理。
7.根据权利要求6所述的方法,其特征在于,在所述根据所述卷积层中所有过滤器的位置信息、卷积内核在过滤器中的位置信息以及预设的剪枝组粒度,对所述卷积层中所有的卷积内核进行分组处理生成卷积内核组之前,还包括:
根据所述剪枝组粒度以及所述卷积内核的评估数据,调整所述卷积内核在所述卷积层中的位置,以使所述卷积内核组所包含的多个卷积内核的评估数据的差异小于预设阈值。
8.根据权利要求1-7任一所述的方法,其特征在于,还包括:
通过所述目标神经网络对输入数据进行数据处理,其中,所述输入数据包括多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。
9.一种神经网络的剪枝处理装置,其特征在于,包括:
第一确定模块,用于确定卷积层中卷积内核的第一特征值;其中,所述第一特征值表示所述卷积内核的稀疏特征
第二确定模块,用于确定卷积层中卷积内核的第二特征值,其中,述第二特征值表示所述卷积内核与所述卷积层中的其他卷积内核之间的差异特征;
评估模块,用于基于所述第一特征值和所述第二特征值确定所述卷积内核的评估数据,其中,所述评估数据用于反映所述卷积内核在所述卷积层中的重要程度;
筛选剪枝模块,用于根据所述卷积层中所有卷积内核的所述评估数据筛选出目标卷积内核,并对所述目标卷积内核进行剪枝处理。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-8中任一所述的神经网络的剪枝处理方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-8中任一所述的神经网络的剪枝处理方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如权利要求1-8任一项所述的神经网络的剪枝处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210345588.9A CN116933856A (zh) | 2022-03-31 | 2022-03-31 | 神经网络的剪枝处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210345588.9A CN116933856A (zh) | 2022-03-31 | 2022-03-31 | 神经网络的剪枝处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116933856A true CN116933856A (zh) | 2023-10-24 |
Family
ID=88388367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210345588.9A Pending CN116933856A (zh) | 2022-03-31 | 2022-03-31 | 神经网络的剪枝处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116933856A (zh) |
-
2022
- 2022-03-31 CN CN202210345588.9A patent/CN116933856A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021098362A1 (zh) | 视频分类模型构建、视频分类的方法、装置、设备及介质 | |
CN110378474A (zh) | 对抗样本生成方法、装置、电子设备和计算机可读介质 | |
CN112634928B (zh) | 声音信号处理方法、装置和电子设备 | |
CN111831855B (zh) | 用于匹配视频的方法、装置、电子设备和介质 | |
CN113449070A (zh) | 多模态数据检索方法、装置、介质及电子设备 | |
CN114420135A (zh) | 基于注意力机制的声纹识别方法及装置 | |
CN112241761B (zh) | 模型训练方法、装置和电子设备 | |
CN111915689B (zh) | 用于生成目标函数的方法、装置、电子设备和计算机可读介质 | |
CN112307243B (zh) | 用于检索图像的方法和装置 | |
CN112200183A (zh) | 图像处理的方法、装置、设备和计算机可读介质 | |
CN111797822A (zh) | 文字对象评价方法、装置和电子设备 | |
CN112561779A (zh) | 图像风格化处理方法、装置、设备及存储介质 | |
CN114972876A (zh) | 基于知识蒸馏技术的图像处理方法、装置、设备及介质 | |
CN116933856A (zh) | 神经网络的剪枝处理方法、装置、设备及介质 | |
CN113593527B (zh) | 一种生成声学特征、语音模型训练、语音识别方法及装置 | |
CN112766190B (zh) | 对抗样本生成方法、装置、存储介质及电子设备 | |
CN111582456B (zh) | 用于生成网络模型信息的方法、装置、设备和介质 | |
CN111680754B (zh) | 图像分类方法、装置、电子设备及计算机可读存储介质 | |
CN113987258A (zh) | 音频的识别方法、装置、可读介质和电子设备 | |
CN112035649A (zh) | 问答模型处理方法、装置、计算机设备及存储介质 | |
CN113283115B (zh) | 图像模型生成方法、装置和电子设备 | |
CN111950572A (zh) | 训练分类器的方法、装置、电子设备和计算机可读存储介质 | |
CN115565607B (zh) | 确定蛋白质信息的方法、装置、可读介质及电子设备 | |
CN111539524B (zh) | 轻量级自注意力模块和神经网络构架的搜索方法 | |
CN117114073A (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 |