一种基于通道级剪枝神经网络的图像识别方法及系统

文档序号:28956356发布日期:2022-02-19 11:52阅读:84来源:国知局
一种基于通道级剪枝神经网络的图像识别方法及系统

1.本发明涉及图像处理技术领域,尤其涉及一种基于通道级剪枝神经网络的图像识别方法及系统。


背景技术:

2.深度学习(deep learning)是机器学习的一个分支,是一种以人工神经网络为架构,对资料进行表征学习的算法。深度学习的优势是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。至今已有数种深度学习框架,如卷积神经网络、深度置信网络和循环神经网络等。
3.近年来,深度神经网络有着飞速的发展,其应用尤为广泛,许多实验已经证明深度神经网络能够为许多的方向应用提供有效的解决方案,例如计算机视觉、自然语言处理、语音识别、情感分析、文本特征提取、生物信息学等领域。但为了达到更好的效果,目前深度神经网络层数增长较快,并且具有计算量大、参数多的特点,因此对计算设备的算力和存储容量要求比较高。
4.到目前为止,许多dnn加速和压缩方法已经被提出。这些方法包括低秩近似、权重量化、二值化网络、知识蒸馏、剪枝、轻量网络等,还有些需要专门的软硬件加速器以及编译优化等来提高运行速度,起到加速效果。
5.通道级剪枝方法是神经网络模型剪枝中最常用的压缩方法之一,其核心思想是,dnn通常被认为有许多参数是冗余的。通过对dnn进行通道剪枝,去掉一些不必要的或者是不太重要的通道,从而得到一个更紧凑的神经网络模型,由于剪枝后精度会有下降,需要再通过微调来对精度进行补偿。通道剪枝可以概括为三个步骤:(1)对初始dnn模型进行预训练;(2)对模型中的通道进行剪枝;(3)对剪枝后的模型进行微调。然而,针对于现有的部分平台或终端,需要对神经网络模型进行压缩,才能实现对图像的快速识别,因此大多数的通道级剪枝方法常常使用定义全局阈值的剪枝比例进行剪枝,往往将一些包含重要信息的通道剪掉,虽然能够将参数水平降低到理想状态,但这会导致剪枝过后精度的大幅下降,由此导致了对剪枝之后的神经网络模型进行微调之后精度也难以达到相应水平,进而导致图像识别的精度不高,图像识别结果准确率较低。


技术实现要素:

6.本发明为了解决上述问题,提出了一种基于通道级剪枝神经网络的图像识别方法及系统,本发明能够自动选取合适的剪枝比例,从而确保剪枝之后的神经网络精度损失不会大幅下降,有效提高图像识别精度。
7.根据一些实施例,本发明采用如下技术方案:
8.一种基于通道级剪枝神经网络的图像识别方法,包括:
9.获取图像数据集;
10.利用预训练的神经网络模型,得到图像识别结果;
11.其中,通过正态检验方法降低神经网络模型的精度损失,实现神经网络模型压缩。
12.进一步地,所述图像数据集包括微型图像数据集子集和计算机视觉数据集。
13.进一步地,所述神经网络模型的预训练包括,对神经网路模型的bn层进行l2正则化训练。
14.进一步地,所述l2正则化训练,目的是批量归一化bn层中的缩放因子,使其服从正态分布。
15.进一步地,所述通过正态检验方法降低神经网络模型的精度损失,包括通过jarque-bera正态检验方法进行神经网络通道的剪枝比例确定。
16.进一步地,所述通道的剪枝比例确定,包括剪掉缩放因子对应的通道及其输入输出连接。
17.进一步地,所述正态检验方法还用于检验图像数据集是否具有符合正态分布的偏度和峰度的拟合优度。
18.一种基于通道级剪枝神经网络的图像识别系统,包括:
19.数据获取模块,被配置为,获取图像数据集;
20.图像识别模块,被配置为,利用预训练的神经网络模型,得到图像识别结果;
21.其中,通过正态检验方法降低神经网络模型的精度损失,实现神经网络模型压缩。
22.一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于通道级剪枝神经网络的图像识别方法。
23.一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于通道级剪枝神经网络的图像识别方法。
24.与现有技术相比,本发明的有益效果为:
25.本发明将jarque-bera正态检验方法应用到通道级剪枝上边,并对bn层的缩放因子进行l2正则化训练,使其服从正态分布,然后使用jarque-bera正态检验方法计算出剪枝比例,从而剪掉缩放因子对应的通道及其输入输出连接,从而保证剪枝后的网络模型精度损失低,实现模型压缩,最终实现有效地提高图像识别精度,使得图像识别结果的准确率得到了显著提升。
附图说明
26.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。
27.图1是本实施例的流程图;
28.图2是本实施例的架构图。
具体实施方式:
29.下面结合附图与实施例对本发明作进一步说明。
30.应该指出,以下详细说明都是例示性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
31.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
32.实施例1.
33.如图1所示,一种基于通道级剪枝神经网络的图像识别方法,包括:
34.获取图像数据集;
35.利用预训练的神经网络模型,得到图像识别结果;
36.其中,通过正态检验方法降低神经网络模型的精度损失,实现神经网络模型压缩。
37.所述图像数据集包括微型图像数据集子集和计算机视觉数据集。
38.所述神经网络模型的预训练包括,对神经网路模型的bn层进行l2正则化训练。
39.所述l2正则化训练,目的是批量归一化bn层中的缩放因子,使其服从正态分布。
40.所述通过正态检验方法降低神经网络模型的精度损失,包括通过jarque-bera正态检验方法进行神经网络通道的剪枝比例确定。
41.所述通道的剪枝比例确定,包括剪掉缩放因子对应的通道及其输入输出连接。
42.所述正态检验方法还用于检验图像数据集是否具有符合正态分布的偏度和峰度的拟合优度。
43.具体的,
44.该方法包含两部分,首先使用l2正则化进行神经网络模型预训练,然后第二部分通过jarque-bera正态检验方法进行通道的剪枝比例确定,从而使剪枝之后的神经网络模型精度损失的更小。
45.第一部分:
46.首先确定bn层的缩放因子γ,然后对该缩放因子施加l2正则化,使其服从高斯分布,具体过程如公式(1)所示。
[0047][0048]
其中,x,y表示输入和输出,w表示权重,对于公式(1)中的g(γ),我们有
[0049][0050]
这被称为l2范数。
[0051]
目前bn层被用来实现快速收敛和更好的泛化性能。bn层使用小批量统计信息对内部激活进行标准化。假设xi和yi是bn层的输入和输出,bn层执行以下转换:
[0052][0053]
其中,μb和σb是输入激活的平均值和标准偏差值,γ和β是比例和位移。可以直接利用bn层中的γ作为缩放因子。
[0054]
根据公式(3),能够确定bn层中的缩放因子,然后对缩放因子施加l2正则化,使其
服从正态分布。
[0055]
第二部分,
[0056]
使用jarque-bera正态检验方法计算出剪枝比例,jarque-bera正态检验方法是对样本数据是否具有符合正态分布的偏度和峰度的拟合优度的检验。jarque-bera正态检验的公式如下所示:
[0057][0058]
其中,n为样本数量,s为样本的偏度,k为样本的峰度。
[0059]
通过jarque-bera正态检验方法计算出剪枝比例之后,按照比例剪掉缩放因子所对应的通道以及输入输出连接来达到模型压缩效果。
[0060]
最后,通过vggnet、resnet和densenet三个网络模型在imagenet,cifar-10以及cifar-100数据集上验证了本发明的方法,最终输出的参数量明显减少,输出的剪枝后的精度值比未剪枝前的精度值相比差别很小,这表明本发明的方法将模型剪枝的精度损失降到最低。
[0061]
cifar:cifar-10和cifar-100是8000万微型图像数据集的子集。它们由亚历克斯
·
克里日夫斯基、维诺德
·
奈尔和杰弗里
·
辛顿收集。两个cifar数据集都包含分辨率为32
×
32的自然图像。cifar-10来自10个类别,每个类包含6000张图像。测试图片50000张,测试图片10000张。cifar-100来自100个类别。每个类包含600张图像,包含500张训练图片和100张测试图片。
[0062]
imagenet:imagenet数据集是一个计算机视觉数据集,是由斯坦福大学的李飞飞教授带领创建。imagenet数据集包含120万个训练图像和10,000个类别的50,000个验证图像。
[0063]
实施例2.
[0064]
一种基于通道级剪枝神经网络的图像识别系统,包括:
[0065]
数据获取模块,被配置为,获取图像数据集;
[0066]
图像识别模块,被配置为,利用预训练的神经网络模型,得到图像识别结果;
[0067]
其中,通过正态检验方法降低神经网络模型的精度损失,实现神经网络模型压缩。
[0068]
实施例3.
[0069]
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行本实施例提供的一种基于通道级剪枝神经网络的图像识别方法。
[0070]
实施例4.
[0071]
一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行本实施例提供的一种基于通道级剪枝神经网络的图像识别方法。
[0072]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
[0073]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0074]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0075]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0076]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
[0077]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1