CN109583586B - 一种语音识别或图像识别中的卷积核处理方法及装置 - Google Patents
一种语音识别或图像识别中的卷积核处理方法及装置 Download PDFInfo
- Publication number
- CN109583586B CN109583586B CN201811482784.0A CN201811482784A CN109583586B CN 109583586 B CN109583586 B CN 109583586B CN 201811482784 A CN201811482784 A CN 201811482784A CN 109583586 B CN109583586 B CN 109583586B
- Authority
- CN
- China
- Prior art keywords
- convolution kernel
- pruning
- neural network
- matrix
- convolution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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
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
本申请实施例公开了一种卷积核处理方法及装置,首先根据卷积神经网络中卷积核的尺寸确定目标剪枝模板,该目标剪枝模板中包括剪枝矩阵,该剪枝矩阵包括0和1;然后从目标剪枝模板中确定目标剪枝矩阵,并利用该目标剪枝矩阵对卷积核进行剪枝处理,即将保留目标剪枝矩阵中为1的位置对应的卷积核,舍弃目标剪枝矩阵中为0的位置对应的卷积核。其中保留的卷积核为对输出结果存在较大影响的卷积核,舍弃的卷积核为对输出结果不会造成影响的卷积核。可见,通过定义剪枝模板,解决了传统剪枝算法中由于剪枝位置随机导致内存读取的碎片化,进而影响数据读取速度以及计算性能的问题,从而提高数据读取性能,改善卷积神经网络的运算性能。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种卷积核处理方法及装置。
背景技术
随着深度学习的不断发展,越来越受到计算机视觉、自然语言处理以及语音识别等众多领域的重视,尤其是卷积神经网络。其中,卷积神经网络内部包括多个卷积核,以利用多个卷积核对输入数据进行特征提取,进而利用提取的特征获取结果。一般来讲,卷积核越多,提取的特征越多,最终所获得结果越精确。然而,卷积核增多时,导致计算量较大,所消耗的计算资源也在增加,使得计算效率较低。因此,如何在不影响输出结果准确性的前提下,对卷积核进行处理以减少计算量是亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种卷积核处理方法及装置,以实现在不影响输出结果的条件下,减少计算量、提高计算速度。
为解决上述问题,本申请实施例提供的技术方案如下:
在本申请实施例的第一方面,提供了一种卷积核处理方法,所述方法包括:
根据卷积核尺寸确定目标剪枝模板;所述目标剪枝模板中包括至少一个剪枝矩阵;所述剪枝矩阵包括0和1,所述剪枝矩阵中1依次相连;所述剪枝矩阵中1的数量小于所述卷积核尺寸且不小于1;
从所述目标剪枝模板中确定目标剪枝矩阵;
根据所述目标剪枝矩阵对所述卷积核进行剪枝处理,将目标剪枝矩阵中为1的位置对应的卷积核保留,为0的位置对应的卷积核舍弃。
在一种可能的实现方式中,所述方法还包括:
对所述卷积核的权重进行初始化,目标剪枝矩阵中为1的位置对应的所述卷积核权重设置为原始值,目标剪枝矩阵中为0的位置对应的所述卷积核权重值设置为0;
根据卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出损失量;
判断所述输出损失量是否小于或等于预设阈值;
如果是,保存所述卷积神经网络中所述卷积核的权重。
在一种可能的实现方式中,当所述输出损失量大于预设阈值时,所述方法还包括:
根据所述输出损失量以及所述卷积神经网络结构进行反向传播计算,获得所述卷积核权重变化量;
根据所述目标剪枝矩阵以及所述卷积核权重变化量对所述卷积核权重进行更新;
根据所述卷积神经网络结构以及所述卷积核权重再次进行前向传播计算,获得输出损失量。
在一种可能的实现方式中,所述根据所述目标剪枝矩阵以及所述卷积核权重变化量对所述卷积核权重进行更新,包括:
将所述卷积核权重变化量与所述卷积核权重的原始值之和作为所述卷积核更新后的原始值。
在一种可能的实现方式中,所述根据卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出损失量,包括:
根据所述卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出结果;
将所述卷积神经网络结构对应的标准输出结果与所述输出结果之差作为所述卷积神经网络的输出损失量。
在一种可能的实现方式中,所述保存所述卷积神经网络中所述卷积核的权重,包括:
根据所述目标剪枝矩阵进行数据压缩,保存不为0的所述卷积核的权重。
在一种可能的实现方式中,所述剪枝矩阵中1的数量等于所述卷积核尺寸减1后的一半。
在本申请实施例的第二方面,提供了一种卷积核处理装置,所述装置包括:
第一确定单元,用于根据卷积核尺寸确定目标剪枝模板;所述目标剪枝模板中包括至少一个剪枝矩阵;所述剪枝矩阵包括0和1,所述剪枝矩阵中1依次相连;所述剪枝矩阵中1的数量小于所述卷积核尺寸且大于1;
第二确定单元,从所述目标剪枝模板中确定目标剪枝矩阵;
处理单元,用于根据所述目标剪枝矩阵对所述卷积核进行剪枝处理,将目标剪枝矩阵中为1的位置对应的卷积核保留,为0的位置对应的卷积核舍弃。
在一种可能的实现方式中,所述装置还包括:
初始化单元,用于对所述卷积核的权重进行初始化,目标剪枝矩阵中为1的位置对应的所述卷积核权重设置为原始值,目标剪枝矩阵中为0的位置对应的所述卷积核权重值设置为0;
第一计算单元,用于根据卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出损失量;
判断单元,用于判断所述输出损失量是否小于或等于预设阈值;
保存单元,用于当所述判断单元的判断结果为是时,保存所述卷积神经网络中所述卷积核的权重。
在一种可能的实现方式中,所述装置还包括:
第二计算单元,用于当所述判断单元的判断结果为所述输出损失量大于预设阈值时,根据所述输出损失量以及所述卷积神经网络结构进行反向传播计算,获得所述卷积核权重变化量;
更新单元,用于根据所述目标剪枝矩阵以及所述卷积核权重变化量对所述卷积核权重进行更新,并继续利用所述第一计算单元获得输出损失量。
在一种可能的实现方式中,所述更新单元,具体用于将所述卷积核权重变化量与所述卷积核权重的原始值之和作为所述卷积核更新后的原始值。
在一种可能的实现方式中,所述第一计算单元,包括:
第一计算子单元,用于根据所述卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出结果;
第二计算子单元,用于将所述卷积神经网络结构对应的标准输出结果与所述输出结果之差作为所述卷积神经网络的输出结果。
在一种可能的实现方式中,所述保存单元,具体用于根据所述目标剪枝矩阵进行数据压缩,保存所述卷积核权重不为0的所述卷积核的权重。
在一种可能的实现方式中,所述剪枝矩阵中1的数量等于所述卷积核尺寸减1后的一半。
在本申请实施例的第三方面,提供了一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行第一方面所述的卷积核处理的方法。
在本申请实施例的第四方面,还提供一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行第一方面所述的卷积核处理的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例首先根据卷积神经网络中卷积核的尺寸确定目标剪枝模板,该目标剪枝模板中包括剪枝矩阵,该剪枝矩阵包括0和1;然后从目标剪枝模板中确定目标剪枝矩阵,并利用该目标剪枝矩阵对卷积核进行剪枝处理,即保留目标剪枝矩阵中为1的位置对应的卷积核,舍弃目标剪枝矩阵中为0的位置对应的卷积核。其中保留的卷积核为对输出结果存在较大影响的卷积核,舍弃的卷积核为对输出结果不会造成影响的卷积核,从而实现了在不影响输出结果准确性的条件下,减少计算量,提高计算速度。而且,目标剪枝矩阵中1依次相连,从而使得保留的卷积核参数相连,解决了因卷积核参数分散导致读取数据时间较长,进一步提高计算效率。
附图说明
图1为本申请实施例提供的一种卷积核处理方法的流程图;
图2为本申请实施例提供的剪枝模板示例图;
图3为本申请实施例提供的另一种卷积核处理方法的流程图;
图4为本申请实施例提供的一种卷积核处理装置的结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为便于理解本申请实施例提供的技术方案,下面将先对本申请的背景技术进行说明。
发明人在对传统的卷积核剪枝处理方法研究中发现,传统的卷积核处理方法采用随机剪枝进行处理,而随机剪枝导致处理后的卷积核随机性较大,可能会使得影响数据结果准确性的卷积核被剪枝。而且,随机剪枝也会使得被剪枝后的卷积核参数较为分散,影响读取参数速率,进而导致计算速度较慢。
基于此,本申请实施例提供了一种卷积核处理方法及装置,本申请提供了目标剪枝模板,该目标剪枝模板可以包括至少一个剪枝矩阵,该剪枝矩阵包括0和1。当需要对卷积核进行处理时,根据卷积核尺寸确定目标剪枝模板,并从目标剪枝模板中确定目标剪枝矩阵,然后利用该目标剪枝矩阵对卷积核进行处理,将目标剪枝矩阵中为1的位置对应的卷积核保留下,目标剪枝矩阵中为0的位置对应的卷积核舍弃,从而实现了基于剪枝模板对卷积核剪枝的目的。可见,本申请提供的卷积核处理方法,通过定义剪枝模板,解决了传统剪枝算法中由于剪枝位置随机导致内存读取的碎片化,进而影响数据读取速度以及计算性能的问题,从而提高数据读取性能,改善神经网络的运算性能。
为便于本申请提供的技术方案,下面先对本申请中所涉及的技术名词进行解释说明。
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,包括卷积层(convolutional layer)和池化层(pooling layer)。其中,卷积层用于提取输入数据的特征,卷积层数越多提取的特征越多,从而使得输出结果越精确。但当卷积层越多时,会导致计算的数据量递增,增大计算压力。
剪枝,是指剪去卷积神经网络中不重要的部分,减小网络结构的尺寸,简化网络的结构。在具体实施时,首先通过设定规则,查找到要减去的网络结构,然后将该部分网络结构剪去。需要说明的是,被剪去的部分网络结构不会对卷积神经网络的最终输出结果造成较大影响。在剪去该部分结构后,整个网络性能会受到部分影响,因此需要重新训练,恢复卷积神经网络的性能。
剪枝模板,为根据设定规则,生成的用于对卷积神经网络的卷积核进行剪枝的模板。该剪枝模板可以包括至少一个剪枝矩阵,在实际应用时,利用剪枝矩阵确定部分卷积核保留、部分卷积核被剪去。
前向传播算法,顾名思义,是由前往后进行的一个算法,即将输入数据输入至卷积神经网络中,获得输出;在进行前向传播算法获得的输出值,难免和实际值会有很大的偏差,此时需要对卷积神经网络中权重进行优化,此时就需要使用反向传播算法,通过反向传播算法获得权重的变化量,并根据变化量对权重进行更新,以使得最终训练的卷积神经网络的输出值与实际值相差较小。
下面将结合附图对本申请实施例提供的卷积核处理方法进行说明。
参见图1,该图为本申请实施例提供的一种卷积核处理方法的流程图,如图1所示,该方法可以包括:
S101:根据卷积核尺寸确定目标剪枝模板。
本实施例中,首先需确定所使用的卷积神经网络中卷积核的尺寸,并根据该卷积核尺寸确定目标剪枝模板。
在实际应用中,用户可以根据自身需求选择不同尺寸的卷积核,常见的卷积核尺寸包括:3*3、5*5或7*7等,每个卷积核尺寸各自对应一个目标剪枝模板。该目标剪枝模板中包括至少一个剪枝矩阵;该剪枝矩阵包括0和1,剪枝矩阵中1依次相连,保证剪枝后的卷积核参数连续。且剪枝矩阵中1的数量小于卷积核尺寸且不小于1。
需要说明的是,剪枝矩阵大小与卷积核尺寸相同。例如,卷积核尺寸为3*3时,剪枝矩阵为3*3;卷积核尺寸为5*5时,剪枝矩阵为5*5;卷积核尺寸为7*7时,剪枝矩阵为7*7。另外,当剪枝矩阵为3*3,该剪枝矩阵中1的数量大于1且小于9;当剪枝矩阵为5*5,该剪枝矩阵中1的数量大于1且小于25;当剪枝矩阵为7*7,该剪枝矩阵中1的数量大于1且小于49。
在具体实现时,为避免剪枝矩阵中1的数量较少时,影响剪枝后卷积神经网络的输出结果准确性,通常将剪枝矩阵中1的数量为不小于卷积核尺寸减1后一半且小于卷积核尺寸,即剪枝矩阵中1的数量至少等于卷积核尺寸减1后的一半。例如,当剪枝矩阵为3*3,剪枝矩阵中1的数量为4;当剪枝矩阵为5*5,剪枝矩阵中1的数量为12。
为便于理解剪枝矩阵的特征,下面以卷积核尺寸为3*3对应的目标剪枝模板为例,参见图2,共包括6个剪枝矩阵,每个剪枝矩阵中包括4个1,且1均相连。
需要说明的是,在实际应用中,剪枝模板中剪枝矩阵中1也可以不必相连,但为减少随机剪枝导致的数据分散,应尽量使得剪枝矩阵中为1的位置相连。
S102:从目标剪枝模板中确定目标剪枝矩阵。
本实施例中,当确定目标剪枝模板后,从该目标剪枝模板中确定剪枝所需的目标剪枝矩阵,以便利用目标剪枝矩阵对卷积核进行剪枝处理。
在实际应用中,可以设定随机选择规则,从目标剪枝模板中随机选择其中一个剪枝矩阵确定为目标剪枝矩阵。也可以由用户预先设定选择规则,按照预设规则从目标剪枝模板中选择一个剪枝矩阵为目标剪枝矩阵。
S103:根据目标剪枝矩阵对卷积核进行剪枝处理,将目标剪枝矩阵中为1的位置对应的卷积核保留,为0的位置对应的卷积核舍弃。
本实施例中,当确定目标剪枝矩阵后,利用该目标剪枝矩阵对卷积核进行剪枝处理。具体为,将目标剪枝矩阵中为1的位置对应的卷积核保留,为0的位置对应的卷积核舍弃,从而实现剪枝的目标,减少卷积核数量,进而减少计算量。
通过上述实施例可知,本申请实施例首先根据卷积神经网络中卷积核的尺寸确定目标剪枝模板,该目标剪枝模板中包括剪枝矩阵,该剪枝矩阵包括0和1;然后从目标剪枝模板中确定目标剪枝矩阵,并利用该目标剪枝矩阵对卷积核进行剪枝处理,即将保留目标剪枝矩阵中为1的位置对应的卷积核,舍弃目标剪枝矩阵中为0的位置对应的卷积核。其中,保留的卷积核为对输出结果存在较大影响的卷积核,舍弃的卷积核为对输出结果不会造成影响的卷积核,从而实现了在不影响输出结果准确性的条件下,减少计算量,提高计算速度。而且,目标剪枝矩阵中1依次相连,从而使得保留的卷积核参数相连,解决了因卷积核参数分散导致读取数据时间较长,进一步提高计算效率,改善卷积神经网络的运算性能。
可以理解的是,当对卷积核进行剪枝处理后,剪枝后的卷积神经网络性能会受到影响,为保持网络的性能,需要对剪枝后的卷积神经网络进行训练。下面将结合附图对训练卷积神经网络进行说明。
参见图3,该图为本申请实施例提供的另一种卷积核处理方法的流程图,如图3所示,该方法可以包括:
S301:对卷积核的权重进行初始化,目标剪枝矩阵中为1的位置对应的卷积核权重设置为原始值,目标剪枝矩阵中为0的位置对应的卷积核权重值设置为0。
本实施例中,为实现对卷积神经网络的训练,首先对各个卷积核的权重进行初始化,将确定目标剪枝矩阵中为1的位置对应的卷积核权重设置为原始值,即被保留下的卷积核权重值保持原来的初始值不变,而目标剪枝矩阵中为0的位置对应的卷积核权重值设置为0,即被舍弃的卷积核权重设置为0。也就是,在训练时,不需要训练卷积核权重为0的卷积核,减少计算量。
S302:根据卷积神经网络结构以及卷积核权重进行前向传播计算,获得卷积神经网络的输出损失量。
本实施例中,当初始化卷积核权重后,根据卷积神经网络结构以及卷积核权重进行前向传播计算,以获得该卷积神经网络的输出损失量。
在具体实现时,获取一组训练数据,将该训练数据输入该剪枝后的卷积神经网络中。然后,利用该剪枝后的卷积神经网络结构以及卷积核权重进行前向传播计算,获得该卷积神经网络对于该训练数据的输出结果;然后将卷积神经网络结构对应的标准输出结果与输出结果相减,二者差值作为该卷积神经网络的输出损失量。
在实际训练中,训练数据包括输入数据和输出数据,该输出数据即为该输入数据对应的标准输出结果,当将输入数据输入至剪枝后的卷积神经网络后,该卷积神经网络可以获得输出结果,然后将该输出数据与输出结果相减,获得二者之间的差值,即为该神经网络的输出损失量。
S303:判断输出损失量是否小于或等于预设阈值;如果是,则执行S306;否则,执行S304。
本实施例中,当获得第一训练时该卷积神经网络对应的输出损失量后,判断该输出损失量是否小于或等于该预设阈值,该预设阈值为预先设定的输出损失量最大值,如果S302所获得的输出损失量小于或等于预设阈值,表明剪枝后的卷积神经网络的性能在可接受的范围内,对输出结果的准确性影响不大,可以应用,则执行S306;如果输出结果损失量大于预设阈值,表明剪枝后的神经网络性能较差,对输出结果准确性影响较大,则需要继续进行训练,调整卷积核权重,则执行S304。
S304:根据输出损失量以及卷积神经网络结构进行反向传播计算,获得卷积核权重变化量。
本实施例中,当利用剪枝后的卷积神经网络获得输出损失量大于预设阈值时,表明该卷积神经网络的性能还有待提高,则需要对卷积核中的权重进行调整,则根据输出损失量以及卷积神经网络结构进行反向传播计算,获得该卷积神经网络中的各个卷积核权重变化量,以利用该权重变化量对卷积核权重进行调整。
S305:根据目标剪枝矩阵以及卷积核权重变化量对卷积核权重进行更新,继续执行S302。
本实施例中,当通过反向传播计算获得各个卷积核权重变化量时,根据目标剪枝矩阵对卷积核权重进行更新。
可以理解的是,由于目标剪枝矩阵中为1的位置对应的卷积核为保留下的,因此,只需更细该部分的卷积核权重。在具体实现时,将卷积核权重变化量与卷积核权重的原始值相加,将二者的和值作为卷积核更新后的原始值。也就是,只需更新有原始值的卷积核,为0的卷积核权重无需更新。
例如,某卷积核权重原始值为p0,变化量为Δp,则更新后的该卷积核的权重原始值为p=p0+Δp。
S306:保存卷积神经网络中卷积核的权重。
本实施例中,当确定剪枝后的卷积神经网络的输出损失量小于或等于预设阈值时,表明该卷积神经网络可靠,则保存该卷积神经网络中各个卷积核的权重以及该卷积神经网络的结构,以便进行后续的使用。
在实际应用时,为节省保存所占用的存储资源,可以先根据目标剪枝矩阵对数据进行压缩,仅保存不为0的卷积核权重,不保存卷积核权重为0的部分,从而减少存储量。
通过上述实施例可知,当对卷积核剪枝后,还可以对剪枝后的卷积神经网络进行训练,以保持剪枝后的卷积神经网络的性能,使得该卷积神经网络对输出结果不会造成影响。而且,训练时,无需对剪枝后的卷积核进行训练,减少了计算量,提高训练速度。
另外,当训练完成卷积神经网络后,可以直接利用该卷积神经网络进行语音、图像等识别。由于该卷积神经网络中部分卷积核被剪枝,因此,在进行卷积计算前,可以根据目标剪枝矩阵准备数据,减少数据准备量。例如,图2中剪枝矩阵2,仅2、3、4、5位置为1,则可以只准备该位置对应的卷积数据,减少数据准备量,提高运算效率。
基于上述方法实施例,本申请还提供了一种卷积核处理装置,下面将结合附图对该装置进行说明。
参见图4,该图为本申请实施例提供的一种卷积核处理装置结构图,该装置可以包括:
第一确定单元401,用于根据卷积核尺寸确定目标剪枝模板;所述目标剪枝模板中包括至少一个剪枝矩阵;所述剪枝矩阵包括0和1,所述剪枝矩阵中1依次相连;所述剪枝矩阵中1的数量小于所述卷积核尺寸且大于1;
第二确定单元402,从所述目标剪枝模板中确定目标剪枝矩阵;
处理单元403,用于根据所述目标剪枝矩阵对所述卷积核进行剪枝处理,将目标剪枝矩阵中为1的位置对应的卷积核保留,为0的位置对应的卷积核舍弃。
在一种可能的实现方式中,所述装置还包括:
初始化单元,用于对所述卷积核的权重进行初始化,目标剪枝矩阵中为1的位置对应的所述卷积核权重设置为原始值,目标剪枝矩阵中为0的位置对应的所述卷积核权重值设置为0;
第一计算单元,用于根据卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出损失量;
判断单元,用于判断所述输出损失量是否小于或等于预设阈值;
保存单元,用于当所述判断单元的判断结果为是时,保存所述卷积神经网络中所述卷积核的权重。
在一种可能的实现方式中,所述装置还包括:
第二计算单元,用于当所述判断单元的判断结果为所述输出损失量大于预设阈值时,根据所述输出损失量以及所述卷积神经网络结构进行反向传播计算,获得所述卷积核权重变化量;
更新单元,用于根据所述目标剪枝矩阵以及所述卷积核权重变化量对所述卷积核权重进行更新,并继续利用所述第一计算单元获得输出损失量。
在一种可能的实现方式中,所述更新单元,具体用于将所述卷积核权重变化量与所述卷积核权重的原始值之和作为所述卷积核更新后的原始值。
在一种可能的实现方式中,所述第一计算单元,包括:
第一计算子单元,用于根据所述卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出结果;
第二计算子单元,用于将所述卷积神经网络结构对应的标准输出结果与所述输出结果之差作为所述卷积神经网络的输出结果。
在一种可能的实现方式中,所述保存单元,具体用于根据所述目标剪枝矩阵进行数据压缩,保存所述卷积核权重不为0的所述卷积核的权重。
在一种可能的实现方式中,所述剪枝矩阵中1的数量等于所述卷积核尺寸减1后的一半。
需要说明的是,本实施例中各单元或模块的实现,可以参见图1-图3的实现,本实施例在此不再赘述。
另外,本申请实施例还提供一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的卷积核处理的方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的卷积核处理的方法。
通过上述实施例可知,本申请实施例首先根据卷积神经网络中卷积核的尺寸确定目标剪枝模板,该目标剪枝模板中包括剪枝矩阵,该剪枝矩阵包括0和1;然后从目标剪枝模板中确定目标剪枝矩阵,并利用该目标剪枝矩阵对卷积核进行剪枝处理,即将保留目标剪枝矩阵中为1的位置对应的卷积核,舍弃目标剪枝矩阵中为0的位置对应的卷积核。其中保留的卷积核为对输出结果存在较大影响的卷积核,舍弃的卷积核为对输出结果不会造成影响的卷积核,从而实现了在不影响输出结果准确性的条件下,减少计算量,提高计算速度。而且,目标剪枝矩阵中1依次相连,从而使得保留的卷积核参数相连,解决了因卷积核参数分散导致读取数据时间较长,进一步提高计算效率,改善卷积神经网络的运算性能。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种卷积核处理方法,其特征在于,应用于语音识别或图像识别,所述方法包括:
根据卷积核尺寸确定目标剪枝模板;所述目标剪枝模板中包括至少一个剪枝矩阵;所述剪枝矩阵包括 0 和 1,所述剪枝矩阵中 1 依次相连;所述剪枝矩阵中 1 的数量小于所述卷积核尺寸且不小于 1;
从所述目标剪枝模板中确定目标剪枝矩阵;
根据所述目标剪枝矩阵对所述卷积核进行剪枝处理,将目标剪枝矩阵中为 1 的位置对应的卷积核保留,为 0 的位置对应的卷积核舍弃,其中,剪枝处理后的卷积核用于卷积神经网络中的卷积计算,所述卷积神经网络用于所述语音识别或所述图像识别。
2.根据权利要求 1 所述的方法,其特征在于,所述方法还包括:
对所述卷积核的权重进行初始化,目标剪枝矩阵中为 1 的位置对应的所述卷积核权重设置为原始值,目标剪枝矩阵中为 0 的位置对应的所述卷积核权重值设置为 0;
根据卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出损失量;
判断所述输出损失量是否小于或等于预设阈值;
如果是,保存所述卷积神经网络中所述卷积核的权重。
3.根据权利要求 2 所述的方法,其特征在于,当所述输出损失量大于预设阈值时,所述方法还包括:
根据所述输出损失量以及所述卷积神经网络结构进行反向传播计算,获得所述卷积核权重变化量;
根据所述目标剪枝矩阵以及所述卷积核权重变化量对所述卷积核权重进行更新;
根据所述卷积神经网络结构以及所述卷积核权重再次进行前向传播计算,获得输出损失量。
4.根据权利要求 3 所述的方法,其特征在于,所述根据所述目标剪枝矩阵以及所述卷积核权重变化量对所述卷积核权重进行更新,包括:
将所述卷积核权重变化量与所述卷积核权重的原始值之和作为所述卷积核更新后的原始值。
5.根据权利要求 2 至 4 任意一项所述的方法,其特征在于,所述根据卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出损失量,包括:
根据所述卷积神经网络结构以及所述卷积核权重进行前向传播计算,获得所述卷积神经网络的输出结果;
将所述卷积神经网络结构对应的标准输出结果与所述输出结果之差作为所述卷积神经网络的输出损失量。
6.根据权利要求 2 所述的方法,其特征在于,所述保存所述卷积神经网络中所述卷积核的权重,包括:
根据所述目标剪枝矩阵进行数据压缩,保存不为 0 的所述卷积核的权重。
7.根据权利要求 1 所述的方法,其特征在于,所述剪枝矩阵中 1 的数量等于所述卷积核尺寸减 1 后的一半。
8.一种卷积核处理装置,其特征在于,应用于语音识别或图像识别,所述装置包括:
第一确定单元,用于根据卷积核尺寸确定目标剪枝模板;所述目标剪枝模板中包括至少一个剪枝矩阵;所述剪枝矩阵包括 0 和 1,所述剪枝矩阵中 1 依次相连;所述剪枝矩阵中 1 的数量小于所述卷积核尺寸且大于 1;
第二确定单元,从所述目标剪枝模板中确定目标剪枝矩阵;
处理单元,用于根据所述目标剪枝矩阵对所述卷积核进行剪枝处理,将目标剪枝矩阵中为 1 的位置对应的卷积核保留,为 0 的位置对应的卷积核舍弃,其中,剪枝处理后的卷积核用于卷积神经网络中的卷积计算,所述卷积神经网络用于所述语音识别或所述图像识别。
9.一种计算机可读存储介质,其特征在于,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求 1-7 任一项所述的卷积核处理方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行权利要求 1-7 任一项所述的卷积核处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811482784.0A CN109583586B (zh) | 2018-12-05 | 2018-12-05 | 一种语音识别或图像识别中的卷积核处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811482784.0A CN109583586B (zh) | 2018-12-05 | 2018-12-05 | 一种语音识别或图像识别中的卷积核处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109583586A CN109583586A (zh) | 2019-04-05 |
CN109583586B true CN109583586B (zh) | 2021-03-23 |
Family
ID=65927150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811482784.0A Active CN109583586B (zh) | 2018-12-05 | 2018-12-05 | 一种语音识别或图像识别中的卷积核处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109583586B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188865B (zh) * | 2019-05-21 | 2022-04-26 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
CN110298348B (zh) * | 2019-06-12 | 2020-04-28 | 苏州中科天启遥感科技有限公司 | 遥感影像建筑物样本区域提取方法及***、存储介质、设备 |
CN113392953A (zh) * | 2020-03-12 | 2021-09-14 | 澜起科技股份有限公司 | 用于对神经网络中卷积层进行剪枝的方法和装置 |
CN111582446B (zh) * | 2020-04-28 | 2022-12-06 | 北京达佳互联信息技术有限公司 | 用于神经网络剪枝的***和神经网络的剪枝处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368885A (zh) * | 2017-07-13 | 2017-11-21 | 北京智芯原动科技有限公司 | 基于多粒度剪枝的网络模型压缩方法及装置 |
-
2018
- 2018-12-05 CN CN201811482784.0A patent/CN109583586B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368885A (zh) * | 2017-07-13 | 2017-11-21 | 北京智芯原动科技有限公司 | 基于多粒度剪枝的网络模型压缩方法及装置 |
Non-Patent Citations (2)
Title |
---|
"Structured Pruning of Deep Convolutional Neural Networks";Sajid Anwar;《arXiv》;20151229;摘要,第3.1节、第4节 * |
Sajid Anwar."Structured Pruning of Deep Convolutional Neural Networks".《arXiv》.2015, * |
Also Published As
Publication number | Publication date |
---|---|
CN109583586A (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109583586B (zh) | 一种语音识别或图像识别中的卷积核处理方法及装置 | |
CN107292352B (zh) | 基于卷积神经网络的图像分类方法和装置 | |
US20150019464A1 (en) | method and apparatus for supplying interpolation point data for a data-based function model calculation unit | |
JP6677419B2 (ja) | 音声対話方法及び装置 | |
CN111144561A (zh) | 一种神经网络模型确定方法及装置 | |
CN111176820A (zh) | 一种基于深度神经网络的边缘计算任务的分配方法及装置 | |
CN110705708A (zh) | 卷积神经网络模型的压缩方法、装置及计算机存储介质 | |
CN110321964B (zh) | 图像识别模型更新方法及相关装置 | |
CN110135681A (zh) | 风险用户识别方法、装置、可读存储介质及终端设备 | |
WO2024077981A1 (zh) | 一种自然语言处理方法、***、设备及存储介质 | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN112687266A (zh) | 语音识别方法、装置、计算机设备和存储介质 | |
WO2021056941A1 (zh) | 一种动态调整神经网络通道的方法、装置以及设备 | |
CN113241064A (zh) | 语音识别、模型训练方法、装置、电子设备和存储介质 | |
CN116126354A (zh) | 模型部署方法、装置、电子设备以及存储介质 | |
CN113128664A (zh) | 神经网络压缩方法、装置、电子设备及存储介质 | |
CN109871448B (zh) | 一种短文本分类的方法及*** | |
CN111881293A (zh) | 一种风险内容识别方法及装置、服务器、存储介质 | |
CN115170902B (zh) | 图像处理模型的训练方法 | |
CN115600693A (zh) | 机器学习模型训练方法、识别方法、相关装置及电子设备 | |
JP2020027604A (ja) | 情報処理方法、及び情報処理システム | |
WO2021238289A1 (zh) | 序列处理的方法与装置 | |
CN114723043A (zh) | 基于超图模型谱聚类的卷积神经网络卷积核剪枝方法 | |
CN113327194A (zh) | 图像风格迁移方法、装置、设备和存储介质 | |
CN111210009A (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 |