一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种减少参数数量的AlexNet模型架构的制作方法

2022-02-24 14:16:27 来源:中国专利 TAG:

一种减少参数数量的alexnet模型架构
技术领域
1.本发明属于卷积神经网络模型压缩技术领域,具体涉及一种减少参数数量的alexnet模型架构。


背景技术:

2.卷积神经网络具有平移不变性以及权值共享的结构,相比于传统算法,可避免复杂的数据预处理以及特征提取过程。目前卷积神经网络被广泛应用到各个领域,尤其在计算机视觉方面获得了巨大的成功。随着物联网技术的发展,很多设备需要智能处理图片或视频,具有精准目标识别功能的移动端在市场上具有巨大的需求潜力。移动端对网络模型参数敏感,然而近几年神经网络技术得到了快速的发展,目前关于神经网络的研究仍在增加神经网络模型的尺寸,卷积神经网络模型规模日益扩增,参数规模越来越大,需要消耗大量的计算和存储资源,使其难以集成到资源有限的移动终端内,例如手机、平板等。针对卷积神经网络模型参数规模越来越大导致难以在计算与存储资源有限的嵌入式设备上大规模部署的问题,降低参数规模的卷积神经网络模型压缩方法成为目前的研究热点。
3.卷积神经网络的主要结构包括输入图片、卷积层、激活函数、池化层以及全连接层。其中涉及参数运算的模块为卷积层以及全连接层。卷积神经网络模型参数压缩方法能很好的解决卷积神经网络庞大的参数量与有限的资源之间的矛盾,目前被广泛应用的模型参数压缩方法有深度压缩、权重参数量化、svd分解法等。深度压缩包含模型剪枝、量化训练和哈夫曼编码,研究人员经常协同使用这三种方法来减少神经网络的存储需求。但是采用剪枝方法进行模型压缩的程度也是有限的。权重参数量化可通过降低权重的精度达到降低资源消耗的目的。比如在常见的开发框架中,神经网络的激活和权重通常由浮点数据表示,采用低位定点数据甚至一小部分训练值代替浮点数据有助于减少神经网络处理系统的带宽和存储需求,缺点是数据精度的降低造成了分类准确率的降低,同时压缩效果很难有更高的提升。svd分解法则通过减少权重的数量达到降低资源消耗的目的。对于全连接层的权重矩阵w。一个m
×
n的权重矩阵w被大小为m
×
p的权重矩阵a和大小为p
×
n的权重矩阵b的乘积代替。虽然通过减小p的值达到了减少参数数量的目的,但并不能彻底解决全连接层参数众多而容易产生过拟合的问题。
4.目前广泛使用的参数压缩方法虽然都在一定程度上减少了网络的参数量,但是压缩效果很难有更高的提升。


技术实现要素:

