卷积-全连接参数置换与全连接神经元补偿的卷积神经网络设计方法与流程

文档序号:18902200发布日期:2019-10-18 22:05阅读:256来源:国知局
卷积-全连接参数置换与全连接神经元补偿的卷积神经网络设计方法与流程

本发明属于卷积神经网络设计领域,具体涉及卷积-全连接参数置换与全连接神经元补偿的卷积神经网络设计方法。



背景技术:

卷积神经网络近年来在各个研究领域都取得了较为突出的性能,它可以基于大量数据进行特征学习,并且分析这些特征完成分类、回归和强化决策等任务。因此,卷积神经网络优点在于能处理大数据,减少分析大数据特征工程的成本;同时,卷积神经网络解决问题往往省略很多传统机器学习算法不必要的中间步骤,更甚者能够实现端到端的输出,所以处理效率极高,速度较快。但是,卷积神经网络的计算需要依赖于较为高端的硬件计算平台。目前,卷积神经网络主要应用于计算机视觉图像处理、视频处理、自然语言处理、强化学习和模式识别等计算密集型算法。此外,在很多高性能计算的领域它也有所涉足,包括结构分析、大数据、云计算和工业工程等。

卷积神经网络的计算由一定深度阶层的卷积层、池化层和全连接层的运算堆叠而成,它可以对海量数据进行统一整理,高效学习,逐层提取数据表征进行学习分析,从而实现监督学习或非监督学习,完成分类或回归任务。相比于传统算法或者机器学习算法,它可以自动分析处理海量数据,无需人工预先定义一些特征后再对对象进行处理,处理速度快,处理效率高。当前卷积神经网络的设计趋势主要通过调整卷积神经网络的层数,卷积核大小,特征图通道大小和卷积计算方式等来支持不同的功能以及硬件实现,同时满足日益增加的性能需求。主流的卷积神经网络,例如lenet-5、alextnet、vggnet、googlenet、resnet、denselynet、nasnet等,都是通过更深的层数和更复杂的计算方式来提高精度。因此,卷积神经网络面临的挑战之一是:不断增加的深度和复杂度,使得卷积神经网络整体的参数量和计算量急剧增长。参数量过多,计算过于复杂,严重降低了损失函数收敛速度和模型的训练速度;同时,在硬件实施过程中会增加硬件的存储开销,例如,一些卷积神经网络的加速器仅仅存储参数就需要几十kb的内存大小;此外,卷积神经网络在硬件计算系统中实施,参数量过多会严重增加硬件访存的功耗,这种功耗与内存容量和访问次数有关,存储数据的物理结构(bit)需要存储区域,参数量或计算量过大,就需要占用更多的区域,访存就需要更多的通信成本,如图1所示,随着能源效率的提高,访存区域也在逐渐增大,几乎是卷积乘加操作的1000倍,近年来访存和alu-操作的存储比例,如图2所示,持续增长。



技术实现要素:

本发明的目的在于提供卷积-全连接参数置换与全连接神经元补偿的卷积神经网络设计方法,以克服现有卷积神经网络存在的不足,本发明使得轻量化卷积神经网络在硬件实施过程中,保证高能量效率的同时,降低访存功耗和片上存储的开销。

为达到上述目的,本发明采用如下技术方案:

卷积-全连接参数置换与全连接神经元补偿的卷积神经网络设计方法,所述卷积神经网络包括卷积层结构和全连接层结构,卷积神经网络的设计方法具体包括以下步骤:

步骤1:卷积-全连接参数置换

针对调整前的卷积神经网络,在卷积层结构中,增加每层卷积的卷积核大小,减少每层卷积的特征图通道的大小,以压缩全连接层结构中第1层全连接层的输入参数量,增加卷积层结构的参数占比,减少全连接层结构的参数占比;

步骤2:全连接层神经元补偿

针对调整前的卷积神经网络,在全连接层结构中,增加每层全连接层的神经元结点的数目,以提取更多的特征信息分析学习,补偿整个卷积神经网络的精度。

进一步地,步骤1中将每层卷积的卷积核大小调整为kernelsize+2n,其中:n=1,2,3…,kernelsize表示调整前的卷积核大小。

进一步地,kernelsize+2n的值不超过11。

进一步地,步骤1中将每层卷积的特征图通道大小调整为featuremaps-k,其中k=1,2,3…,featuremaps表示调整前的特征图通道大小。

进一步地,步骤2的全连接层结构中,除最后一层全连接层外,其余全连接层神经元结点数目调整后则为2a+b,2a为全连接层神经元结点调整前数目,b=1,2,3……,且全连接层结构总参数量小于调整前的全连接层结构总参数量。

进一步地,调整前的卷积神经网络为lenet-5,且lenet-5的卷积层结构共包含3层卷积,每层卷积的卷积核大小均为5*5,每层卷积的特征图通道大小分别为6,16,16,lenet-5神经元结点数目分别为120,84,2,其中2为2分类。

