本发明专利技术公开了一种神经网络实时结构化剪枝的方法和系统,涉及人工智能技术领域。该方法包括:配置数据检测方案;计算本阶段输入数据并将计算结果写入存储单元;根据数据检测方案对计算结果进行检测,获得其数据特征;根据剪枝要求对数据特征进行判断,若数据特征满足剪枝要求,则对计算结果进行剪枝操作,且本阶段的该部分数据不参与后续运算;若数据特征不满足剪枝要求,则正常执行后续计算流程。本发明专利技术通过对输入数据进行实时结构化剪枝,降低了模型前向推理过程中的计算量,提高模型推理效率;本发明专利技术在数据写入存储单元的同时实现数据检测,不占用额外的数据访存时间;释放满足剪枝要求的数据所占的存储空间,减少推理过程中的运算空间需求。的运算空间需求。的运算空间需求。
【技术实现步骤摘要】
一种神经网络实时结构化剪枝的方法和系统
[0001]本专利技术属于人工智能
,尤其涉及一种神经网络实时结构化剪枝的方法和系统。
技术介绍
[0002]神经网络模型在计算机视觉、语音识别等应用中发挥着重要作用。虽然神经网络模型是一种高效的数据处理方法,可以自动学习数据间的关联特征。但神经网络模型的参数量大、计算量大,在嵌入式终端设备上部署时,推理计算的实时性较差。由于神经网络模型具有一定的冗余性,因此在能够保证神经网络模型准确度的前提下,压缩网络模型成为目前研究的热点。
[0003]剪枝操作是模型压缩的重要内容,通过对神经网络模型进行剪枝操作,可以减少神经网络模型前向推理所需的参数量、计算量。剪枝操作分为非结构化剪枝和结构化剪枝。其中非结构化剪枝操作可以对网络模型的参数进行更加精细化的处理。然而目前大多数深度学习框架和硬件无法加速稀疏矩阵的计算,如果要跳过剪枝后的参数,还要设计相关的索引模块,大大增加模型执行的复杂度。所以非结构化剪枝在实际运算时对加快计算速率作用较小,甚至不如剪枝前的计算速率快。结构化剪枝模型在网络结构上与传统模型没有差异,可以得到现成深度学习库的支持。在跳过剪枝结构时,所要生成的中间表示也更加便捷。因此,结构化剪枝是目前应用较多的剪枝技术。
[0004]剪枝操作的本质,是通过减少或跳过对计算结果影响小的计算步骤,从而达到减少计算量、加速模型计算的效果。由于计算结果是由输入数据和模型参数共同决定的,传统的剪枝操作主要为针对模型参数进行的剪枝处理,而针对输入数据的剪枝研究工作较少。通过对神经网络模型各阶段输入数据进行实时的结构化剪枝,能有效减少模型推理的计算量,加速计算速率。
技术实现思路
[0005]本专利技术的目的在于提供一种神经网络实时结构化剪枝的方法和系统,通过对神经网络模型各阶段输入数据进行实时的结构化剪枝,有效减少了模型推理的计算量,提高模型推理效率。
[0006]本专利技术的目的可以通过以下技术方案实现:
[0007]第一方面,本申请实施例提供了一种神经网络实时结构化剪枝的方法,包括以下步骤:
[0008]S101,配置数据检测方案;
[0009]S102,计算本阶段输入数据并将计算结果写入存储单元;
[0010]S103,根据所述数据检测方案对所述计算结果进行检测,并获得其数据特征;
[0011]S104,判断所述数据特征是否满足剪枝要求,若满足,则对所述计算结果进行剪枝操作;否则,将所述计算结果作为后续阶段输入数据,并执行步骤S105;
[0012]S105,重复执行步骤S101~步骤S104;
[0013]其中,所述步骤S102和步骤S103同时进行。
[0014]作为本专利技术的一种优选技术方案,在所述算法过程的不同阶段采用相同或不同的数据检测方案。
[0015]作为本专利技术的一种优选技术方案,计算单元从所述存储单元中读取本阶段的待计算数据,并将其作为所述本阶段输入数据进行计算。
[0016]作为本专利技术的一种优选技术方案,所述剪枝要求包括:所述数据检测方案包括方案一和方案二,根据模型精度的损失程度选择所述数据检测方案;其中,所述方案一为:检测所述计算结果是否全部为0;所述方案二为:检测所述计算结果的所述数据特征是否超过阈值,所述阈值包括第一阈值和第二阈值。
[0017]作为本专利技术的一种优选技术方案,所述数据特征包括:非0值的稀疏程度、最大值、最小值和均值。
[0018]作为本专利技术的一种优选技术方案,所述剪枝要求包括:要求一、要求二和要求三;其中,所述要求一为:所述计算结果均为0;所述要求二为:所述计算结果的最大值、最小值和均值未超过所述第一阈值;所述要求三为:所述非0值的稀疏程度未超过所述第二阈值。
[0019]作为本专利技术的一种优选技术方案,若所述数据特征满足所述剪枝要求,则释放本阶段数据占用的存储空间;其中,若所述本阶段数据满足所述剪枝要求并进行所述剪枝操作,则不执行后续阶段计算。
[0020]第二方面,本申请实施例提供了一种神经网络实时结构化剪枝的系统,包括计算单元、存储单元和数据检测单元;
[0021]所述计算单元,用于进行算法运算,包括相关设备和电路;其中,所述相关设备和电路具有处理算法的功能;
[0022]所述存储单元与所述计算单元连接,具有数据存储功能,用于对计算数据进行存储;其中,所述计算数据包括待计算数据、计算中间值和计算结果;
[0023]所述数据检测单元与所述计算单元连接,用于对所述计算单元输出的所述计算数据进行特征检测;
[0024]其中,将所述计算数据写入所述存储单元的操作与检测所述计算数据的操作同时进行。
[0025]作为本专利技术的一种优选技术方案,所述数据检测单元以独立单元的形式或者嵌入到所述计算单元、所述存储单元的形式进行数据检测。
[0026]本专利技术的有益效果为:
[0027]通过引入对各阶段输入数据进行实时结构化剪枝的操作,从而降低模型前向推理过程中的计算量,提高模型推理效率;
[0028]因为对输入数据进行剪枝会导致模型精度有不同程度的损失,因此通过配置不同的数据检测方案,根据所能接受模型精度的损失程度,选择各阶段的数据检测方案;
[0029]在计算数据写入存储单元的同时实现对计算数据的检测功能,不占用额外的数据访存时间,进一步加快数据处理效率;
[0030]通过对算法过程中各个阶段进行剪枝判断,将满足剪枝要求的这一阶段数据所占用的存储空间进行释放,减少模型推理过程中的数据运算空间需求,可以减少模型推理的
计算量,加速计算速率。
附图说明
[0031]为了更好的理解和实施,下面结合附图详细说明本申请的技术方案。
[0032]图1为本申请实施例提供的一种神经网络实时结构化剪枝方法的步骤流程图;
[0033]图2为本申请实施例提供的输入数据结构化剪枝后计算量示意图;
[0034]图3为本申请实施例提供的一种神经网络实时结构化剪枝系统的结构示意图;
[0035]图4为本申请另一种实施例提供的一种神经网络实时结构化剪枝系统的结构示意图。
具体实施方式
[0036]为更进一步阐述本专利技术为实现预定专利技术目的所采取的技术手段及功效,这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和系统的例子。
[0037]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种神经网络实时结构化剪枝的方法,其特征在于:将所述神经网络的算法过程拆解为若干阶段,所述方法包括如下步骤:S101,配置数据检测方案;S102,计算本阶段输入数据并将计算结果写入存储单元;S103,根据所述数据检测方案对所述计算结果进行检测,并获得其数据特征;S104,判断所述数据特征是否满足剪枝要求,若满足,则对所述计算结果进行剪枝操作;否则,将所述计算结果作为后续阶段输入数据,并执行步骤S105;S105,重复执行步骤S101~步骤S104;其中,所述步骤S102和步骤S103同时进行。2.根据权利要求1所述的一种神经网络实时结构化剪枝的方法,其特征在于:在所述算法过程的不同阶段采用相同或不同的数据检测方案。3.根据权利要求1所述的一种神经网络实时结构化剪枝的方法,其特征在于:计算单元从所述存储单元中读取本阶段的待计算数据,并将其作为所述本阶段输入数据进行计算。4.根据权利要求1所述的一种神经网络实时结构化剪枝的方法,其特征在于:所述数据检测方案包括方案一和方案二,根据模型精度的损失程度选择所述数据检测方案;其中,所述方案一为:检测所述计算结果是否全部为0;所述方案二为:检测所述计算结果的所述数据特征是否超过阈值,所述阈值包括第一阈值和第二阈值。5.根据权利要求4所述的一种神经网络实时结构化剪枝的方法,其特征在于:所述数据特征包括:非0值的...
【专利技术属性】
技术研发人员:杨清海,尹泽芃,
申请(专利权)人:西安电子科技大学广州研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。