5.本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种减少参数数量的alexnet模型架构,其在保证识别准确度的前提下能够大幅减少alexnet网络模型参数数量。
6.为解决上述技术问题,本发明采用的技术方案是:一种减少参数数量的alexnet模型架构,包括依次设置的输入图片、第一卷积层、第一激活函数、第一池化层、第二卷积层、
第二激活函数、第二池化层、第三卷积层、第三激活函数、第四卷积层、第四激活函数、第五卷积层、第五激活函数、全局平均池化层和全连接层。
7.上述的一种减少参数数量的alexnet模型架构,所述第二卷积层、第三卷积层、第四卷积层和第五卷积层均采用分组卷积的结构且均包括:输入特征图、将输入特征图分成的n组输入特征图组、以及卷积运算;其中,所述n的取值为大于2的自然数。
8.上述的一种减少参数数量的alexnet模型架构,所述卷积运算的运算公式为:
[0009][0010]
其中,s为矩阵c的行数,t为矩阵c的列数,矩阵c对应输出特征图,m为矩阵a的行数,n为矩阵a的列数,矩阵a对应卷积核,矩阵b对应输入特征图,i为取值为0~m-1的自然数,j为取值为0~n-1的自然数;
[0011]
上述的一种减少参数数量的alexnet模型架构,所述第一卷积层、第二卷积层、第三卷积层、第四卷积层和第五卷积层的卷积核大小均为3
×
3。
[0012]
上述的一种减少参数数量的alexnet模型架构,所述全局平均池化层包括输入特征图、全局平均计算和输出特征图。
[0013]
上述的一种减少参数数量的alexnet模型架构,所述第一激活函数、第二激活函数、第三激活函数、第四激活函数和第五激活函数均采用relu bn激活函数。
[0014]
本发明与现有技术相比具有以下优点:
[0015]
1、本发明通过分析alexnet网络模型的卷积层以及全连接层的参数特点分别提出对应的压缩方法,卷积层采用分组卷积的方法,采用全局平均池化层代替alexnet网络的两层全连接层,在保证识别准确度的前提下能够大幅减少alexnet网络模型参数数量。
[0016]
2、本发明的推广应用,能够减少卷积神经网络的参数数量,有助于将卷积神经网络集成到资源有限的移动终端内,例如手机、平板内等,有助于实现移动终端的功能拓展。
[0017]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0018]
图1为本发明alexnet模型架构的结构示意图;
[0019]
图2为本发明第二卷积层、第三卷积层、第四卷积层和第五卷积层的结构示意图;
[0020]
图3为本发明全局平均池化层的结构示意图。
[0021]
附图标记说明:
[0022]
201-输入图片;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
202-第一卷积层;
ꢀꢀꢀꢀꢀ
203-第一激活函数;
[0023]
204-第一池化层;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
205-第二卷积层;
ꢀꢀꢀꢀꢀ
206-第二激活函数;
[0024]
207-第二池化层;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
208-第三卷积层;
ꢀꢀꢀꢀꢀ
209-第三激活函数;
[0025]
210-第四卷积层;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
211-第五卷积层;
ꢀꢀꢀꢀꢀ
212-第五激活函数;
[0026]
213-全局平均池化
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
214-全连接层;
ꢀꢀꢀꢀꢀꢀꢀ
215-第四激活函数;层;
[0027]
300-输入特征图;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
301-第一组输入特征图组;
[0028]
302-第二组输入特征图组;
ꢀꢀꢀ
30n-第n组输入特征图组;
[0029]
310-卷积运算;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
401-输入特征图;
ꢀꢀꢀꢀꢀ
402-全局平均计算;
[0030]
403-输出特征图。
具体实施方式
[0031]
如图1所示,本发明的减少参数数量的alexnet模型架构,包括依次设置的输入图片201、第一卷积层202、第一激活函数203、第一池化层204、第二卷积层205、第二激活函数206、第二池化层207、第三卷积层208、第三激活函数209、第四卷积层210、第四激活函数215、第五卷积层211、第五激活函数212、全局平均池化层213和全连接层214。
[0032]
输入图片201(尺寸为32
×
32
×
3)首先进入第一卷积层202进行卷积层运算,卷积层运算的结果通过第一激活函数203(relu bn)处理后进入第一池化层204进行池化层运算;再进入第二卷积层205进行卷积层运算,卷积层运算的结果通过第二激活函数206(relu bn)处理后进入第二池化层207进行池化层运算;再进入第三卷积层208进行卷积层运算,卷积层运算的结果通过第三激活函数209(relu bn)激活;再进入第四卷积层210进行卷积层运算,卷积层运算的结果通过第四激活函数215(relu bn)激活;再进入第五卷积层211进行卷积层运算,卷积层运算的结果通过第五激活函数212(relu bn)激活;再依次进入全局平均池化层213和全连接层214处理后输出结果。
[0033]
本实施例中,如图2所示,所述第二卷积层205、第三卷积层208、第四卷积层210和第五卷积层211均采用分组卷积的结构且均包括:输入特征图300、将输入特征图300分成的n组输入特征图组、以及卷积运算310;其中,所述n的取值为大于2的自然数。
[0034]
具体实施时,如图2所示,n组所述输入特征图组分别为第一组输入特征图组301、第二组输入特征图组302、...、第n组输入特征图组30n,每组输入特征图组分别与对应的卷积核进行卷积运算,最后将结果输出。
[0035]
所述第二卷积层205、第三卷积层208、第四卷积层210和第五卷积层211均采用分组卷积的方法减少卷积层的参数量。
[0036]
本实施例中,所述卷积运算310主要是对输入特征图做二维卷积运算,即将卷积核与被卷积信号的对应项进行相乘后求和,所述卷积运算310的运算公式为:
[0037][0038]
其中,s为矩阵c的行数,t为矩阵c的列数,矩阵c对应输出特征图,m为矩阵a的行数,n为矩阵a的列数,矩阵a对应卷积核,矩阵b对应输入特征图,i为取值为0~m-1的自然数,j为取值为0~n-1的自然数;
[0039]
本实施例中,所述第一卷积层202、第二卷积层205、第三卷积层208、第四卷积层210和第五卷积层211的卷积核大小均为3
×
3。
[0040]
本实施例中,如图3所示,所述全局平均池化层213包括输入特征图401、全局平均计算402和输出特征图403。
[0041]
本实施例中,所述第一激活函数203、第二激活函数206、第三激活函数209、第四激活函数215和第五激活函数212均采用relu bn激活函数,即采用relu激活函数和bn(batch normalization,标准化)相结合的形式。
[0042]
所述全局平均池化层213用于代替传统alexnet网络中的两层全连接层来解决全连接层参数量大的问题。
[0043]
为了验证本发明的alexnet模型架构确实能够减少参数数量,进行了如下分析:
[0044]
一、关于本发明的卷积层采用分组卷积的方法能够减少参数数量的分析
[0045]
卷积层的卷积运算本质上就是大量的乘累加运算。假设一个卷积层的输入特征图的数量为p,输出特征图的数量为d,卷积核的大小为m
×
n,则该卷积层运算需要的权重参数数量s=p
×d×
(m
×
n) d。
[0046]
卷积层权重参数数量s与输入特征图的数量p、输出特征图的数量d以及卷积核大小(m和n)有关,因此可以通过减小卷积核的大小和减少输入输出特征图数量的方法来压缩模型参数。本发明在所述第一卷积层202、第二卷积层205、第三卷积层208、第四卷积层210和第五卷积层211均采用3
×
3的卷积核的情况下,再将所述第二卷积层205、第三卷积层208、第四卷积层210和第五卷积层211均采用分组卷积的结构,能够减少输入输出特征图的数量,从而有效减少了卷积层的参数量。
[0047]
以alexnet模型架构的第二卷积层205为例,第二卷积层205采用分组卷积的方法,组数为2,采用本发明的方法压缩前后的参数量对比如表1所示:
[0048]
表1 压缩前后的参数量对比表
[0049][0050]
从表1可以看出,采用分组卷积的方法,卷积层的参数量压缩了将近2倍。因此,本发明所述第二卷积层205、第三卷积层208、第四卷积层210和第五卷积层211均采用分组卷积的结构,能够有效减少参数数量。
[0051]
二、关于本发明采用全局平均池化层213代替alexnet网络的两层全连接层能够减少参数数量的分析
[0052]
全连接层运算是类似于卷积层的乘累加运算,权重参数矩阵包含参数众多,现有研究主要集中在如何实现并行优化,但无法解决全连接层参数众多的问题。全局平均池化算法是对最后一层特征图进行整张图的一个均值池化操作,每张特征图经过均值池化后形成一个特征点,所有特征点组成的特征向量被送入分类层中进行分类。通过全局平均池化层代替全连接层的方法可以大幅降低模型参数数量。
[0053]
现有alexnet模型的两层全连接层的参数量如表2所示:
[0054]
表2 现有alexnet模型的两层全连接层的参数量表
[0055]
输入参数量第一层全连接层2
×2×
2564198400第二层全连接层409616781312
[0056]
从表2可以看出,两层全连接层的参数总量达到了20979712,而本发明采用全局平均池化层213代替alexnet网络的两层全连接层后,全局平均池化层213不需要涉及任何的参数,可显著减少参数数量。
[0057]
为了验证本发明的alexnet模型架构的识别准确度,进行了试验验证,对现有alexnet模型及本发明的alexnet模型进行训练,现有alexnet模型测试准确度平均值达到
了74.43%,较为接近官方提供模型的测试准确度80.2%。而本发明的alexnet模型的测试准确度平均值达到了81.15%,测试准确度平均值提高了6%。
[0058]
综上所述,本发明针对卷积神经网络模型参数规模越来越大导致难以在计算与存储资源有限的嵌入式设备上大规模部署的问题,提出了采用分组卷积的方法减少卷积层参数量,同时采用全局平均池化层代替全连接层的方法来解决全连接层参数数量众多的问题。通过分析发现,卷积层参数量与输入输出特征图数量以及卷积核大小有关,而全连接层参数数量众多且难以大幅减少;本发明针对alexnet网络模型,通过分组卷积减少输入输出特征图数量,同时采用全局平均池化层代替全连接层的方法来解决全连接层参数数量众多的问题,提出了一种新的alexnet网络模型的架构,在保证alexnet网络识别准确度的前提下,能够大幅减少模型的参数量。
[0059]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0060]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0061]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0062]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0063]
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献