进一步地,步骤1中将每层卷积的卷积核大小调整为分别调整为7*7,7*7,9*9。

进一步地,步骤1中将每层卷积的特征图通道大小分别调整为6,8,3。

进一步地,步骤2中将全连接层的神经元结点增加至512,32,2,其中2为2分类。

与现有技术相比,本发明具有以下有益的技术效果:

本发明通过第一步卷积-全连接参数置换和第二步全连接层神经元补偿,减少了整个神经网络的参数量,达到卷积神经网络轻量化效果,并且因为有全连接神经元结点的适当补偿,提取到了更多的特征信息进行分析和学习作为补偿,所以不会损失太多精度,本发明设计的卷积神经网络在保持了良好精度的同时,压缩了参数量,使得整个卷积神经网络达到了轻量化效果。

在相同的数据集,学习率,训练迭代次数,训练批次大小的基准下,对比lenet-5与采用卷积-全连接参数置换与全连接层神经元补偿方法设计的轻量化卷积神经网络,如图4所示,结构置换导致卷积层结构参数占卷积神经网络整体参数的比例有所增加,但是全连接层结构的参数占卷积神经网络整体参数的比例有所下降,尤其全连接层结构第1层全连接层参数从11664下降到972。因此,就整体参数量而言,置换补偿后的轻量化神经网络比lenet-5减少了63%,从lenet-5的1410841减少到了519871,同时,lenet-5的测试精度大约是92%,而轻量化卷积神经网络的测试精度大约94%,测试精度无损失,甚至有提高。

附图说明

图1为cnn硬件处理器访存和mult/add计算操作空间示意图;

图2为访存/alu占比示意图;

图3为卷积神经网络卷积层结构、全连接层结构参数占比示意图,其中(a)lenet5卷积层结构和全连接层结构参数占总参数的比例;(b)alexnet卷积层结构和全连接层结构参数占总参数的比例;(c)vgg16卷积层结构和全连接层结构参数占总参数的比例;

图4为基于卷积-全连接参数置换与全连接层神经元补偿的举例示意图;

图5为轻量化卷积神经网络和lenet-5参数量对比图;

图6为卷积层结构参数量以及全连接层参数量占比图,其中(a)lenet5卷积层结构和全连接层结构参数占总参数的比例;(b)调整后的轻量级卷积神经网络卷积层结构和全连接层结构参数占总参数的比例。

具体实施方式

下面结合附图对本发明作进一步详细描述:

卷积-全连接参数置换与全连接神经元补偿的卷积神经网络设计方法。主要思路:卷积神经网络一般由两个主要结构组成,卷积层结构和全连接层结构,卷积层结构。首先,在卷积层结构,一般卷积核(kernelsize)大小都是奇数,例如3*3,5*5,适当增加卷积核大小,即:kernelsize+2n(n=1,2,3…),但是尽量控制调整后的卷积核大小不要超过11。同时,适当减少每层卷积的特征图通道(featuremaps)大小,即:featuremaps-k(k=1,2,3…),只需要保证卷积神经网络需求任务的精度。增加卷积核大小并且减少卷积特征图通道大小后,使得全连接层第1层输入层的参数量明显减少,即完成了卷积-全连接参数置换。其次,在全连接层结构,适当地补偿一些神经元结点来提取更多的信息做分析学习,全连接层结构,除最后一层全连接外,其余层神经元结点以2n(n=1,2,3…)增长,但是全连接层参数总量尽量小于调整前的全连接层参数量。综上,第1步卷积-全连接参数置换和第2步全连接层神经元补偿,减少了整个神经网络的参数量,达到卷积神经网络轻量化效果,并且因为有全连接神经元结点的适当补偿,提取到了更多的特征信息进行分析和学习作为补偿,所以不会损失太多精度。

如图4所示,在同一个基准数据集上,利用卷积-全连接参数置换与全连接层神经元补偿的卷积神经网络设计方法设计轻量化卷积神经网络与lenet-5作对比。图4中conv部分,lenet-5卷积层结构(一般研究者实现lenet-5为了便利也都会写成3层卷积),共3层卷积,每层卷积的卷积核大小均为5*5,特征图通道大小分别为6,16,16。采用卷积-全连接参数置换与全连接层神经元补偿方法设计轻量化卷积神经网络步骤如下:

首先,在卷积层结构,将每层卷积的卷积核大小分别调整为7*7,7*7,9*9,将每层卷积的特征图通道大小分别调整为6,8,3。图5展示了卷积-全连接参数置换后的轻量化卷积神经网络与lenet-5参数量取对数后的结果对比,lenet-5的全连接层结构,第1层全连接层输入参数量是11664;而轻量化卷积神经网络全连接层结构,第1层全连接层输入参数量减少到了972,二者对比,轻量化卷积神经网络第1层全连接层输入参数量几乎减少了11倍。同时,采用卷积-全连接参数置换的方法,压缩了全连接层结构的参数量,如图6所示,卷积层结构参数量而占比增加,全连接层结构参数量相对于整体参数量占比减少。而减少最为突出的是全连接层结构第1层全连接层的输入层的参数量,本发明压缩这一层参数量的另一个重要原因是,常见的卷积神经网络的硬件计算架构,例如内存计算架构,卷积计算的内存阵列都比较小,如果参数量过多会导致系统吞吐量过大,严重影响能量效率。

