掌桥专利:专业的专利平台
掌桥专利
首页

一种自动分组的多尺度轻量型深度卷积神经网络优化方法

文献发布时间:2023-06-19 11:32:36


一种自动分组的多尺度轻量型深度卷积神经网络优化方法

技术领域

本发明属于进化深度卷积神经网络结构优化技术研究领域,具体涉及一种自动分组的多尺度轻量型深度卷积神经网络优化方法。

背景技术

深度卷积神经网络(DCNN)是深度神经网络(DNN)的一种,因为其表现出色的特征提取能力而在计算机视觉(CV)和图像处理领域得到了广泛的应用和发展。卷积神经网络(CNN)是最合适的图像内容表示学习算法之一,并在图像分割、目标检测以及图像分类任务中表现出优秀的性能。例如,在图像分类任务中,从1995年LeNet的问世,到2012年AlexNet在ImageNet挑战赛上表现突出,再到2015年VGGNet,ResNet的提出和2016年DenseNet逐渐展示出卷积神经网络的性能优势。然而,其网络结构复杂,参数量和计算量庞大的不足,导致深度卷积神经网络难以在移动端应用。因此,如何提高卷积神经网络的效率使其能够移植到移动端也成为研究者们致力研究的任务。

传统上,大多采用网络剪枝、减少网络层数、优化超参数以及优化网络结构减少网络参数量等简化神经网络的方法。大量的研究工作表明,网络结构的优化对提高卷积神经网络的效率具有重要意义。2016年,SqueezeNet的提出使得轻量化神经网络的研究成为研究者们关心的课题。轻量型深度卷积神经网络的结构设计则是从网络结构的优化方面进行研究的,其主要分为深度可分离卷积和分组卷积两种方法。可分离卷积是将卷积运算分成两层及以上的卷积运算,先将少量卷积与数据进行卷积运算,然后采用1*1的点卷积运算,将输出结构还原为输入结构。例如,轻量型深度可分离网络MobileNet的基本单元可分为深度卷积和逐点卷积两部分。深度卷积对每个输入通道采用不同的卷积核,每个通道之间相互独立,能够在一定程度上减少计算量。分组卷积方法包括多分辨率卷积核分组、多尺度分组以及多通道分组等,通过平衡计算量和表现性能进行设计和应用。例如2017年,ShuffleNet将轻量化模型与压缩模型的方法相结合,在原始ResNet的基础上,采用通道重组、分组卷积和深度卷积进行改进。通过多尺度分组的方式能够在一定程度上将计算量和参数量降低。

目前,在深度卷积网络结构优化设计方面主要分为手动、半自动半手动以及自动设计三大类。传统的网络采用手动的方式设计,但需要专家根据领域知识设计。半自动网络结构设计也需要一定的专业知识进行调整。例如,遗传卷积神经网络(Genetic CNN)、模块设计方法(Block-QNN-S)、分层表示方法以及高级神经体系结构搜索方法(NSANet),都需要一定的专业知识帮助设计。自动网络结构设计及优化方法,无需任何人工干预和手动调整。例如,大规模进化方法以及笛卡尔遗传规划方法等,不需要专家和先验知识可以搜索出针对特定问题或任务最匹配的结构。现阶段为止,绝大多数自动设计网络结构和参数的方法都是基于进化算法的。

