一种改进的基于超网络的进化神经网络架构搜索方法技术

技术编号:27813255 阅读:18 留言:0更新日期:2021-03-30 09:56
本发明专利技术涉及一种改进的基于超网络的进化神经网络架构搜索方法。包括以下步骤:步骤S1,以输入层为第一层,封装五个计算模块;步骤S2,将神经网络内部计算节点的连接二值化;步骤S3,为每个计算节点学习结构权值,步骤S4,采用二元锦标赛选择法,构建父代种群P。步骤S5,组成子代种群Q。步骤S6,对子代种群Q中的个体执行变异操作。步骤S7,子代种群Q中的每个个体解码为对应的神经网络,获得结构权值;步骤S8,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,并反馈至步骤S4,直到到达预定的最大进化代数。进化结束之后,将适应度值最高的个体作为最优的神经网络架构输出。的神经网络架构输出。的神经网络架构输出。

【技术实现步骤摘要】
一种改进的基于超网络的进化神经网络架构搜索方法


[0001]本专利技术涉及图像分类模型构建
,尤其涉及一种改进的基于超网络的进化神经网络架构搜索方法。

技术介绍

[0002]图像分类(image classification)任务是基于图片中所反映的不同特征信息,将不同类别的目标区别开的图像处理技术。由于许多应用于图像分类任务的模型可作为特征提取网络迁移至其他的计算机视觉领域,因此,图像分类任务是计算机视觉领域的一个基本任务,图像分类模型的设计也是研究人员关注的热点。但是,人工设计神经网络模型需要经验丰富的专家,通过对数据集的分布及特征仔细研究,反复试验,才能设计出性能优秀的神经网络模型。因此,需要耗费巨大的时间、人力成本。
[0003]目前,神经网络架构搜索算法(Neural Architecture Search,NAS)引起了研究人员的广泛关注。此类算法能够让没有太多专业知识的情况下,基于给定的数据集自动设计出有效的神经网络架构。由于NAS算法通常需要对搜索空间中的神经网络模型持续评估,需要大量的计算机算力。为了提高NAS算法的搜索效率,目前有两种主要方法:
[0004]第一种方法是构建一种端到端的性能预测器(End

to

End Performance Predictor)。这种方法需要一种编码方法,将神经网络架构唯一映射到一组数字决策变量中。之后将该神经网络架构的编码和其性能表现(例如,分类的准确度)构成一个数据对,作为性能预测器的输入,对性能预测器进行训练。性能预测器训练完成之后,可以直接预测搜索空间内神经网络模型的性能,无需对神经网络模型进行训练,进而提高了搜索效率。但是,这种方法遵循先训练后预测的方式,需要先利用一组训练样本对该性能预测器进行训练。一般来说,训练的样本越多,预测器的性能就越好。然而,收集更多的训练样本意味着要消耗更多的计算资源,因此对搜索效率造成一定的影响。因此,在实际的使用中,需要利用增量策略采样更有效的神经网络架构,需要一定的计算成本。
[0005]第二种方法是基于超网络的神经网络架构搜索方法(One

shot Neural Architecture Search)。这种方法需要首先训练一个超网络(One

shot model)作为搜索空间;然后从该超网络中随机采样一定数量的子网络进行性能评估,并根据子网络的性能,对子网络进行排名;最后,将性能评估最好的子网络作为算法的输出。由于子网络可以从超网络中继承权值,无需训练即可评估,因此,可以有效的提高NAS算法的搜索效率。然而,现有的基于超网络的神经网络架构搜索算法存在有一定的缺陷。首先,超网络内部节点训练不均衡,导致子网络评估阶段的性能排名不准确,进而导致算法并没有找到性能最佳的网络架构。其次,在训练超网络时,不同子网络之间的相互干扰可能导致基于超网络的神经网络架构搜索算法不稳定,超网络收敛速度较慢,甚至无法收敛,进而导致子模型的性能预测结果较差。

技术实现思路

[0006]针对现有技术中基于超网络的神经网络架构搜索方法表现不稳定,超网络训练收敛速度较慢甚至无法收敛等不足,本专利技术要解决的技术问题是提供一种基于超网络的进化神经网络架构搜索方法,使用进化算法作为搜索策略基于超网络自动生成神经网络架构,以此来提高图像分类任务的分类准确性。
[0007]为了解决上述技术问题,本专利技术采用技术方案为:
[0008]一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,包括以下步骤:
[0009]步骤S1,以输入层为第一层,封装五个计算模块;每个模块中封装M个计算节点,最后以全连接层作为神经网络的输出层;所述M为大于1的自然数。
[0010]步骤S2,通过混合编码方式对神经网络结构编码,并将神经网络内部计算节点的连接二值化;随机产生N条染色体,构建为初始种群;所述N为大于1的自然数。
[0011]步骤S3,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计算节点学习结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估。
[0012]步骤S4,采用二元锦标赛选择法,构建父代种群P。
[0013]步骤S5,基于给定的交叉率p
c
,采用混合交叉法对所述父代种群中的染色体个体进行两两交叉,得到数个新染色体,组成子代种群Q。
[0014]步骤S6,基于给定的变异率p
m
,采用混合变异法,对子代种群Q中的个体执行变异操作。
[0015]步骤S7,子代种群Q中的每个个体解码为对应的神经网络,通过继承或随机初始化的方式获得结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估。
[0016]步骤S8,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,并反馈至步骤S4,直到到达预定的最大进化代数(Generation)。进化结束之后,将适应度值最高的个体作为最优的神经网络架构输出。
[0017]进一步的,在上述步骤S1中,所述输入层依次由卷积层、ReLU激活函数和批量归一化(Batch Normalization,BN)层封装组成。
[0018]进一步的,在上述步骤S1中,所述计算节点为神经网络中的计算单元,可从操作搜索空间θ中随机选取。第一计算模块、第三计算模块、第五计算模块中所有的计算节点步长为1;第二计算模块、第四计算模块中的所有计算节点步长为2。
[0019]进一步的,在上述步骤S2中,所述的混合编码方式为一种整数和二进制数相结合的编码方式。利用整数编码描述神经网络架构内部计算节点的类型和节点与节点之间的连接关系;利用二进制数将所述神经网络架构内部计算节点的连接关系二值化,描述两个计算节点之间的连接是否被激活。具体为:
[0020]进一步的,在上述步骤S21,一个计算节点编码为一个五元组其中,表示计算节点i中所包含的计算单元a;I1,I2表示计算节点i相连接的计算单元的索引,即计算节点i和计算节点I1,I2相互连接;I1,I2为一组整数;J1,J2为一组二进制数表示将计算节点i和计算节点I1,I2连接方式的四种状态,具体为:J1=0,J2=0,表示计算节点i和计算节点I1,I2的连接均处于激活状态;则此时,计算节点I1,I2的输出的特征图融合之后,
作为计算节点i的输入。计算节点i的输出δ为:
[0021][0022]J1=0,J2=1,表示计算节点i和计算节点I1的连接被激活,计算节点i和计算节点I2的连接被关闭;则此时,计算节点i的输出δ为:
[0023][0024]J1=1,J2=0,表示计算节点i和计算节点I1的连接被关闭,计算节点i和计算节点I2的连接被激活;则此时,计算节点i的输出δ为:
[0025][0026]J1=1,J2=1,表示计算节点i和计算节点I1,I2的连接均处于关闭状态;即当前计算节点i被屏蔽。则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,包括以下步骤:步骤S1,以输入层为第一层,封装五个计算模块;每个模块中封装M个计算节点,最后以全连接层作为神经网络的输出层;所述M为大于1的自然数;步骤S2,通过混合编码方式对神经网络结构编码,并将神经网络内部计算节点的连接二值化;随机产生N条染色体,构建为原始种群;任一染色体内部的计算节点数小于预设染色体的总计算节点数;所述N为大于1的自然数;步骤S3,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计算节点学习结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估;步骤S4,采用二元锦标赛选择法,构建父代种群P;步骤S5,基于给定的交叉率p
c
,采用混合交叉法对所述父代种群中的染色体个体进行两两交叉,得到数个新染色体,组成子代种群Q;步骤S6,基于给定的变异率p
m
,采用混合变异法,对子代种群Q中的个体执行变异操作;步骤S7,子代种群Q中的每个个体解码为对应的神经网络,通过继承或随机初始化的方式获得结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估;步骤S8,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,并反馈至步骤S4,直到到达预定的最大进化代数;进化结束之后,将适应度值最高的个体作为最优的神经网络架构输出。2.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,所述输入层依次由卷积层、ReLU激活函数和批量归一化层封装组成。3.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S1中,所述计算节点为神经网络中的计算单元,可从操作搜索空间θ中随机选取;第一计算模块、第三计算模块、第五计算模块中所有的计算节点步长为1;第二计算模块、第四计算模块中的所有计算节点步长为2。4.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S2中,所述的混合编码方式为一种整数和二进制数相结合的编码方式;利用整数编码描述神经网络架构内部计算节点的类型和节点与节点之间的连接关系;利用二进制数将所述神经网络架构内部计算节点的连接关系二值化,描述两个计算节点之间的连接是否被激活;具体为:步骤S21,一个计算节点编码为一个五元组其中,表示计算节点i中所包含的计算单元a;I1,I2表示计算节点i相连接的计算单元的索引,即计算节点i和计算节点I1,I2相互连接;I1,I2为一组整数;J1,J2为一组二进制数表示将计算节点i和计算节点I1,I2连接方式的四种状态,具体为:J1=0,J2=0,表示计算节点i和计算节点I1,I2的连接均处于激活状态;则此时,计算节点I1,I2的输出的特征图融合之后,作为计算节点i的输入;计算节点i的输出δ为:J1=0,J2=1,表示计算节点i和计算节点I1的连接被激活,计算节点i和计算节点I2的连接被关闭;则此时,计算节点i的输出δ为:
J1=1,J2=0,表示计算节点i和计算节点I1的连接被关闭,计算节点i和计算节点I2的连接被激活;则此时,计算节点i的输出δ为:J1=1,J2=1,表示计算节点i和计算节点I1,I2的连接均处于关闭状态;即当前计算节点i被屏蔽;则此时,计算节点I1,I2的输出的特征图融合之后,不经过计算节点处理直接作为计算节点i的输出值δ:δ=I1(x
c
)+I2(x
d
)其中,x
c
,x
d
分别为计算节点I1,I2的输入,I1(x
c
),I2(x
d
)分别为计算节点I1,I2的输出表示计算节点I1,I2的输出特征图I1(x
c
),I2(x
d
)融合,作为计算节点i的输入,由计算单元处理之后,作为计算节点i的输出;步骤S22,所述计算模块包含有M个计算节点;则此时一个计算模块的编码结构为:步骤S23,所述染色体为一个神经网络架构,每个神经网络架构内包含五个计算模块;则此时,一个神经网络架构的编码结构为:5.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S3中,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计...

【专利技术属性】
技术研发人员:金耀初沈修平
申请(专利权)人:上海悠络客电子科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1