其次,如果只采用上一步的卷积-全连接参数置换设计轻量化卷积神经网络,会损失一定的训练和测试的精度,当学习率,训练迭代次数,训练批次大小相同时,只保留卷积层结构在同一基准数据集上测试和训练,观察结果,可以看出,当卷积核大小均为5*5,特征图通道分别为6,16,16时,测试精度大约到89.5%,而当卷积核大小增加为7*7,7*7,9*9,特征图通道大小分别调整为5,8,3时,测试精度大约到83.5%,精度损失约6%。因此,需要在全连接层结构,适当的补偿一些神经元来提取更多的特征信息做分析处理,从而对整个神经网络的精度进行补偿。如图4中fc部分,lenet-5神经元结点数目分别为120,84,2(2为2分类),采用全连接层神经元补偿方法补偿后的轻量化卷积神经网络,神经元节点数目分别为512,32,2(2为2分类),观察训练以及测试结果,精度没有损失甚至有提升。

综上,本发明提出的卷积-全连接参数置换与全连接层神经元补偿方法,属于卷积神经网络结构的设计范畴。采用本方法设计的卷积神经网络在保持了良好精度的同时,压缩了参数量,使得整个卷积神经网络达到了轻量化效果。在相同的数据集,学习率,训练迭代次数,训练批次大小的基准下,对比lenet-5与采用卷积-全连接参数置换与全连接层神经元补偿方法设计的轻量化卷积神经网络,如图6所示,结构置换导致卷积层结构参数占卷积神经网络整体参数的比例有所增加,但是全连接层结构的参数占卷积神经网络整体参数的比例有所下降,尤其全连接层结构第1层全连接层参数从11664下降到972。因此,就整体参数量而言,置换补偿后的轻量化神经网络比lenet-5减少了63%,从lenet-5的1410841减少到了519871。同时,lenet-5的测试精度大约是92%,而轻量化卷积神经网络的测试精度大约94%,测试精度无损失,甚至有提高。

本发明主要特点为:1、卷积-全连接参数置换方法,在卷积层结构,增加每层卷积的卷积核大小,减少每层卷积的特征图通道的大小,目的是压缩全连接层结构第1层全连接层的输入参数量,适当增加卷积层结构的参数占比,减少全连接层结构的参数占比;2、其次,在全连接层结构,适当增加全连接层的神经元结点的数目,以提取更多的特征信息分析学习,补偿整个卷积神经网络的精度。本发明具备以下优点:1、明显降低卷积神经网络整体参数量,达到轻量化目的;2、保持了轻量化卷积神经网络的精度;3、使得轻量化卷积神经网络在硬件实施过程中,保证高能量效率的同时,降低访存功耗和片上存储的开销。

下面结合具体实施例对本发明作进一步详细描述:

本发明提出卷积-全连接参数置换与全连接神经元补偿的卷积神经网络设计方法,设计卷积神经网络,具体实施过程,第1步,在卷积层结构,适当增加每层卷积的卷积核大小并且适当减少每层卷积特征图通达的大小,例如卷积核可由3*3或者5*5增加至7*7,9*9,11*11等,特征图通道可由32,64,128,512减少至8,16甚至4等,这样可以减少全连接层结构第1层全连接的参数,并且增加卷积层结构参数占卷积神经网络整体参数的比例,减少全连接层结构的参数占卷积神经网络整体参数的比例。第2步,在全连接层结构,适当增加全连接层的神经元结点数目,例如全连接层神经元可由120增加值512,甚至1024等,这样来提取更多更深的特征信息进行分析学习达到补偿一定精度的目的。

将本发明与现有方法的性能进行对比,一般以精度,参数量,计算复杂度为基准。采用本发明提出的卷积-全连接参数置换与全连接神经元补偿的方法,设计轻量化卷积神经网络,在相同数据集,学习率,迭代次数和处理批次的条件下,对比现有卷积神经网络的性能。对比卷积神经网络的配置参数如下:

本发明方法设计的轻量化卷积神经网络,与现有的卷积神经网络具体的性能对比结果如下所示。

可以看出,就整体参数量而言,轻量化卷积神经网络比lenet-5减少了63%,从lenet-5的1410841减少到了519871;就训练以及测试精度而言,轻量化卷积神经网络的测试精度大约94%,lenet-5的测试精度大约是92%,测试精度无损失,甚至高于lenet-5。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1