进化算法是一种群智能优化方法,该方法不需要领域知识,通过模拟生物的演化过程设计,目的在于寻找特定优化问题的最优解决方案。主流的进化算法包括差分进化、粒子群优化、遗传算法、人工蜂群算法、蚁群算法、教与学算法以及正余弦优化算法等。目前,在神经网络结构设计和搜索方面使用较多的是遗传算法和粒子群优化算法。2020年,孙亚楠等人利用遗传算法的编码性质,将不同的模块和潜在的最优卷积深度编码到个体上,设计出可变长度的基因编码策略,通过变异、交叉和选择,自动演化深度卷积神经网络的结构和连接权重。通过使用遗传算法优化后的卷积神经网络的性能得到一定程度的提升,依然存在由于变长编码策略使其交叉过程的设计具有困难度较高,且交叉过程本身是为定长编码设计的,因此,由变长编码交叉后的子代可能具有多样性不足的局限性。2020年,一种自动搜索卷积神经网络结构的粒子群优化算法被提出,通过更新粒子速度和位置,自动搜索以达到网络结构加速优化的目的,该方法不需要变异和交叉过程,因此,不需要考虑粒子编码长度不一致的情况。正余弦算法也是一种直接通过种群中个体位置的更新并且没有变异和交叉过程,使用起来更加简单和方便,从而在决策空间中搜索最优值的方法。

发明内容

本发明提出一种自动分组的多尺度轻量型深度卷积神经网络优化方法,其主要目标是改进传统的轻量级深度卷积神经网络的特征融合模块,使其针对不同的深度学习问题或任务,能构建与之最佳匹配的通道分组比例,从而达到增加网络的性能和计算代价的目的。

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

一种自动分组的多尺度轻量型深度卷积神经网络优化方法,采用了对称正余弦优化算法对原有基于非均匀分组的多尺度轻量型卷积神经网络中的多尺度卷积模块的通道分组比例进行优化改进,具体步骤包括:

步骤1:采用对称正余弦算法进行演化搜索得到待评价种群;

步骤2:对步骤1搜索到的待评价种群,使用多尺度轻量型卷积神经网络在图像分类任务上进行适应度评价,得到被评价后的种群,图像分类任务是指采用公用图像分类数据集CIFAR-10作为训练数据集和测试数据集;

步骤3:将步骤2中得到的被评价后的种群中最好的个体解码得到最终的网络模型SCA_MblockNet,并进行模型性能评估。

进一步地,步骤1所述的采用对称正余弦算法进行演化搜索的具体做法为:

步骤1.1:种群初始化,针对待确定的多尺度轻量型卷积模块中的分组比例问题,对进化算法中的种群的个体进行编码,并设置个体的初始适应度值为0,并随机初始化最佳个体;

步骤1.2:实例化处理,将待提高的网络分类性能表现看作待优化的目标,设计出需要优化的目标函数,根据实际情况对原有对称正余弦算法位置更新公式中的参数进行设置,以更适合待解决问题的需求,确定评价指标是将个体解码后得到的卷积神经网络的性能表现作为个体的适应度评价指标;

步骤1.3:种群更新,使用对称正余弦算法在决策空间中搜索最佳的决策变量,根据对称正余弦算法中的位置变化公式更新个体在决策空间中的位置,检查个体更新后的每一维是否超过设定的边界值,若超过则使用镜像对称的方式进行越界处理;

步骤1.4:网络训练及测试,使用每个个体对应的网络在图像分类任务上进行训练和测试,并得到对应的训练时间和分类精度;

步骤1.5:环境选择,根据个体的适应度选出下一代个体,根据适应度值选出最优个体Gbest;

步骤1.6:判断是否满足预先设定的误差精度或最大迭代次数,若不满足,则返回种群更新,否则,输出待评价种群P。

进一步地,步骤2所述的使用多尺度轻量型卷积神经网络进行适应度评价具体做法为:

步骤2.1:输入待评价种群P;

步骤2.2:对于待评价种群中的每个个体执行解码,将图像分类数据集CIFAR-10的一部分,作为待评价种群的训练数据集D

步骤2.3:解码,将解码后的个体信息加入到神经网络的结构中,得到具有新的多尺度分组卷积模块的网络;

步骤2.4:网络训练,将得到的带有新的多尺度分组卷积模块SCA_Mblock1和SCA_Mblock2的网络对特定的图像数据集进行训练,得到带有新的多尺度分组卷积模块SCA_Mblock1和SCA_Mblock2的网络的训练精度、训练损失以及训练后的临时网络模型;

