CN112561039A - 一种改进的基于超网络的进化神经网络架构搜索方法 - Google Patents
一种改进的基于超网络的进化神经网络架构搜索方法 Download PDFInfo
- Publication number
- CN112561039A CN112561039A CN202011567363.5A CN202011567363A CN112561039A CN 112561039 A CN112561039 A CN 112561039A CN 202011567363 A CN202011567363 A CN 202011567363A CN 112561039 A CN112561039 A CN 112561039A
- Authority
- CN
- China
- Prior art keywords
- population
- neural network
- chromosome
- node
- individuals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004364 calculation method Methods 0.000 claims abstract description 38
- 230000035772 mutation Effects 0.000 claims abstract description 31
- 238000010187 selection method Methods 0.000 claims abstract description 12
- 238000004806 packaging method and process Methods 0.000 claims abstract description 4
- 210000000349 chromosome Anatomy 0.000 claims description 95
- 108090000623 proteins and genes Proteins 0.000 claims description 37
- 238000012549 training Methods 0.000 claims description 33
- 238000012795 verification Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000013461 design Methods 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 8
- 238000003062 neural network model Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100153581 Bacillus anthracis topX gene Proteins 0.000 description 1
- 101150041570 TOP1 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种改进的基于超网络的进化神经网络架构搜索方法。包括以下步骤:步骤S1,以输入层为第一层,封装五个计算模块;步骤S2,将神经网络内部计算节点的连接二值化;步骤S3,为每个计算节点学习结构权值,步骤S4,采用二元锦标赛选择法,构建父代种群P。步骤S5,组成子代种群Q。步骤S6,对子代种群Q中的个体执行变异操作。步骤S7,子代种群Q中的每个个体解码为对应的神经网络,获得结构权值;步骤S8,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,并反馈至步骤S4,直到到达预定的最大进化代数。进化结束之后,将适应度值最高的个体作为最优的神经网络架构输出。
Description
技术领域
本发明涉及图像分类模型构建技术领域,尤其涉及一种改进的基于超网络的进化神经网络架构搜索方法。
背景技术
图像分类(image classification)任务是基于图片中所反映的不同特征信息,将不同类别的目标区别开的图像处理技术。由于许多应用于图像分类任务的模型可作为特征提取网络迁移至其他的计算机视觉领域,因此,图像分类任务是计算机视觉领域的一个基本任务,图像分类模型的设计也是研究人员关注的热点。但是,人工设计神经网络模型需要经验丰富的专家,通过对数据集的分布及特征仔细研究,反复试验,才能设计出性能优秀的神经网络模型。因此,需要耗费巨大的时间、人力成本。
目前,神经网络架构搜索算法(Neural Architecture Search,NAS)引起了研究人员的广泛关注。此类算法能够让没有太多专业知识的情况下,基于给定的数据集自动设计出有效的神经网络架构。由于NAS算法通常需要对搜索空间中的神经网络模型持续评估,需要大量的计算机算力。为了提高NAS算法的搜索效率,目前有两种主要方法:
第一种方法是构建一种端到端的性能预测器(End-to-End PerformancePredictor)。这种方法需要一种编码方法,将神经网络架构唯一映射到一组数字决策变量中。之后将该神经网络架构的编码和其性能表现(例如,分类的准确度)构成一个数据对,作为性能预测器的输入,对性能预测器进行训练。性能预测器训练完成之后,可以直接预测搜索空间内神经网络模型的性能,无需对神经网络模型进行训练,进而提高了搜索效率。但是,这种方法遵循先训练后预测的方式,需要先利用一组训练样本对该性能预测器进行训练。一般来说,训练的样本越多,预测器的性能就越好。然而,收集更多的训练样本意味着要消耗更多的计算资源,因此对搜索效率造成一定的影响。因此,在实际的使用中,需要利用增量策略采样更有效的神经网络架构,需要一定的计算成本。
第二种方法是基于超网络的神经网络架构搜索方法(One-shot NeuralArchitecture Search)。这种方法需要首先训练一个超网络(One-shot model)作为搜索空间;然后从该超网络中随机采样一定数量的子网络进行性能评估,并根据子网络的性能,对子网络进行排名;最后,将性能评估最好的子网络作为算法的输出。由于子网络可以从超网络中继承权值,无需训练即可评估,因此,可以有效的提高NAS算法的搜索效率。然而,现有的基于超网络的神经网络架构搜索算法存在有一定的缺陷。首先,超网络内部节点训练不均衡,导致子网络评估阶段的性能排名不准确,进而导致算法并没有找到性能最佳的网络架构。其次,在训练超网络时,不同子网络之间的相互干扰可能导致基于超网络的神经网络架构搜索算法不稳定,超网络收敛速度较慢,甚至无法收敛,进而导致子模型的性能预测结果较差。
发明内容
针对现有技术中基于超网络的神经网络架构搜索方法表现不稳定,超网络训练收敛速度较慢甚至无法收敛等不足,本发明要解决的技术问题是提供一种基于超网络的进化神经网络架构搜索方法,使用进化算法作为搜索策略基于超网络自动生成神经网络架构,以此来提高图像分类任务的分类准确性。
为了解决上述技术问题,本发明采用技术方案为:
一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,包括以下步骤:
步骤S1,以输入层为第一层,封装五个计算模块;每个模块中封装M个计算节点,最后以全连接层作为神经网络的输出层;所述M为大于1的自然数。
步骤S2,通过混合编码方式对神经网络结构编码,并将神经网络内部计算节点的连接二值化;随机产生N条染色体,构建为初始种群;所述N为大于1的自然数。
步骤S3,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计算节点学习结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估。
步骤S4,采用二元锦标赛选择法,构建父代种群P。
步骤S5,基于给定的交叉率pc,采用混合交叉法对所述父代种群中的染色体个体进行两两交叉,得到数个新染色体,组成子代种群Q。
步骤S6,基于给定的变异率pm,采用混合变异法,对子代种群Q中的个体执行变异操作。
步骤S7,子代种群Q中的每个个体解码为对应的神经网络,通过继承或随机初始化的方式获得结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估。
步骤S8,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,并反馈至步骤S4,直到到达预定的最大进化代数(Generation)。进化结束之后,将适应度值最高的个体作为最优的神经网络架构输出。
进一步的,在上述步骤S1中,所述输入层依次由卷积层、ReLU激活函数和批量归一化(Batch Normalization,BN)层封装组成。
进一步的,在上述步骤S1中,所述计算节点为神经网络中的计算单元,可从操作搜索空间θ中随机选取。第一计算模块、第三计算模块、第五计算模块中所有的计算节点步长为1;第二计算模块、第四计算模块中的所有计算节点步长为2。
进一步的,在上述步骤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的输出δ为:
δ=I1(xc)+I2(xd)
其中,xc,xd分别为计算节点I1,I2的输入,I1(xc),I2(xd)分别为计算节点I1,I2的输出表示计算节点I1,I2的输出特征图I1(xc),I2(xd)融合,作为计算节点i的输入,由计算单元处理之后,作为计算节点i的输出。
进一步的,在上述步骤S22,所述计算模块包含有M个计算节点。则此时一个计算模块的编码结构为:
步骤S23,所述染色体为一个神经网络架构,每个神经网络架构内包含五个计算模块。则此时,一个神经网络架构的编码结构为:
进一步的,在上述步骤S3中,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计算节点生成结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估。具体为:
进一步的,在上述步骤S31,将预定的训练数据集按照给定的批处理数据(batchsize)大小,平均分为B个批次(batch)。所述B为大于N的自然数。每一个批次,随机从父代种群P中随机选择一个个体,将该个体解码为对应的神经网络进行训练,直到达到最大训练批次B。
进一步的,在上述步骤S32,评估父代种群中每个个体的适应度值fitness。采用验证数据集中的图片的分类准确率作为适应度函数进行适应度评估,其表达式为:
其中,G是模型识别正确的图片数,H是指验证集中的总图片数。
进一步的,在上述步骤S4中,针对所述的二元锦标赛选择法,其步骤如下:
步骤S41,随机从原始种群中选择两个个体,根据其适应度值,将适应度值较高的个体保留至父代种群P,将适应度值较低的个体放回原始种群。
步骤S42,重复步骤S41,直到父代种群P中包含的个体数达到预设的个体数K,K为一个大于1的自然数。
进一步的,在上述步骤S5中,基于给定的交叉率pc,利用混合交叉法对父代种群P中的染色体个体进行两两交叉,得到数个染色体个体,具体步骤为:
步骤S51,将每一个染色体的整数部分和二进制数部分拆分,分为整数染色体部分和二进制数染色体部分。
步骤S52,在区间[0,1]中随机产生一个随机数r,随机从父代种群P中选出两个个体p1和p2,利用该随机数r决定所述两个个体p1和p2是否执行交叉操作。
步骤S53,若r≤pm,将两个染色体的整数染色体部分的左侧对齐进行单点交叉,即在两个整数染色体中的随机设定一处交叉点,交换交叉点后的基因,两个整数染色体体的交叉点应在相同的位置;将两个染色体的二进制染色体部分的左侧对齐进行多点交叉,即在两个二进制染色体中随机选择数个交叉点,交换交叉点处的基因,两个二进制数的交叉点应该在相同的位置。将由所述混合交叉法产生的两个个体q1和q2存入子代种群Q中。
步骤S54,若r≥pm,将步骤S52中选出的两个个体p1和p2存入子代种群Q中。
进一步的,在上述步骤S6中,基于给定的变异率pm,利用混合变异法对子代种群Q中的个体执行变异操作。具体步骤为:
步骤S61,将每一个染色体的整数部分和二进制数部分拆分,分为整数染色体部分和二进制数染色体部分。
步骤S62,针对任一染色体个体中的任一基因位,在区间[0,1]中随机产生任一染色体个体对应的随机数t,利用该随机数决定该个体的该基因位是否执行变异操作。
步骤S63,若t≤pm,则针对该染色体的整数染色体部分执行多项式变异操作。
步骤S64,若t≤pm,则针对该染色体的二进制染色体部分执行翻转变异操作,即在该染色体中随机选择数个变异点,将每个变异点对应的基因位执行变异,基因位为0的基因变异为1,基因位为1的基因变异为0。
步骤S7中,子代种群中的每个个体通过继承或随机初始化的方式获得结构权值,具体为:针对子代种群Q中的任一染色体个体,该染色体个体中的任一计算节点,若是由步骤S5的混合交叉法得到,则从其父代染色体个体中的对应计算节点继承权值;若由步骤S6的混合变异法得到,则该计算节点的权值由随机初始化生成。
步骤S8中,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,其具体步骤为:
步骤S81,根据适应度值,将种群R中的个体按照适应度值又高到低的顺序排序。
步骤S82,按照预设的种群规模N,将种群R中,将排名在1号至N号的个体选出,作为下一代种群。
与现有技术相比,本发明具有以下有益效果:
(1)本发明利用混合编码方式对超网络进行编码,利用整数编码描述一个神经网络架构内部计算节点的类型和连接关系,利用二进制数编码将一个神经网络架构内部计算节点的连接关系二值化;如此设计的好处在于,可以在种群进化的过程中,随机选择染色体的不同部分进行交叉,可以实现同时对搜索空间的全局搜索和局部搜索,具体为,单点交叉操作是通过对两个个体内部计算节点的交换,来生成新的神经网络架构,实现了对搜索空间的全局探索。多点交叉操作仅仅是交换了神经网络连接的二值化信息,是对单个神经网络内部数据流的流向进行改变,来生成新的神经网络架构,实现了对搜索空间的局部探索。
(2)本发明基于所述的混合编码方式,可以在种群的进化过程中,随机选择染色体的不同部分进行变异操作,并通过多项式变异法,引入不属于超网络中的计算节点,计算节点的权值随机初始化;如此设计的好处在于,可以解决现在方法在超网络训练中计算节点权值所形成的深度耦合关系,进而导致超网络训练至后期难以收敛的问题。所述引入的不属于超网络的计算节点,会随着种群进化的过程合入超网络中,由于所述的不属于超网络的计算节点的权值是随机给出,因此,可以减轻超网络训练中的深度耦合关系,不但可以帮助算法跳出局部最优解,而且可以避免超网络训练难以收敛。
基于所述的有益效果(1)和有益效果(2),本发明所提出的方法可以解决超网络难以训练至收敛的问题,基于此,相比于现有的方法,本发明所提出的方法可以实现基于大规模数据集(例如,ImageNet)的神经网络架构搜索。
附图说明
图1为本发明的神经网络整体架构。
图2为本发明的算法流程图。
图3为本发明的染色体生成创建流程图。
图4为本发明的混合交叉法、混合变异法示意图。
图5为本发明基于ImageNet分类任务的神经网络架构优化过程。
图6为本发明搜索到的神经网络架构,基于ImageNet分类任务的训练过程。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1至图3所示,本实施例提供了一种改进的基于超网络的进化神经网络架构搜索方法,其主要包括以下内容:
第一步,以输入层为第一层,封装五个计算模块;每个模块中封装M个计算节点,最后以全连接层作为神经网络的输出层;本实施例中,设置每个计算模块包含9个计算节点,即M=9;所述输入层依次由卷积层、ReLU激活函数和批量归一化(Batch Normalization,BN)层封装组成;所述计算节点为神经网络中的计算单元,可从操作搜索空间θ中随机选取。第一计算模块、第三计算模块、第五计算模块中所有的计算节点步长为1;第二计算模块、第四计算模块中的所有计算节点步长为2。
第二步,通过混合编码方式对神经网络结构编码,并将神经网络内部计算节点的连接二值化;随机产生N条染色体,构建为初始种群;本实施例中,初始种群中包含40个染色体,即N=40。
本实施例中,采用混合编码方式,随机产生初始种群,实现种群初始化,所述初始种群中的每一条个体代表与之对应的神经网络架构,同时二值化内部的计算节点的连接方式。每个计算节点代表一种神经网络的计算单元,计算单元的编码信息见表1。在基因编码的过程中,随机将所述计算单元编码到神经网络整体架构中,形成一条染色体,即组成最终的神经网络架构。
表1 神经网络计算单元的编码信息
具体的编码方式为:
所述的混合编码方式为一种整数和二进制数相结合的编码方式。利用整数编码描述神经网络架构内部计算节点的类型和节点与节点之间的连接关系;利用二进制数将所述神经网络架构内部计算节点的连接关系二值化,描述两个计算节点之间的连接是否被激活。具体为:
步骤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的输出δ为:
δ=I1(xc)+I2(xd)
其中,xc,xd分别为计算节点I1,I2的输入,I1(xc),I2(xd)分别为计算节点I1,I2的输出表示计算节点I1,I2的输出特征图I1(xc),I2(xd)融合,作为计算节点i的输入,由计算单元处理之后,作为计算节点i的输出。
步骤S22,所述计算模块包含有M个计算节点。则此时一个计算模块的编码结构为:
步骤S23,所述染色体为一个神经网络架构,每个神经网络架构内包含五个计算模块。则此时,一个神经网络架构的编码结构为:
第三步,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计算节点学习结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估。具体有以下步骤:
步骤S31,将预定的训练数据集按照给定的批处理数据(batch size)大小,平均分为B个批次(batch)。所述B为大于N的自然数。每一个批次,随机从父代种群P中随机选择一个个体,将该个体解码为对应的神经网络进行训练,直到达到最大训练批次B。基于此,本实施例中,batch size设定为256。
步骤S32,评估父代种群中每个个体的适应度值fitness。采用验证数据集中的图片的分类准确率作为适应度函数进行适应度评估,其表达式为:
其中,G是模型识别正确的图片数,H是指验证集中的总图片数。
第四步,采用二元锦标赛选择法,构建父代种群P。具体为:
步骤S41,随机从原始种群中选择两个个体,根据其适应度值,将适应度值较高的个体保留至父代种群P,将适应度值较低的个体放回原始种群。
步骤S42,重复步骤S41,直到父代种群P中包含的个体数达到预设的个体数K,在本实施例中,K=40。
第五步,基于给定的交叉率pc,采用混合交叉法对所述父代种群中的染色体个体进行两两交叉,得到数个新染色体,组成子代种群Q。本实施例中,pc=0.95,混合交叉法如图4所示,具体步骤为:
步骤S51,将每一个染色体的整数部分和二进制数部分拆分,分为整数染色体部分和二进制数染色体部分。
步骤S52,在区间[0,1]中随机产生一个随机数r,随机从父代种群P中选出两个个体p1和p2,利用该随机数r决定所述两个个体p1和p2是否执行交叉操作。
步骤S53,若r≤pm,将两个染色体的整数染色体部分的左侧对齐进行单点交叉,即在两个整数染色体中的随机设定一处交叉点,交换交叉点后的基因,两个整数染色体体的交叉点应在相同的位置;将两个染色体的二进制染色体部分的左侧对齐进行多点交叉,即在两个二进制染色体中随机选择数个交叉点,交换交叉点处的基因,两个二进制数的交叉点应该在相同的位置。将由所述混合交叉法产生的两个个体q1和q2存入子代种群Q中。
步骤S54,若r≥pm,将步骤S52中选出的两个个体p1和p2存入子代种群Q中。
第六步,基于给定的变异率pm,采用混合变异法,对子代种群Q中的个体执行变异操作。本实施例中pm=0.1,混合变异法如图5所示,具体步骤为:
步骤S61,将每一个染色体的整数部分和二进制数部分拆分,分为整数染色体部分和二进制数染色体部分。
步骤S62,针对任一染色体个体中的任一基因位,在区间[0,1]中随机产生任一染色体个体对应的随机数t,利用该随机数决定该个体的该基因位是否执行变异操作。
步骤S63,若t≤pm,则针对该染色体的整数染色体部分执行多项式变异操作。
步骤S64,若t≤pm,则针对该染色体的二进制染色体部分执行翻转变异操作,即在该染色体中随机选择数个变异点,将每个变异点对应的基因位执行变异,基因位为0的基因变异为1,基因位为1的基因变异为0。
第七步,子代种群Q中的每个个体解码为对应的神经网络,通过继承或随机初始化的方式获得结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估。
子代种群中的每个个体通过继承或随机初始化的方式获得结构权值,具体为:针对子代种群Q中的任一染色体个体,该染色体个体中的任一计算节点,若是由步骤S5的混合交叉法得到,则从其父代染色体个体中的对应计算节点继承权值;若由步骤S6的混合变异法得到,则该计算节点的权值由随机初始化生成。
第八步,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,并反馈至步骤S4,直到到达预定的最大进化代数。进化结束之后,将适应度值最高的个体作为最优的神经网络架构输出。
步骤S81,根据适应度值,将种群R中的个体按照适应度值又高到低的顺序排序。
步骤S82,按照预设的种群规模N,将种群R中,将排名在1号至N号的个体选出,作为下一代种群。
为了验证本发明的优势,特进行以下对比:
本发明使用的数据集为ImageNet。ImageNet是一个用于视觉对象识别研究的大型可视化数据集。包含超过1400万图像,分为训练集,验证集,测试集,共包含20000多个类别。
本发明所使用的算法超参数设计如下:
初始通道数C=32,最大进化代数Generation=100。初始化SGD优化器参数。包括:初始学习率lr=0.1,权重衰减系数w=0.0003,动量(momentum)系数m=0.9。
算法迭代完成之后,输出适应度值最优的个体。将该个体解码为对应的神经网络架构EvoNet。重新初始化网络结构参数,使用训练数据集对该神经网络架构训练直至其收敛。之后利用测试数据集测试神经网络架构的性能。
本发明中,基于ImageNet的优化过程和最终个体测试过程分别由图5和图6所示,可以看出,本发明在搜索时的取得了较高的预测分类准确度,top1的分类准确度为:77.4%。
由本发明搜索到的神经网络架构与现有的人工设计的神经网络架构以及神经网络架构搜索算法性能对比结果见表2。从表2可以发现,相比于现有的人工设计的神经网络架构和神经网络架构搜素算法,由本发明搜索到的神经网络架构性能更好。
表2 实验结果对比
Claims (10)
1.一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,包括以下步骤:
步骤S1,以输入层为第一层,封装五个计算模块;每个模块中封装M个计算节点,最后以全连接层作为神经网络的输出层;所述M为大于1的自然数;
步骤S2,通过混合编码方式对神经网络结构编码,并将神经网络内部计算节点的连接二值化;随机产生N条染色体,构建为原始种群;任一染色体内部的计算节点数小于预设染色体的总计算节点数;所述N为大于1的自然数;
步骤S3,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计算节点学习结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估;
步骤S4,采用二元锦标赛选择法,构建父代种群P;
步骤S5,基于给定的交叉率pc,采用混合交叉法对所述父代种群中的染色体个体进行两两交叉,得到数个新染色体,组成子代种群Q;
步骤S6,基于给定的变异率pm,采用混合变异法,对子代种群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的输出δ为:
δ=I1(xc)+I2(xd)
其中,xc,xd分别为计算节点I1,I2的输入,I1(xc),I2(xd)分别为计算节点I1,I2的输出表示计算节点I1,I2的输出特征图I1(xc),I2(xd)融合,作为计算节点i的输入,由计算单元处理之后,作为计算节点i的输出;
步骤S22,所述计算模块包含有M个计算节点;则此时一个计算模块的编码结构为:
步骤S23,所述染色体为一个神经网络架构,每个神经网络架构内包含五个计算模块;则此时,一个神经网络架构的编码结构为:
5.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S3中,针对所述种群中的个体均匀采样,基于训练数据训练,为每个计算节点生成结构权值,并采用验证集分类精度作为适应度函数对个体进行适应度评估;具体为:
步骤S31,将预定的训练数据集按照给定的批处理数据(batch size)大小,平均分为B个批次(batch);所述B为大于N的自然数;每一个批次,随机从父代种群P中随机选择一个个体,将该个体解码为对应的神经网络进行训练,直到达到最大训练批次B;
步骤S32,评估父代种群中每个个体的适应度值fitness;采用验证数据集中的图片的分类准确率作为适应度函数进行适应度评估,其表达式为:
其中,G是模型识别正确的图片数,H是指验证集中的总图片数。
6.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S4中,针对所述的二元锦标赛选择法,其步骤如下:
步骤S41,随机从原始种群中选择两个个体,根据其适应度值,将适应度值较高的个体保留至父代种群P,将适应度值较低的个体放回原始种群;
步骤S42,重复步骤S41,直到父代种群P中包含的个体数达到预设的个体数K,K为一个大于1的自然数。
7.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S5中,基于给定的交叉率pc,利用混合交叉法对父代种群P中的染色体个体进行两两交叉,得到数个染色体个体,具体步骤为:
步骤S51,将每一个染色体的整数部分和二进制数部分拆分,分为整数染色体部分和二进制数染色体部分;
步骤S52,在区间[0,1]中随机产生一个随机数r,随机从父代种群P中选出两个个体p1和p2,利用该随机数r决定所述两个个体p1和p2是否执行交叉操作;
步骤S53,若r≤pm,将两个染色体的整数染色体部分的左侧对齐进行单点交叉,即在两个整数染色体中的随机设定一处交叉点,交换交叉点后的基因,两个整数染色体体的交叉点应在相同的位置;将两个染色体的二进制染色体部分的左侧对齐进行多点交叉,即在两个二进制染色体中随机选择数个交叉点,交换交叉点处的基因,两个二进制数的交叉点应该在相同的位置;将由所述混合交叉法产生的两个个体q1和q2存入子代种群Q中;
步骤S54,若r≥pm,将步骤S52中选出的两个个体p1和p2存入子代种群Q中。
8.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S6中,基于给定的变异率pm,利用混合变异法对子代种群Q中的个体执行变异操作;具体步骤为:
步骤S61,将每一个染色体的整数部分和二进制数部分拆分,分为整数染色体部分和二进制数染色体部分;
步骤S62,针对任一染色体个体中的任一基因位,在区间[0,1]中随机产生任一染色体个体对应的随机数t,利用该随机数决定该个体的该基因位是否执行变异操作;
步骤S63,若t≤pm,则针对该染色体的整数染色体部分执行多项式变异操作;
步骤S64,若t≤pm,则针对该染色体的二进制染色体部分执行翻转变异操作,即在该染色体中随机选择数个变异点,将每个变异点对应的基因位执行变异,基因位为0的基因变异为1,基因位为1的基因变异为0。
9.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S7中,子代种群中的每个个体通过继承或随机初始化的方式获得结构权值,具体为:针对子代种群Q中的任一染色体个体,该染色体个体中的任一计算节点,若是由步骤S5的混合交叉法得到,则从其父代染色体个体中的对应计算节点继承权值;若由步骤S6的混合变异法得到,则该计算节点的权值由随机初始化生成。
10.根据权利要求1所述的一种改进的基于超网络的进化神经网络架构搜索方法,其特征在于,步骤S8中,将父代种群P和子代种群Q合并为种群R,采用环境选择法选出数个个体作为下一代的原始种群,其具体步骤为:
步骤S81,根据适应度值,将种群R中的个体按照适应度值又高到低的顺序排序;
步骤S82,按照预设的种群规模N,将种群R中,将排名在1号至N号的个体选出,作为下一代种群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567363.5A CN112561039A (zh) | 2020-12-26 | 2020-12-26 | 一种改进的基于超网络的进化神经网络架构搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567363.5A CN112561039A (zh) | 2020-12-26 | 2020-12-26 | 一种改进的基于超网络的进化神经网络架构搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112561039A true CN112561039A (zh) | 2021-03-26 |
Family
ID=75033047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011567363.5A Pending CN112561039A (zh) | 2020-12-26 | 2020-12-26 | 一种改进的基于超网络的进化神经网络架构搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112561039A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128432A (zh) * | 2021-04-25 | 2021-07-16 | 四川大学 | 一种基于演化计算的多任务神经网络架构搜索方法 |
CN113537399A (zh) * | 2021-08-11 | 2021-10-22 | 西安电子科技大学 | 多目标进化图卷积神经网络的极化sar图像分类方法及*** |
CN113642730A (zh) * | 2021-08-30 | 2021-11-12 | Oppo广东移动通信有限公司 | 卷积网络剪枝方法和装置、电子设备 |
CN114943866A (zh) * | 2022-06-17 | 2022-08-26 | 之江实验室 | 基于进化神经网络结构搜索的图像分类方法 |
CN114997360A (zh) * | 2022-05-18 | 2022-09-02 | 四川大学 | 神经架构搜索算法的演化参数优化方法、***及存储介质 |
CN115359337A (zh) * | 2022-08-23 | 2022-11-18 | 四川大学 | 用于图像识别的脉冲神经网络的搜索方法、***及应用 |
WO2023124342A1 (zh) * | 2021-12-31 | 2023-07-06 | 江南大学 | 一种针对图像分类的神经网络结构低成本自动搜索方法 |
-
2020
- 2020-12-26 CN CN202011567363.5A patent/CN112561039A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128432A (zh) * | 2021-04-25 | 2021-07-16 | 四川大学 | 一种基于演化计算的多任务神经网络架构搜索方法 |
CN113128432B (zh) * | 2021-04-25 | 2022-09-06 | 四川大学 | 基于演化计算的机器视觉多任务神经网络架构搜索方法 |
CN113537399A (zh) * | 2021-08-11 | 2021-10-22 | 西安电子科技大学 | 多目标进化图卷积神经网络的极化sar图像分类方法及*** |
CN113642730A (zh) * | 2021-08-30 | 2021-11-12 | Oppo广东移动通信有限公司 | 卷积网络剪枝方法和装置、电子设备 |
WO2023124342A1 (zh) * | 2021-12-31 | 2023-07-06 | 江南大学 | 一种针对图像分类的神经网络结构低成本自动搜索方法 |
CN114997360A (zh) * | 2022-05-18 | 2022-09-02 | 四川大学 | 神经架构搜索算法的演化参数优化方法、***及存储介质 |
CN114997360B (zh) * | 2022-05-18 | 2024-01-19 | 四川大学 | 神经架构搜索算法的演化参数优化方法、***及存储介质 |
CN114943866A (zh) * | 2022-06-17 | 2022-08-26 | 之江实验室 | 基于进化神经网络结构搜索的图像分类方法 |
CN114943866B (zh) * | 2022-06-17 | 2024-04-02 | 之江实验室 | 基于进化神经网络结构搜索的图像分类方法 |
CN115359337A (zh) * | 2022-08-23 | 2022-11-18 | 四川大学 | 用于图像识别的脉冲神经网络的搜索方法、***及应用 |
CN115359337B (zh) * | 2022-08-23 | 2023-04-18 | 四川大学 | 用于图像识别的脉冲神经网络的搜索方法、***及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112561039A (zh) | 一种改进的基于超网络的进化神经网络架构搜索方法 | |
CN102413029B (zh) | 基于分解的局部搜索多目标复杂动态网络社区划分方法 | |
Bajpai et al. | Genetic algorithm–an approach to solve global optimization problems | |
CN111275172B (zh) | 一种基于搜索空间优化的前馈神经网络结构搜索方法 | |
CN111737535B (zh) | 一种基于元结构和图神经网络的网络表征学习方法 | |
CN112465120A (zh) | 一种基于进化方法的快速注意力神经网络架构搜索方法 | |
Hong et al. | Genetic-fuzzy data mining with divide-and-conquer strategy | |
CN110232434A (zh) | 一种基于属性图优化的神经网络架构评估方法 | |
Gao et al. | An improved clonal selection algorithm and its application to traveling salesman problems | |
Wen et al. | Learning ensemble of decision trees through multifactorial genetic programming | |
CN113128432B (zh) | 基于演化计算的机器视觉多任务神经网络架构搜索方法 | |
Pawar et al. | Optimized ensembled machine learning model for IRIS plant classification | |
Bedboudi et al. | An heterogeneous population-based genetic algorithm for data clustering | |
Pan et al. | Neural architecture search based on evolutionary algorithms with fitness approximation | |
Chen et al. | A new multiobjective evolutionary algorithm for community detection in dynamic complex networks | |
CN114241267A (zh) | 基于结构熵采样的多目标架构搜索骨质疏松图像识别方法 | |
Wei et al. | MOO-DNAS: Efficient neural network design via differentiable architecture search based on multi-objective optimization | |
CN116611504A (zh) | 一种基于进化的神经架构搜索方法 | |
Hu et al. | Apenas: An asynchronous parallel evolution based multi-objective neural architecture search | |
Chen et al. | MFENAS: multifactorial evolution for neural architecture search | |
CN115620046A (zh) | 一种基于半监督性能预测器的多目标神经架构搜索方法 | |
Xue et al. | RARTS: an efficient first-order relaxed architecture search method | |
Zhang et al. | A fast evolutionary knowledge transfer search for multiscale deep neural architecture | |
CN113379035A (zh) | 图神经网络结构优化搜索方法、***及存储介质 | |
Van Truong et al. | A Coevolutionary approach for classification problems: Preliminary results |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |