基于代理辅助进化算法的卷积神经网络结构优化方法

文档序号:33713482发布日期:2023-04-01 02:05阅读:56来源:国知局
基于代理辅助进化算法的卷积神经网络结构优化方法

1.本发明属于智能优化领域,涉及一种卷积神经网络结构优化方法,具体涉及一种基于代理辅助进化算法的卷积神经网络结构优化方法。


背景技术:

2.卷积神经网络(convolutional neural network,cnn)是一种被广泛应用于计算机视觉、自然语言处理、语音识别和语义分析等领域的神经网络模型,它的基本结构由输入层、卷积层、池化层、全连接层及输出层构成。卷积层通过卷积操作提取特征,池化层通过降低特征面的分辨率来获得具有空间不变性的特征,常用的池化方法有最大池化和均值池化,全连接层可以整合具有类别区分性的特征信息。在全连接层中采用神经元随机失活(dropout)技术,降低网络复杂度,使神经元能够学习到更加鲁棒的特征。然而,卷积神经网络的结构设计是十分重要且困难的,不同的结构参数会对模型的性能产生很大的影响。当基于经验设计或经典的网络结构无法满足任务需求时,网络结构参数的优化研究十分重要。
3.例如华南理工大学与佛山市顺德致可智能科技有限公司在其申请的专利文献“一种基于pso的权值直接确定神经网络结构优化方法”(申请号:cn201811024634.5公开号:cn109344961a)中,公开了一种基于pso的权值直接确定神经网络结构优化方法,该方法将pso算法应用于优化网络结构,寻找神经网络最佳神经元数目,所训练的网络具有很强的逼近能力,实用价值高。但是,该方法的不足之处是,对神经元数量这个连续型结构参数进行优化,没有对激活函数类型等对网络模型有重要影响的离散型结构参数进行调优,因此最终优化后的网络预测性能提升有限。
4.又如西北工业大学在其申请的专利文献“基于预测机制和遗传算法融合的深度神经网络结构优化方法”(申请号:cn201910696239.x公开号:cn110490320a)中公开了一种基于预测机制和遗传算法融合的深度神经网络结构优化方法,用于解决现有网络结构搜索方法搜索效率低的技术问题。但是,该方法可以对卷积层的结构进行优化,但不优化全连接层的结构,因此最终优化后的网络预测性能提升有限,并且在遗传算法优化过程中,评估时训练和验证需要耗费大量时间,优化效率较低。


技术实现要素:

5.本发明的目的在于克服上述现有技术存在的不足,提出了一种基于代理辅助进化算法的卷积神经网络结构优化方法,用于解决现有技术中存在的网络预测性能提升有限和优化效率较低的技术问题。
6.为实现上述目的,本发明采取的技术方案包括如下步骤:
7.(1)获取训练样本集和验证样本集:
8.获取包括c类别的m幅图像,并对每幅图像的类别进行标注,然后将v幅图像及其对应的标签组成训练图像样本集d
train
,将其余m-v幅图像及其对应的标签组成验证图像样本
集d
val
,其中,c≥2,m≥50000,v》m/2;
9.(2)获取卷积神经网络的结构参数:
10.获取包括a个卷积层、b个池化层、e个全连接层的卷积神经网络模型o的结构参数为s,s包括由a个卷积层卷积核的数量、前e-1个全连接层神经元的数量和神经元随机失活率组成的连续型参数x,以及由a个卷积层卷积核的大小、使用的激活函数类型和b个池化层使用的池化函数类型组成的离散型参数z,其中,a≥1,b≥1,e≥2,x包含的参数数量为l=a+2e-2,z包含的参数数量为r=2a+b;
11.(3)初始化参数样本集和验证准确率集:
12.对结构参数s进行n次随机采样,并将随机采样得到的参数样本集s1={s1,s2,...,sn,...,sn}中的每一个参数样本sn作为卷积神经网络模型o的结构参数取值得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,并计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为sn对应的验证准确率fn,最后得到参数样本集s1对应的验证准确率集f1={f1,f2,...,fn,...,fn},其中n≥100,sn表示第n个参数样本,fn表示sn对应的验证准确率,e≥10;
13.(4)基于代理辅助进化算法对结构参数进行优化:
14.(4a)初始化迭代次数为t,最大迭代次数为t,t≥200,多样性阈值为τ,0《τ《1,种群为p
t
,并令t=1,p1=s1;
15.(4b)计算当前种群p
t
的多样性指标r
t
,并判断r
t
《τ是否成立,若是,执行步骤(4c),否则,执行步骤(4d);
16.(4c)采用全局代理辅助混合进化算法对结构参数s进行全局优化,并将优化后的结构参数作为卷积神经网络模型o的结构参数取值得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,最后计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为对应的验证准确率f
1t
,更新参数样本集s'
t
和对应的验证准确率集f
t
',f
t
'=f
t-1
∪{f
1t
},并执行步骤(4e);
17.(4d)采用局部代理辅助分布估计算法对结构参数s进行局部优化,并将优化后的结构参数作为卷积神经网络模型o的结构参数取值得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,最后计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为对应的验证准确率并更新参数样本集s'
t
和对应的验证准确率集f
t
',
18.(4e)将从当前种群p
t
中选出的验证准确率最高的个体和从参数样本
集s
t
中选出的n
cb
个离散型参数取值为的样本构成样本参数集然后判断n
cb
≥5
×
l是否成立,若是,执行步骤(4f),否则,执行步骤(4g);
19.(4f)采用连续代理辅助差分进化算法对连续型结构参数x进行优化,得到优化后的连续型结构参数组合和得到的作为卷积神经网络模型o的结构参数得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,最后计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为对应的验证准确率更新参数样本集s
t
和对应的验证准确率集f
t
,,
20.(4g)判断t=t是否成立,若是,输出参数样本集s
t
和对应的验证准确率集f
t
,并从s
t
中取f
t
中验证准确率最高的结构参数s
best
={x
best
,z
best
}作为卷积神经网络模型o的结构参数,得到最优卷积神经网络否则,令t=t+1,s
t
=s'
t
,f
t
=f
t
',并从参数样本集s
t
中选取f
t
中验证准确率高的前n个参数样本作为当前种群p
t
,并执行步骤(4b)。
21.本发明与现有技术相比,具有如下优点:
22.第一,本发明在对卷积神经网络的结构参数进行优化的过程中,根据种群多样性指标选择采用全局代理辅助的混合进化算法对结构参数进行全局优化,或采用局部代理辅助分布估计算法进行局部优化,可以兼顾优化过程中的探索与开发,能提高优化的搜索能力,从而搜索到更好的结构参数,进而显著提升优化后的卷积神经网络预测性能。
23.第二,本发明采用基于代理辅助进化算法对包括卷积层的卷积核数量、卷积核大小,激活函数类型,全连接层的神经元数量、神经元失活率的结构参数进行优化,对卷积神经网络的结构参数优化更全面,并且优化过程中采用混合算子处理结构参数,可以消除编码时量化误差和精度损失,从而得到的卷积神经网络有更好的网络预测性能。
24.第三,本发明使用代理模型对验证准确率进行预测,替代进化优化过程中评估时所需的大量昂贵耗时的训练和验证,节约大量计算资源以及评估时间,提升优化效率。
附图说明
25.图1是本发明的实现流程图。
26.图2是本发明的基于代理辅助进化算法对结构参数进行优化的流程图。
27.图3是本发明的采用全局代理辅助混合进化算法对结构参数进行全局优化的流程图。
28.图4是本发明的采用连续代理辅助差分进化算法对连续型结构参数进行优化流程图。
具体实施方式
29.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和具体实施例,对本发明作进一步详细描述:
30.参照附图1,本发明包括如下步骤:
31.(1)获取训练样本集和验证样本集:
32.获取包括c类别的m幅图像,并对每幅图像的类别进行标注,然后将v幅图像及其对应的标签组成训练图像样本集d
train
,将其余m-v幅图像及其对应的标签组成验证图像样本集d
val
,其中,c≥2,m≥50000,v》m/2;
33.在本实施例中,图像数据集为cifar-10数据集中的训练集部分,m=50000,c=10,v=45000,m-v=5000。
34.(2)获取卷积神经网络的结构参数:
35.获取包括a个卷积层、b个池化层、e个全连接层的卷积神经网络模型o的结构参数为s,s包括由a个卷积层卷积核的数量、前e-1个全连接层神经元的数量和神经元随机失活率组成的连续型参数x,以及由a个卷积层卷积核的大小、使用的激活函数类型和b个池化层使用的池化函数类型组成的离散型参数z,其中,a≥1,b≥1,e≥2,x包含的参数数量为l=a+2e-2,z包含的参数数量为r=2a+b;
36.在本实施例中,卷积神经网络模型o是lenet-5,其结构包括两层卷积、两层池化和三层全连接,即a=2,b=2,e=3。卷积神经网络模型o的结构参数s包括2个卷积层卷积核的数量、前2个全连接层神经元的数量和神经元随机失活率组成的6个连续型参数变量l=6,以及由2个卷积层卷积核的大小、使用的激活函数类型和2个池化层使用的池化函数类型组成的6个离散型参数变量r=6。
37.(3)初始化参数样本集和验证准确率集:
38.对结构参数s进行n次随机采样,并将随机采样得到的参数样本集s1={s1,s2,...,sn,...,sn}中的每一个参数样本sn作为卷积神经网络模型o的结构参数取值得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,并计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为sn对应的验证准确率fn,最后得到参数样本集s1对应的验证准确率集f1={f1,f2,...,fn,...,fn},其中n≥100,sn表示第n个参数样本,fn表示sn对应的验证准确率,e≥10;
39.在本实施例中,首先根据实践经验确定卷积神经网络模型o的结构参数s的取值范围,两层卷积的卷积核数量和两层全连接的神经元数量两层全连接的随机失活率两层卷积的卷积核大小两层卷积的激活函数类型其中0表示“relu”函数,1表示“sigmoid”函数,2表示“tanh”函数,两层池化类型0表示最大池化,1表示平均池化,采用拉丁超立方采样在参数定义区间内进行均匀随机采样,采样次数n=100,训练迭代次数e=10,神经网络迭代训练时,损失函数采用交叉熵损失,优化方法为随机梯度下降,学习率设置为0.01。
40.(4)参照附图2,基于代理辅助进化算法对结构参数进行优化:
41.(4a)初始化迭代次数为t,最大迭代次数为t,t≥200,多样性阈值为τ,0《τ《1,种群为p
t
,并令t=1,p1=s1;
42.在本实施例中,最大迭代次数t=200,多样性阈值τ=0.9。
43.(4b)计算当前种群p
t
的多样性指标r
t
,并判断r
t
《τ是否成立,若是,执行步骤(4c),否则,执行步骤(4d);
44.其中,当前种群p
t
的多样性指标r
t
,其计算公式为:
[0045][0046][0047]
其中,di
t
、di1分别表示当前种群p
t
、初始种群p1的多样性程度,x
nl
表示种群p
t
中第n个个体第l个连续型参数的值,表示种群p
t
中所有个体的第l个连续型参数的平均值,z
nr
表示种群p
t
中第n个个体第r个离散型参数的取值,wr表示种群p
t
中所有个体第r个离散型参数取值的众数,表示异或运算;
[0048]
(4c)采用全局代理辅助混合进化算法对结构参数s进行全局优化,实现步骤参照附图3:
[0049]
(4c1)将参数样本集和验证准确率集{s
t
,f
t
}作为径向基函数网络的输入,使用矩阵最小二乘法,计算径向基函数网络隐藏层和输出层之间的权重和偏置,将此权重偏置下的径向基函数网络模型作为全局代理模型,模型使用的径向基函数和gower距离计算公式为:
[0050][0051][0052]
其中exp表示以自然常数e为底的指数操作,ck表示隐藏层的第k个中心点,σ表示扩展常数,取值为中心点之间距离的平均值的2倍,x
l
与zr分别表示第l维连续型参数向量和第r维离散型参数向量,和分别表示第l维连续型参数向量的取值上下界,cx
l
与czr分别表示隐藏层的第k个中心点的第l个连续型参数和第r个离散型参数的变量取值;
[0053]
(4c2)初始化迭代次数为wg,最大迭代次数为wg,使用当前种群p
t
作为算法的初始种群np,使用全局代理模型预测种群np中所有个体的适应度值,其中30≤wg≤100,并令wg=1;
[0054]
(4c3)对种群np中个体的连续型部分进行差分变异、交叉得到子代种群的连续型部分,并对离散型部分进行遗传交叉、变异得到子代种群的离散型部分,组合子代种群的连续型部分和离散型部分得到子代种群np';
[0055]
(4c4)使用全局代理模型预测子代种群np'中所有个体的适应度值,比较种群np与子代种群np'中对应位置个体的预测适应度值大小,保留预测适应度值大的个体到np中;
[0056]
(4c5)判断wg=wg是否成立,若是,则输出种群np中最大适应度值对应的个体作为优化后的结构参数否则,令wg=wg+1,并执行步骤(4c3)。
[0057]
将优化后的结构参数作为卷积神经网络模型o的结构参数取值得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验
证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,最后计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为对应的验证准确率f
1t
,更新参数样本集s'
t
和对应的验证准确率集f
t
'=f
t-1
∪{f
1t
},并执行步骤(4e);
[0058]
在本实施例中,径向基函数网络模型的中心点通过对训练样本进行k均值聚类得到,中心点数量设置为||s||为训练样本的数量,最大迭代次数wg=30,差分进化算子采用的是二项式交叉和de/rand/1的变异算子,交叉概率设置为0.8,缩放因子设置为0.5,遗传算子对离散型部分进行二进制编码,交叉概率设置为0.8,变异概率为0.3。
[0059]
(4d)采用局部代理辅助分布估计算法对结构参数s进行局部优化,实现步骤为:
[0060]
(4d1)计算参数样本集s
t
中所有样本与当前验证准确率最高的个体的欧氏距离,选出距离最小的u个样本对应的验证准确率集合为将作为径向基函数网络的输入,使用矩阵最小二乘法,计算径向基函数网络隐藏层和输出层之间的权重和偏置,将此权重偏置下的径向基函数网络模型作为局部代理模型;
[0061]
(4d2)从当前种群p
t
中选取验证准确率高的前nb个参数样本作为优秀参数样本,计算第i个优秀参数样本的验证准确率比值αi,其计算公式为:
[0062][0063]
其中fi为第i个优秀参数样本对应的验证准确率;
[0064]
(4d3)对连续型参数构建高斯分布,第l维连续型参数的高斯分布期望和标准差分别为μ
l
和σ
l
,其计算公式为:
[0065][0066][0067]
其中x
nl
表示第n个优秀参数样本的第l维连续型参数取值;
[0068]
(4d4)对离散型参数构建直方图概率分布,第r维离散型参数在其取值集合中取值为的概率为p
rq
,其计算公式为:
[0069][0070]
其中z
nr
表示第n个优秀参数样本的第r维离散型参数取值,

表示同或运算;
[0071]
(4d5)随机采样高斯分布得到ns个连续型参数样本集x
new
,离散型参数在定义的取值集合内依概率选择取值,采样直方图概率分布得到ns个离散型参数样本集z
new
,组合x
new
和z
new
中对应位置的样本,得到包含ns组新的参数样本集s
new
,使用局部代理模型预测s
new
中每个样本的验证准确率,得到预测验证准确率集合选择中最大预测验证准确率对应的结构参数作为优化后的结构参数。
[0072]
将优化后的结构参数作为卷积神经网络模型o的结构参数取值得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,最后计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为对应的验证准确率并更新参数样本集s'
t
和对应的验证准确率集f
t
',
[0073]
在本实施例中,选出距离最小的样本数量u=100,径向基函数网络模型的中心点通过对训练样本进行k均值聚类得到,中心点数量设置为选取的优秀参数样本数量nb=45,采样的新样本数量ns=200。
[0074]
(4e)将从当前种群p
t
中选出的验证准确率最高的个体和从参数样本集s
t
中选出的n
cb
个离散型参数取值为的样本构成样本参数集然后判断n
cb
≥5
×
l是否成立,若是,执行步骤(4f),否则,执行步骤(4g);
[0075]
(4f)采用连续代理辅助差分进化算法对连续型结构参数x进行优化,实现步骤参照附图4:
[0076]
(4f1)从中截取每个参数样本的连续型参数部分构建连续型参数样本集对应的验证准确率集为将输入高斯过程回归模型,最大化边际似然函数得到模型的最优超参数θ
*
,取最优超参数下的高斯过程回归模型作为连续代理模型;
[0077]
(4f2)初始化迭代次数为w
l
,最大迭代次数为w
l
,使用连续型参数样本集作为算法的初始种群nx,使用连续代理模型预测种群nx中每个个体的适应度值,其中30≤w
l
≤100,并令w
l
=1;
[0078]
(4f3)对种群nx中个体进行差分变异、交叉,得到子代种群nx';
[0079]
(4f4)使用连续代理模型预测子代种群nx'中每个个体的适应度值,比较种群nx与子代种群nx'中对应位置个体的预测适应度值大小,保留预测适应度值大的个体到nx中;
[0080]
(4f5)判断w
l
=w
l
是否成立,若是,则输出种群nx中最大适应度值的个体作为优化后的连续型结构参数,否则,令w
l
=w
l
+1,然后执行步骤(4f3);
[0081]
得到优化后的连续型结构参数组合和得到的作为卷积神经网络模型o的结构参数得到卷积神经网络然后将训练图像样本集d
train
作为卷积神经网络的输入进行e次迭代训练,再将验证图像样本集d
val
作为训练好的卷积神经网络的输入对验证图像样本的类别进行预测,最后计算预测类别与真实标签一致的样本数量与验证图像样本总数量m-v的比值作为对应的验证准确率更新参数样本集s'
t
和对应的验证准确率集f
t
',',
[0082]
在本实施例中,高斯过程回归模型超参数初始值θ=0.01,最大迭代次数w
l
=30,差分进化算子采用的是二项式交叉和de/rand/1的变异算子,交叉概率设置为0.8,缩放因子设置为0.5。
[0083]
(4g)判断t=t是否成立,若是,输出参数样本集s
t
和对应的验证准确率集f
t
,并从st
中取f
t
中验证准确率最高的结构参数s
best
={x
best
,z
best
}作为卷积神经网络模型o的结构参数,得到最优卷积神经网络否则,令t=t+1,s
t
=s'
t
,f
t
=f
t
',并从参数样本集s
t
中选取f
t
中验证准确率高的前n个参数样本作为当前种群p
t
,并执行步骤(4b);
[0084]
在本实施例中,得到最优卷积神经网络后,将cifar10数据集的训练集输入最优卷积神经网络进行迭代训练,迭代训练次数p=200,损失函数为交叉熵损失,采用随机梯度下降方法优化,学习率在前80次迭代设置为0.01,后120次迭代设置为0.001,并在测试集上进行测试。本发明实施例在cifar10测试数据集上,优化后的lenet-5最终的分类准确率相比于原lenet-5的分类准确率提高了13.80%。
[0085]
综上所述,由于本发明采用全局代理辅助的混合进化算法、局部代理辅助的分布估计算法和连续代理辅助差分进化算法对卷积神经网络结构参数进行优化,能够有效地优化卷积神经网络结构,进而提升卷积神经网络的预测准确率,采用混合进化算子可以消除量化误差和精度损失,并且使用代理模型可以节约大量训练与验证的计算资源消耗以及评估时间。
[0086]
以上描述是本发明的具体实施例,不构成对本发明的任何限制。应当理解的是,对本领域专业技术人员来说,在了解本发明的原理后,根据上述说明对形式、细节和参数等加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1