步骤2.5:网络测试,将训练后的临时网络模型处理特定的图像分类问题得到网络的测试精度和测试损失,同时,记录每个个体执行步骤2所需评价时间time_cost,并将评价时间time_cost和测试精度存储到个体的第7维和第8维中;

步骤2.6:输出被评价过的种群。

进一步地,步骤3所述将最后得到的网络模型SCA_MblockNet进行模型性能评估具体做法为:

步骤3.1:将步骤2中得到的被评价后的种群中最优的个体解码,将解码后的个体信息加入到神经网络的结构中,得到带有新的多尺度分组卷积模块的网络;

步骤3.2:网络训练,将得到的带有新的多尺度分组卷积模块的网络对特定的图像数据集进行训练,得到带有新的多尺度分组卷积模块的网络的训练精度、训练损失以及训练后的网络模型SCA_MblockNet;

步骤3.3:网络测试,将训练后的网络模型SCA_MblockNet处理特定的图像分类问题得到网络的测试精度和测试损失。

进一步地,步骤1.1所述种群初始化的具体做法为:

步骤1.1.1:输入种群规模N,个体的维度D,设置N的值为20,D的值为8,设置初始个体计数器的值为0,将设计的轻量型深度卷积神经网络中的第一个多尺度卷积模块SCA_Mblock1中3个待搜索的比例系数作为个体的第1-3个维度上对应的值,将第二个多尺度卷积模块SCA_Mblock2的3个比例系数作为个体的第4-6维对应的值,将训练网络所需要的时间代价作为个体的第7维,将网络得到的图像分类精度作为个体的第8维,并将第7维和第8维均置为0;

步骤1.1.2:个体计数器值加1,并判断个体数是否大于等于N,若不是,则返回步骤1.1.1;若是,则停止操作,输出初始化后的种群。

进一步地,步骤1.2所述实例化处理的具体做法为:

将双目标优化问题转化为带约束的单目标优化问题进行求解,其中,将网络训练的时间代价不超过预先设定的阈值作为约束条件,将分类精度作为目标优化,原始对称正余弦算法公式如下式(1)至式(3)所示:

其中,t是当前迭代的次数,T

基础对称正余弦算法流程是,输入初始化后的种群,根据适应度值评价种群中的每个个体,找到种群中适应度值最好的个体Gbest,使用式(1)和(2)更新种群中个体的位置,使用式(3)更新参数,判断是否满足设定的停机条件,若满足则停止;若不满足,则继续找到种群中适应度值最好的个体Gbest,使用式(1)和(2)更新种群中个体的位置,使用式(3)更新参数;最后,输出当前搜索到的全局最优解,实例化后的对称正余弦公式如式(4)和式(5)所示:

其中,除a的取值变为1外,其他参数设置均与原始的对称正余弦算法一致。

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

本发明采用了对称正余弦算法对多尺度特征融合卷积模块的通道分组比例进行改进,以搜索出针对特定问题或任务最匹配的轻量化深度卷积神经网络,使性能和效率得到提高。该发明优化过程不需要考虑交叉过程中的变长编码的情况,而是可以直接使用位置的更新在决策空间中自动搜索到与特定任务相关的最佳匹配分组,其两个多尺度分组卷积模块SCA_Mblock1和SCA_Mblock2的最佳分组通道数分别为50,1,45和132,15,93。本发明在CIFAR-10数据集上进行了实验,结果表明,使用本发明构建的网络SCA_MblockNet在无需领域知识和人工干预的情况下,能将原有卷积神经网络在图像分类数据集上测试150代的平均分类精确度提高2.56%,以及最大精度提高2.26%,与8个同类竞争者DenseNet、IGCV、MobileNet_v1、MobileNet_v2、MobileNet_v3_large、MobileNet_v3_small、ShuffleNet_v1、ShuffleNet_v2以及原始的多尺度轻量型卷积神经网络M_blockNet_v1相比其网络性能具有显著优势。本发明还具有可移植性和扩展性,对于具有多尺度分组卷积模块的网络模型具有同样的优化效果。

附图说明

图1是本发明第一个多尺度卷积模块SCA_Mblock1的通道数示意图;

图2是本发明第二个多尺度卷积模块SCA_Mblock2的通道数示意图;

图3是本发明的总体流程框图。

具体实施方式

在下面结合附图对本发明的方法进行具体说明。

如图3所示,一种自动分组的多尺度轻量型深度卷积神经网络优化方法,具体步骤包括:

步骤1,采用对称正余弦算法进行演化搜索得到待评价种群;

步骤1具体做法为:

步骤1.1:种群初始化,针对待确定的多尺度轻量型卷积模块中的分组比例问题,对进化算法中的种群的个体进行编码,并设置个体的初始适应度值为0,并随机初始化最佳个体;

步骤1.1.1:输入种群规模N,个体的维度D,这里设置N的值为20,D的值为8,设置初始个体计数器的值为0,将设计的轻量型深度卷积神经网络中的第一个卷积模块中3个待搜索的比例系数作为个体的第1-3个维度上对应的值。同理,将第二个卷积模块的3个比例系数作为个体的第4-6维对应的值。将训练网络所需要的时间代价作为个体的第7维,将网络得到的图像分类精度作为个体的第8维,并将第7维和第8维均置为0。

步骤1.1.2:个体计数器值加1,并判断个体数是否大于等于N。若不是,则返回步骤1.1.1;若是,则停止操作,输出初始化后的种群。

步骤1.2:实例化处理,将待提高的网络分类性能表现看作待优化的目标,设计出需要优化的目标函数,根据实际情况对原有对称正余弦算法位置更新公式中的参数进行设置,以更适合待解决问题的需求,确定评价指标是将个体解码后得到的卷积神经网络的性能表现作为个体的适应度评价指标;

为了方便计算和简化问题,将双目标优化问题转化为带约束的单目标优化问题进行求解,其中,将网络训练的时间代价不超过预先设定的阈值作为约束条件,将分类精度作为目标优化。原始对称正余弦算法公式如下式(1)至式(3)所示:

其中,t是当前迭代的次数,T

基础对称正余弦算法流程是,输入初始化后的种群,根据适应度值评价种群中的每个个体。找到种群中适应度值最好的个体Gbest,使用式(1)和(2)更新种群中个体的位置,使用式(3)更新参数,判断是否满足设定的停机条件,若满足则停止;若不满足,则继续找到种群中适应度值最好的个体Gbest,使用式(1)和(2)更新种群中个体的位置,使用式(3)更新参数。最后,输出当前搜索到的全局最优解。实例化后的对称正余弦公式如式(4)和式(5)所示:

其中,除a的取值变为1外,其他参数设置均与原始的对称正余弦算法一致。

步骤1.3:种群更新,使用对称正余弦算法在决策空间中搜索最佳的决策变量,根据对称正余弦算法中的位置变化公式(4)和公式(5)更新个体在决策空间中的位置,检查个体更新后的每一维是否超过设定的边界值,若超过则使用镜像对称的方式进行越界处理;

根据待搜索的卷积模块的分组比例的性质,确定搜索空间在区间[0,1]上。因此,为了缩小搜索范围,加快收敛速度,设置公式(3)中参数a的值为1。在实际的网络结构设计中,由于卷积模块中的通道数必须为正整数。因此,设定个体每个维度对应的边界值,这里设置前6个维度的下界l为0.015,上界u为0.9,且必须满足第1-3维度上对应的值和为1,第4-6维度上对应的值和为1的约束。同时,对每一维上搜索到的数值根据实际的通道数量取整,使用的网络中第一个多尺度卷积模块SCA_Mblock1通道数为96,即乘96取整,第二个多尺度卷积模块SCA_Mblock2通道数为240,即乘240取整。由于搜索空间为正数区间,因此不必搜索负数区间,因此将原有的对称正余弦算法中位置更新公式添加取绝对值的操作,使公式(4)和公式(5)中的决策变量x

步骤1.4:网络训练及测试,使用每个个体对应的网络在图像分类任务上进行训练和测试,并得到对应的训练时间和分类精度;

步骤1.5:环境选择,根据个体的适应度选出下一代个体,根据适应度值选出最优个体Gbest;

步骤1.6:判断是否满足预先设定的误差精度或最大迭代次数,若不满足,则返回种群更新,否则,输出待评价种群P。

步骤2,使用步骤1搜索到的待评价种群,使用多尺度轻量型卷积神经网络在图像分类任务上进行适应度评价,得到被评价后的种群,这里的图像分类任务是指采用公用图像分类数据集CIFAR-10作为训练和测试数据集;

步骤2具体做法为:

步骤2.1:输入待评价种群P;

步骤2.2:对于种群中的每个个体执行解码,将图像分类数据集CIFAR-10的一部分,作为待评价种群的训练数据集D

步骤2.3:解码,将解码后的个体信息加入到神经网络的结构中,得到具有新的多尺度分组卷积模块的网络;

步骤2.4:网络训练,将得到的带有新的多尺度分组卷积模块SCA_Mblock1和SCA_Mblock2)的网络对特定的图像数据集进行训练,得到带有新的多尺度分组卷积模块SCA_Mblock1和SCA_Mblock2)的网络的训练精度、训练损失以及训练后的临时网络模型;

步骤2.5:网络测试,将训练后的临时网络模型处理特定的图像分类问题得到网络的测试精度和测试损失,同时,记录每个个体执行步骤2所需评价时间time_cost,并将评价时间time_cost和测试精度存储到个体的第7维和第8维中;

步骤2.6:输出被评价过的种群。

步骤3,将步骤2中所述的被评价后的种群中最好的个体解码得到最终的网络模型SCA_MblockNet,并进行模型性能评估。

步骤3具体做法为:

步骤3.1:解码最优个体信息,将解码后的个体信息加入到神经网络的结构中,得到具有新的多尺度分组卷积模块的网络;

步骤3.2:网络训练,将得到的带有新的多尺度分组卷积模块的网络对特定的图像数据集进行训练,得到带有新的多尺度分组卷积模块的网络的训练精度、训练损失以及训练后的网络模型SCA_MblockNet;

步骤3.3:网络测试,将训练后的网络模型SCA_MblockNet处理特定的图像分类问题得到网络的测试精度和测试损失。

将最后得到的模型,具有如附图1和附图2所示的多尺度卷积网络模块的卷积神经网络模型SCA_MblockNet进行模型性能评估时采用整个图像分类数据集CIFAR-10进行实验。CIFAR-10数据集是用于计算机视觉领域的图像分类数据集,主要包括飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、船和卡车10个类别,共6万张彩色图像,尺寸均为32*32像素,其包含5个训练批次和1个测试批次,每个批次有1万张图像。同时将其他9个同类网络模型在该数据集上进行150代测试对比实验。在CIFAR-10数据集上测试150代的平均分类精度和最佳分类精度表现如表1所示。

表1测试150代时的模型性能对比

表1中,10种网络模型中的性能表现最高的平均测试精度为79.41%,150代中最佳的测试精度为83.87%。由表1中数据可知,使用本发明得到的网络SCA_MblockNet与原始的基于非均匀分组的轻量型卷积神经网络M_blockNet_v1相比,在图像分类数据集CIFAR-10上的平均性能和最佳性能得到一定提升,与其他8个同行竞争者相比具有明显优势。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 一种自动分组的多尺度轻量型深度卷积神经网络优化方法
  • 一种轻量多尺度的生物医学图像分割方法
技术分类

06120112965359