CN114943866B - 基于进化神经网络结构搜索的图像分类方法 - Google Patents
基于进化神经网络结构搜索的图像分类方法 Download PDFInfo
- Publication number
- CN114943866B CN114943866B CN202210690666.9A CN202210690666A CN114943866B CN 114943866 B CN114943866 B CN 114943866B CN 202210690666 A CN202210690666 A CN 202210690666A CN 114943866 B CN114943866 B CN 114943866B
- Authority
- CN
- China
- Prior art keywords
- population
- gene
- neural network
- individuals
- codes
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000002068 genetic effect Effects 0.000 claims abstract description 66
- 230000035772 mutation Effects 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 14
- 230000032683 aging Effects 0.000 claims abstract description 10
- 108090000623 proteins and genes Proteins 0.000 claims description 90
- 238000011176 pooling Methods 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 13
- 230000004083 survival effect Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000009827 uniform distribution Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 5
- 230000036961 partial effect Effects 0.000 claims description 5
- 238000010187 selection method Methods 0.000 claims description 5
- 101150098072 20 gene Proteins 0.000 claims description 3
- 230000002238 attenuated effect Effects 0.000 claims description 3
- 230000002860 competitive effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 101150092616 mth gene Proteins 0.000 claims description 2
- 101150030229 nth gene Proteins 0.000 claims description 2
- 238000012935 Averaging Methods 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 claims 1
- 238000010276 construction Methods 0.000 abstract description 4
- 238000004088 simulation Methods 0.000 description 10
- 230000007547 defect Effects 0.000 description 5
- 230000002028 premature Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于进化神经网络结构搜索的图像分类方法,主要解决现有技术中时间成本较高,分类精度较低的问题。本发明具体步骤如下:(1)利用标量编码对神经网络的网络块进行编码;(2)根据当前种群中的多样性和适应度情况自适应地调节交叉和变异概率;(3)通过交叉、变异操作生成子代种群;(4)利用基于衰老进化的环境选择操作,对种群进行迭代更新;(5)使用适应度最高的基因个体对应的神经网络对待分类的图像进行分类。本发明采用进化算法实现对神经网络的自动构建,具有针对图像分类问题精度高,时间成本低的优点。
Description
技术领域
本发明属于图像处理技术领域,更进一步涉及图像分类技术领域中的一种基于进化神经网络结构搜索的图像分类方法。本发明通过进化算法对神经网络结构的高效搜索,可有效地对图像数据进行有效分类。
背景技术
图像分类问题是计算机视觉领域中的重要基础问题,在日常生活中有着广泛应用,比如相册的自动归类,它的目标是根据图像的语义信息将不同类别图像进行区分。现有基于神经网络的图像分类算法在解决不同的图像分类问题时通常需要设计对应的神经网络,这增加了人工成本。因此,如何针对特定的图像分类问题自动构建出高性能的神经网络成为了需要解决的关键问题。近些年来,基于进化算法的神经网络自动构建算法越来越多的被使用,这给图像分类带来新的机遇。
Sun Yanan等人在其发表的论文“Evolving deep convolutional neuralnetworks for image classification”(IEEE Transactions on EvolutionaryComputation,2019,24(2):394–407)中公开了一种基于标准遗传算法的进化神经网络结构搜索的图像分类方法。该方法实现的具体步骤是:首先,利用可变长度编码对不同深度的神经网络进行编码;其次,对网络个体进行适应度评价;然后,利用基于结构单元的交叉和变异算子生成后代;最后,利用松弛的环境选择策略选择下一代种群,进化终止后得到最优的网络个体用于图像分类任务,进而得到分类结果。该方法存在的不足之处是:进化过程中,交叉和变异的最优参数选择困难影响算法最终构建的神经网络,从而影响了最终图像分类的分类精度。另外,松弛的环境选择策略会重复选择次优个体,导致早熟现象的产生,即某些局部最优个体长期存在于种群中,算法陷入局部最优解,需要更多的进化代数去构建神经网络,增加了整个图像分类过程的时间成本。
Filipe等人在其发表的“DENSER:deep evolutionary networkstructured representation”(Genetic Programming and Evolvable Machines,2019,20(1):5–35)中公开了一种基于动态结构化语法的进化神经网络结构搜索的图像分类方法。该方法实现的具体步骤是,首先,通过遗传算法和动态结构化两种层次对神经网络进行编码;其次,利用较少的训练代数对网络个体进行适应度评价;然后,利用单点交叉和二进制掩码的变异分别对网络结构和相关参数进行重组,以及包括增加、移除、复制、语法变异算子生成后代;最后,利用环境选择选择下一代种群,进化终止后得到最优的网络个体用于图像分类任务,进而得到分类结果。该方法存在的不足之处是,变异操作时,新基因的产生是完全随机的,因此产生的个体不够优秀,导致算法构建的网络性能较差,进而影响了图像分类的分类精度。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种基于进化神经网络结构搜索的图像分类方法,用于解决最优参数的选择困难和普通变异操作产生的个体不够优秀影响图像分类的分类精度,以及进化过程中出现的早熟问题导致网络构建过程停滞影响整个图像分类的时间效率问题。
实现本发明目的的思路是:首先,本发明提出了一种参数自适应的调节机制,它根据当前种群中的多样性和适应度情况自适应地调节相关参数,以此解决了最优参数的选择困难问题。其次,本发明通过统计进化过程中每种基因编码中的操作编码出现次数和含有该操作编码的基因个体的适应度情况,作为中间信息指导变异操作,使得旧基因能够变异成更有潜力的基因,以此解决普通变异操作产生的个体不够优秀问题。最后,本发明设计了基于衰老进化的环境选择策略,为种群中的个体设定最大存活代数,当种群中个体超过设定的最大存活代数,其适应度将被置0,降低了次优个体被重复选中的概率,以此解决进化过程中出现的早熟问题。
本发明的实现步骤如下:
步骤1,生成训练集:
选取至少10种类别、每种类别至少5000张,对每张图片按照28×28的大小进行裁剪,对裁剪后的每张图片进行归一化处理,将处理后的所有图像组成训练集;
步骤2,生成初始化种群:
将待构建的神经网络的网络块通过标量的编码方式编码为基因个体,将20个基因个体组合为一个父代种群;
步骤3,构建初始种群中每个基因个体对应的神经网络:
步骤3.1,遍历第一网络块的标量编码中的所有节点,对每一个节点,生成该节点对应神经网络中的一个计算节点,该计算节点的输入节点等于对应节的标量编码中输入节点的编码,操作等于对应节点的标量编码中卷积操作类型的编码,将所有计算节点进行并联,得到第一网络块;
步骤3.2,将第一网络块的所有计算节点的输出加权求和值,作为第一网络块的输出;
步骤3.3,采用与步骤3.1到步骤3.2相同的方法,对神经网络中其他网络块的标量编码进行处理,得到对应的网络块;
步骤3.4,在上述除最后一个网络块之外的所有网络块后添加最大池化层,最后一个网络块后添加全局池化层,并按照次序依次级联,组成初始种群中每个基因个体对应的神经网络;
步骤4,训练神经网络:
将训练集输入到神经网络中,利用随机梯度下降算法,迭代更新网络权重,当学习率衰减到0.000001时,得到训练好的神经网络;
步骤5,计算神经网络的适应度:
将验证集输入到训练好的神经网络中对每个样本的类别进行预测,统计总分类样本数以及总分类正确样本数,计算分类准确率,将每个基因个体构建的神经网络的分类准确率作为该基因个体的适应度;
步骤6,对当前迭代的父代种群中基因个体进行交叉操作:
步骤6.1,通过竞标赛选择方法,从当前迭代的父代种群中选择两个编码不同的基因个体;
步骤6.2,计算所选择的两个基因个体进行交叉的概率;
步骤6.3,生成一个满足0-1均匀分布的随机数,若所选的两个基因个体之间交叉的概率Pc小于或等于该随机数时,对所选的两个基因个体执行单点交叉操作,交换两个基因个体对应位置的基因编码;
步骤6.4,判断是否已选完当前种群中的所有个体,若是,则执行步骤7,否则,执行步骤6.1;
步骤7,对当前迭代种群中基因个体进行变异操作:
步骤7.1,从当前迭代种群中随机选择一个未选过的基因个体;
步骤7.2,计算所选基因个体进行变异的概率:
步骤7.3,生成一个满足0-1均匀分布的随机数,若所选的因个体进行变异的概率Pmi小于或等于该随机数时,则对所选基因个体进行变异操作;
步骤7.4,判断是否选完当前种群中的所有基因个体,若是,则将当前迭代后的种群中所有基因个体作为子代种群后执行步骤8,否则,执行步骤7.1;
步骤8,计算子代种群中每个基因个体的适应度:
采用与步骤3至步骤5的相同方法,得到子代种群中每一个基因个体对应的神经网络的分类准确率,并将分类准确率作为基因个体的适应度;
步骤9,依据父代种群与子代种群中所有基因个体的适应度,利用基于衰老进化的环境选择操作选择得到新的父代种群:
步骤9.1,将当前迭代后的父代种群中的所有基因个体与当前步骤8得到的子代种群中的所有基因个体一起组成新种群;
步骤9.2,根据衰老进化对个体适应度进行调节;
步骤9.3,根据新种群中基因个体适应度的高低执行环境选择操作,得到下一代种群;
步骤9.4,判断当前迭代次数是否等于最大迭代次数,若是,则执行步骤10,否则,执行步骤6;
步骤10,将当前迭代的种群作为最优种群,将最优种群中适应度最高的基因个体对应的神经网络作为最优神经网络;
步骤11,对待分类的图像进行分类:
对待分类的图像按照28×28的大小进行裁剪,对裁剪后的每张图片进行归一化处理,将处理后的图片输入到训练好的最优神经网络中,计算最优神经网络对待分类图像的分类准确率,将该分类准确率作为结果输出。
本发明与现有技术相比具有以下优点:
第一,由于本发明根据当前种群中的多样性和适应度情况自适应地调节相关参数,克服了现有技术中最优参数选择困难的不足,使得本发明能够构建出更优异的神经网络,提高了后续的分类准确度。
第二,由于本发明通过统计进化过程中每种基因编码中的操作编码出现次数和含有该操作编码的基因个体的适应度情况来指导变异操作,使得旧基因能够变异成更有潜力的基因,克服了现有技术中普通变异操作产生的个体不够优秀的缺陷,使得本发明最终能够构建出性能优秀的网络结构,提高了后续的图像分类准确率。
第三,由于本发明设计了一种基于衰老进化的环境选择,克服了现有技术中次优个体在环境选中被重复选中进而算法早熟的不足,使得本发明在较少的进化代数中,更容易构建出具有优异性能的网络模型。从而降低了整个图像分类过程的时间成本。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图1和具体实施例,对本发明实现的具体步骤作进一步详细描述。
步骤1,生成训练集。
本发明的实施例是从Fashion-MNIST数据集,包含10个类别的共计70000张自然图像,其中60000张图像为标注样本,10000张图像为无标注样本,将每张图像尺寸裁剪成28×28个像素大小的图片,将裁剪后的每张图片进行归一化处理。将归一化后的所有图片组成训练集。
步骤2,生成初始化种群。
第一步,生成第一神经网络块的编码B1。
第一网络块的编码B1中包含五组长度均为4的基因编码,分别对应网络块中的五个计算节点,记作[node1,node2,node3,node4,node5],另外整个网络块的输入记作node0;从[node0,...,nodei-1]中随机选择两个节点的索引作为神经网络中计算节点nodei的两个输入节点的编码,从[0,9]范围内随机选取的两个整数,作为对输入节点输出的特征图所进行操作的编码,其中,数字0表示恒等映射,数字1表示3×3的特征重建卷积操作,数字2表示5×5的特征重建卷积操作,数字3表示3×3的深度可分离卷积操作,数字4表示5×5的深度可分离卷积操作,数字5表示平均池化操作,数字6表示最大池化操作,数字7表示1×3和3×1卷积操作,数字8表示3×3卷积操作,数字9表示3×3的局部二进制卷积操作。
第二步,采用与第一步相同的方法,生成神经网络块中其他网络块的编码。
本发明的实施例中将待构建的神经网络的网络块通过标量的编码方式编码为基因个体,将20个基因个体组合为一个父代种群。
所述标量编码方式编码的基因个体的结构为:
[B1,B2,B3]
其中,B1,B2,B3分别表示神经网络的第一,第二和第三网络块的标量编码。
步骤2.1,生成第一神经网络块的编码B1。
第一网络块的编码B1中包含五组长度均为4的基因编码,分别对应网络块中的五个计算节点,记作[node1,node2,node3,node4,node5],另外整个网络块的输入记作node0;从[node0,...,nodei-1]中随机选择两个节点的索引作为神经网络中计算节点nodei的两个输入节点的编码,从[0,9]范围内随机选取的两个整数,作为对输入节点输出的特征图所进行操作的编码,其中,数字0表示恒等映射,数字1表示3×3的特征重建卷积操作,数字2表示5×5的特征重建卷积操作,数字3表示3×3的深度可分离卷积操作,数字4表示5×5的深度可分离卷积操作,数字5表示平均池化操作,数字6表示最大池化操作,数字7表示1×3和3×1卷积操作,数字8表示3×3卷积操作,数字9表示3×3的局部二进制卷积操作。
步骤2.2,采用与步骤2.1相同的方法,生成第二和第三网络块的编码B2,B3,将[B1,B2,B3]组成一个基因个体。
步骤2.3,重复步骤2.1至步骤2.2,直至生成20个基因个体,并将这20个基因个体组成初始种群。
步骤3,构建初始种群中每个基因个体对应的神经网络。
步骤3.1,遍历标量编码B1中的所有节点,对每一个节点,生成该节点对应神经网络中的一个计算节点,该计算节点的输入节点等于对应节点的标量编码中两个输入节点的下标的编码,操作等于对应节点的标量编码中操作类型的编码,然后将所有计算节点进行并联,得到第一网络块。
步骤3.2,将第一网络块的所有计算节点的输出加权求和值,作为第一网络块的输出。
步骤3.3,采用与步骤3.1到步骤3.2相同的方法,对标量编码B2和B3进行处理,得到标量编码B2对应的第二网络块和B3对应的第三网络块。
步骤3.4,将第一网络块,第一最大池化层,第二网络块,第二最大池化层,第三网络块,全局平均池化层依次级联,组成初始种群中每个基因个体对应的神经网络,其中,将第一,第二最大池化层的池化窗口大小设置为2×2,池化的步长均设置为2,填充方式均设置为“SAME”,将全局平均池化层的输出尺寸设置为1×1。
步骤4,训练神经网络。
将训练集输入到神经网络中,利用随机梯度下降算法,迭代更新网络权重,当学习率衰减到0.000001时,得到训练好的神经网络。
步骤5,计算神经网络的适应度。
将验证集输入到训练好的神经网络中对每个样本的类别进行预测,统计总分类样本数以及总分类正确样本数,按照下式,计算分类准确率,将每个基因个体构建的神经网络的分类准确率作为该基因个体的适应度;
步骤6,对当前迭代的父代种群中基因个体进行交叉操作。
步骤6.1,通过竞标赛选择方法,从当前迭代的父代种群中选择两个编码不同的基因个体。
步骤6.2,计算所选择的两个基因个体进行交叉的概率:
第1步,按照下式,计算当前种群中每个基因个体的多样性贡献度:
其中,SPDi表示当前种群中第i个基因个体对其所在的当前种群多样性的贡献度,HD(·,·)表示做海明距离操作,Gi表示当前种群中第i个基因个体的编码,Gbest表示当前种群中适应度最高的基因个体的编码,L表示基因编码的长度,在本发明实施例中L=60。
第2步,对当前种群中的所有基因个体的贡献度求平均值,将该平均值作为当前种群的标准种群多样性。
第3步,按照下式,计算所选两个基因个体之间进行交叉的概率:
其中,Pc(m,n)表示当前种群中所选的第m个基因个体和第n个基因个体之间进行交叉的概率,l表示两个基因个体之间进行交叉的概率最小值,根据经验将l的取值设定为0.5,h表示两个基因个体之间进行交叉的概率最大值,根据经验将h的取值设定为0.9,SPD表示当前种群的标准种群多样性的值,SPDmax表示种群中的多样性达到最大时标准种群多样性的值,SPDmax的取值范围为[0.6,1],在本发明实施例中SPDmax=0.8。
步骤6.3,生成一个满足0-1均匀分布的随机数,若所选的两个基因个体之间交叉的概率Pc小于或等于该随机数时,对所选的两个基因个体执行单点交叉操作,交换两个基因个体对应位置的基因编码。
步骤6.4,判断是否已选完当前种群中的所有个体,若是,则执行步骤7,否则,执行步骤6.1。
步骤7,对当前迭代种群中基因个体进行变异操作。
步骤7.1,从当前迭代种群中随机选择一个未选过的基因个体。
步骤7.2,按照下式,计算所选基因个体进行变异的概率:
其中,Pmi表示所选第i个基因个体进行变异的概率,fi表示当前种群中第i个基因个体的适应度,fmax和fmin分别表示当前种群中所有基因个体的适应度的最大值和最小值,SPD表示当前种群的标准种群多样性的值,SPDmax表示种群中的多样性达到最大时标准种群多样性的值,SPDmax的取值范围为[0.6,1],在本发明实施例中SPDmax=0.8。
步骤7.3,生成一个满足0-1均匀分布的随机数,若所选的因个体进行变异的概率Pmi小于或等于该随机数时,则对所选基因个体进行下述变异操作;
第1步,从所选基因个体中的基因编码[B1,B2,B3]中随机选择一组基因编码,作为待优化的基因编码。
第2步,根据步骤2中基因编码与计算节点之间的对应关系,从待优化的基因编码中随机选择一个计算节点的基因编码,作为待优化的基因编码。
第3步,按照下式,计算10种操作编码中每种操作编码被选择的概率:
所述的10种操作编码为[0,9]范围内的整数,分别对应恒等映射操作,3×3的特征重建卷积操作,5×5的特征重建卷积操作,3×3的深度可分离卷积操作,5×5的深度可分离卷积操作,平均池化操作,最大池化操作,1×3和3×1卷积操作,3×3卷积操作,3×3的局部二进制卷积操作。
其中,OPk表示10种操作编码中第k种操作编码被选择的概率,wk表示当前种群中基因个体适应度超过种群平均适应度且含有第k种操作编码的总数,C表示平衡系数,该系数的值通过经验设定,ln(·)表示以自然常数e为底的对数操作,N表示种群中的所有基因个体的总数,nk表示当前种群中基因个体含有第k种操作编码的总数,在本发明实施例中
第4步,利用轮盘赌选择方法,从10种操作编码选出2种不同的操作编码,用所选的两个编码替换本步骤中第2步所选待优化的基因编码中两个操作编码。
步骤7.4,判断是否选完当前种群中的所有基因个体,若是,则将当前迭代后的种群中所有基因个体作为子代种群后执行步骤8,否则,执行步骤7.1。
步骤8,计算子代种群中每个基因个体的适应度。
采用与步骤3至步骤5的相同方法,得到子代种群中每一个基因个体对应的神经网络的分类准确率,并将分类准确率作为基因个体的适应度。
步骤9,依据父代种群与子代种群中所有基因个体的适应度,利用基于衰老进化的环境选择操作选择得到新的父代种群。
步骤9.1,将当前迭代后的父代种群中的所有基因个体与当前步骤8得到的子代种群中的所有基因个体一起组成新种群。
步骤9.2,根据新种群中每个基因个体的在种群中存活的代数来判断该基因个体适应度是否需要调整,如果该基因个体在种群中存活的代数大于设定的最大存活代数,其适应度将会置0,每个基因经历一次进化迭代,其种群中存活的代数增加1,最大存活代数的值通过经验设定,在本发明实施例中,个体寿命设为4。
步骤9.3,根据新种群中基因个体适应度的高低执行环境选择操作,得到下一代种群。
步骤9.4,判断当前迭代次数是否等于最大迭代次数,若是,则执行步骤10,否则,执行步骤6。
步骤10,将当前迭代的种群作为最优种群,将最优种群中适应度最高的基因个体对应的神经网络作为最优神经网络。
步骤11,对待分类的图像进行分类。
对待分类的图像按照28×28的大小进行裁剪,对裁剪后的每张图片进行归一化处理,将处理后的图片输入到训练好的最优神经网络中,计算最优神经网络对待分类图像的分类准确率,将该分类准确率作为结果输出。
下面通过仿真实验对本发明的效果做进一步说明:
1.仿真实验条件:
本发明的仿真实验的硬件平台为:处理器为Intel i5 9600KF CPU,主频为3.80GHz,内存16GB,GPU型号为Nvidia GeForce GTX 1080Ti,显存11GB。
本发明的仿真实验的软件平台为:Windows 10操作系统,Python 3.6,Pytoch1.2。
本发明仿真实验所使用的输入图像为:Fashion-MNIST图像数据集,该图像数据集是由德国时尚科技公司Zalando旗下的研究部门收集,图像共包含10种类别服装,共计7万张图像,图像格式为jpg。
2.仿真内容及其结果分析:
本发明仿真实验是采用本发明和两个现有技术(EvoCNN分类方法、DENSER分类方法)分别对输入的Fashion-MNIST图像数据集进行了仿真。
在仿真实验中,采用的两个现有技术是指:
现有技术EvoCNN分类方法是指,Sun Yanan等人在其发表的论文“Evolving deepconvolutional neural networks for image classification,EEE Transactions onEvolutionary Computation,2019,24(2):394–407”中提出的基于标准遗传算法构建神经网络的图像分类方法,简称EvoCNN分类方法。
现有技术DENSER分类方法是指,Filipe等人在其发表的“DENSER:deepevolutionary network structured representation,Genetic Programming andEvolvable Machines,2019,20(1):5–35”中提出的基于动态结构化语法构建神经网络的图像分类方法,简称DENSER分类方法。
为了验证本发明的仿真实验的效果,利用分类准确率作为评价指标分别对本发明仿真实验的三种方法的分类结果进行评价。利用下面公式,计算分类准确率,将所有计算结果绘制成表1:
表1中分别列出了本发明与现有技术EvoCNN分类方法、DENSER分类方法的分类准确率对比情况。
表1 分类准确率对比表
方法 | 分类准确率 |
EvoCNN分类方法 | 94.53% |
DENSER分类方法 | 94.23% |
本发明分类方法 | 95.49% |
由表1可见,本发明所提出的基于度量学习的细粒度图像分类方法,相比现有技术DENSER分类方法的分类准确率,具有更高的图像分类准确率。
Claims (6)
1.一种基于进化神经网络结构搜索的图像分类方法,其特征在于,利用标量编码对神经网络的网络块进行编码,根据当前种群中的多样性和适应度情况自适应地调节交叉和变异概率,通过交叉、变异操作生成子代种群,利用基于衰老进化的环境选择操作,对种群进行迭代更新;该方法具体步骤包括如下:
步骤1,生成训练集:
选取至少10种类别、每种类别至少5000张,对每张图片按照28×28的大小进行裁剪,对裁剪后的每张图片进行归一化处理,将处理后的所有图像组成训练集;
步骤2,生成初始化种群:
将待构建的神经网络的网络块通过标量的编码方式编码为基因个体,将20个基因个体组合为一个父代种群;
步骤3,构建初始种群中每个基因个体对应的神经网络:
步骤3.1,遍历第一网络块的标量编码中的所有节点,对每一个节点,生成该节点对应神经网络中的一个计算节点,该计算节点的输入节点等于对应节的标量编码中输入节点的编码,操作等于对应节点的标量编码中卷积操作类型的编码,将所有计算节点进行并联,得到第一网络块;
步骤3.2,将第一网络块的所有计算节点的输出加权求和值,作为第一网络块的输出;
步骤3.3,采用与步骤3.1到步骤3.2相同的方法,对神经网络中其他网络块的标量编码进行处理,得到对应的网络块;
步骤3.4,在上述除最后一个网络块之外的所有网络块后添加最大池化层,最后一个网络块后添加全局池化层,并按照次序依次级联,组成初始种群中每个基因个体对应的神经网络;
步骤4,训练神经网络:
将训练集输入到神经网络中,利用随机梯度下降算法,迭代更新网络权重,当学习率衰减到0.000001时,得到训练好的神经网络;
步骤5,计算神经网络的适应度:
将验证集输入到训练好的神经网络中对每个样本的类别进行预测,统计总分类样本数以及总分类正确样本数,计算分类准确率,将每个基因个体构建的神经网络的分类准确率作为该基因个体的适应度;
步骤6,对当前迭代的父代种群中基因个体进行交叉操作:
步骤6.1,通过竞标赛选择方法,从当前迭代的父代种群中选择两个编码不同的基因个体;
步骤6.2,计算所选择的两个基因个体进行交叉的概率;
步骤6.3,生成一个满足0-1均匀分布的随机数,若所选的两个基因个体之间交叉的概率Pc小于或等于该随机数时,对所选的两个基因个体执行单点交叉操作,交换两个基因个体对应位置的基因编码;
步骤6.4,判断是否已选完当前种群中的所有个体,若是,则执行步骤7,否则,执行步骤6.1;
步骤7,对当前迭代种群中基因个体进行变异操作:
步骤7.1,从当前迭代种群中随机选择一个未选过的基因个体;
步骤7.2,计算所选基因个体进行变异的概率:
步骤7.3,生成一个满足0-1均匀分布的随机数,若所选的因个体进行变异的概率Pmi小于或等于该随机数时,则对所选基因个体进行变异操作;
步骤7.4,判断是否选完当前种群中的所有基因个体,若是,则将当前迭代后的种群中所有基因个体作为子代种群后执行步骤8,否则,执行步骤7.1;
步骤8,计算子代种群中每个基因个体的适应度:
采用与步骤3至步骤5的相同方法,得到子代种群中每一个基因个体对应的神经网络的分类准确率,并将分类准确率作为基因个体的适应度;
步骤9,依据父代种群与子代种群中所有基因个体的适应度,利用基于衰老进化的环境选择操作选择得到新的父代种群:
步骤9.1,将当前迭代后的父代种群中的所有基因个体与当前步骤8得到的子代种群中的所有基因个体一起组成新种群;
步骤9.2,根据衰老进化对个体适应度进行调节;
步骤9.3,根据新种群中基因个体适应度的高低执行环境选择操作,得到下一代种群;
步骤9.4,判断当前迭代次数是否等于最大迭代次数,若是,则执行步骤10,否则,执行步骤6;
步骤10,将当前迭代的种群作为最优种群,将最优种群中适应度最高的基因个体对应的神经网络作为最优神经网络;
步骤11,对待分类的图像进行分类:
对待分类的图像按照28×28的大小进行裁剪,对裁剪后的每张图片进行归一化处理,将处理后的图片输入到训练好的最优神经网络中,计算最优神经网络对待分类图像的分类准确率,将该分类准确率作为结果输出。
2.根据权利要求1所述的基于进化神经网络结构搜索的图像分类方法,其特征在于,步骤2中所述的对神经网络中网络块进行编码的具体步骤如下:
第一步,生成第一神经网络块的编码B1:
第一网络块的编码B1中包含五组长度均为4的基因编码,分别对应网络块中的五个计算节点,记作[node1,node2,node3,node4,node5],另外整个网络块的输入记作node0;从[node0,...,nodei-1]中随机选择两个节点的索引作为神经网络中计算节点nodei的两个输入节点的编码,从[0,9]范围内随机选取的两个整数,作为对输入节点输出的特征图所进行操作的编码,其中,数字0表示恒等映射,数字1表示3×3的特征重建卷积操作,数字2表示5×5的特征重建卷积操作,数字3表示3×3的深度可分离卷积操作,数字4表示5×5的深度可分离卷积操作,数字5表示平均池化操作,数字6表示最大池化操作,数字7表示1×3和3×1卷积操作,数字8表示3×3卷积操作,数字9表示3×3的局部二进制卷积操作;
第二步,采用与第一步相同的方法,生成神经网络块中其他网络块的编码。
3.根据权利要求1所述的基于进化神经网络结构搜索的图像分类方法,其特征在于,步骤6.2中所述计算交叉概率的具体步骤如下:
第1步,按照下式,计算当前种群中每个基因个体的多样性贡献度:
其中,SPDi表示当前种群中第i个基因个体对其所在的当前种群多样性的贡献度,HD(·,·)表示做海明距离操作,Gi表示当前种群中第i个基因个体的编码,Gbest表示当前种群中适应度最高的基因个体的编码,L表示基因编码的长度;
第2步,对当前种群中的所有基因个体的贡献度求平均值,将该平均值作为当前种群的标准种群多样性;
第3步,按照下式,计算所选两个基因个体之间进行交叉的概率:
其中,Pc(m,n)表示当前种群中所选的第m个基因个体和第n个基因个体之间进行交叉的概率,l表示两个基因个体之间进行交叉的概率最小值,根据经验将l的取值设定为0.5,h表示两个基因个体之间进行交叉的概率最大值,根据经验将h的取值设定为0.9,SPD表示当前种群的标准种群多样性的值,SPDmax表示种群中的多样性达到最大时标准种群多样性的值,SPDmax的取值范围为[0.6,1]。
4.根据权利要求1所述的基于进化神经网络结构搜索的图像分类方法,其特征在于,步骤7.2中所述计算变异概率的具体步骤如下:
其中,Pmi表示所选第i个基因个体进行变异的概率,fi表示当前种群中第i个基因个体的适应度,fmax和fmin分别表示当前种群中所有基因个体的适应度的最大值和最小值,SPD表示当前种群的标准种群多样性的值,SPDmax表示种群中的多样性达到最大时标准种群多样性的值,SPDmax的取值范围为[0.6,1]。
5.根据权利要求1所述的基于进化神经网络结构搜索的图像分类方法,其特征在于,步骤7.3中所述变异操作的具体步骤如下:
第1步,从所选基因个体中的基因编码[B1,B2,B3]中随机选择一组基因编码,作为待优化的基因编码;
第2步,根据基因编码与计算节点之间的对应关系,从待优化的基因编码中随机选择一个计算节点的基因编码,作为待优化的基因编码;
第3步,按照下式,计算10种操作编码中每种操作编码被选择的概率:
所述的10种操作编码为[0,9]范围内的整数,分别对应恒等映射操作,3×3的特征重建卷积操作,5×5的特征重建卷积操作,3×3的深度可分离卷积操作,5×5的深度可分离卷积操作,平均池化操作,最大池化操作,1×3和3×1卷积操作,3×3卷积操作,3×3的局部二进制卷积操作;
其中,OPk表示10种操作编码中第k种操作编码被选择的概率,wk表示当前种群中基因个体适应度超过种群平均适应度且含有第k种操作编码的总数,C表示平衡系数,该系数的值通过经验设定,ln(·)表示以自然常数e为底的对数操作,N表示种群中的所有基因个体的总数,nk表示当前种群中基因个体含有第k种操作编码的总数;
第4步,利用轮盘赌选择方法,从10种操作编码选出2种不同的操作编码,用所选的两个编码替换本步骤中第2步所选待优化的基因编码中两个操作编码。
6.根据权利要求1所述的基于进化神经网络结构搜索的图像分类方法,其特征在于,步骤9.2中所述衰老进化的具体步骤如下:
根据新种群中每个基因个体的在种群中存活的代数来判断该基因个体适应度是否需要调整,如果该基因个体在种群中存活的代数大于设定的最大存活代数,其适应度将会置0,每个基因经历一次进化迭代,其种群中存活的代数增加1,最大存活代数的值通过经验设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210690666.9A CN114943866B (zh) | 2022-06-17 | 2022-06-17 | 基于进化神经网络结构搜索的图像分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210690666.9A CN114943866B (zh) | 2022-06-17 | 2022-06-17 | 基于进化神经网络结构搜索的图像分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114943866A CN114943866A (zh) | 2022-08-26 |
CN114943866B true CN114943866B (zh) | 2024-04-02 |
Family
ID=82911071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210690666.9A Active CN114943866B (zh) | 2022-06-17 | 2022-06-17 | 基于进化神经网络结构搜索的图像分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114943866B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994575B (zh) * | 2023-03-22 | 2023-06-02 | 方心科技股份有限公司 | 一种电力故障诊断神经网络架构设计方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490320A (zh) * | 2019-07-30 | 2019-11-22 | 西北工业大学 | 基于预测机制和遗传算法融合的深度神经网络结构优化方法 |
WO2021043193A1 (zh) * | 2019-09-04 | 2021-03-11 | 华为技术有限公司 | 神经网络结构的搜索方法、图像处理方法和装置 |
CN112561039A (zh) * | 2020-12-26 | 2021-03-26 | 上海悠络客电子科技股份有限公司 | 一种改进的基于超网络的进化神经网络架构搜索方法 |
CN113420812A (zh) * | 2021-06-23 | 2021-09-21 | 西安电子科技大学 | 基于进化卷积神经网络的极化sar图像分类方法 |
CN113537399A (zh) * | 2021-08-11 | 2021-10-22 | 西安电子科技大学 | 多目标进化图卷积神经网络的极化sar图像分类方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689127B (zh) * | 2019-10-15 | 2022-05-06 | 北京小米智能科技有限公司 | 神经网络结构模型搜索方法、装置及存储介质 |
-
2022
- 2022-06-17 CN CN202210690666.9A patent/CN114943866B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490320A (zh) * | 2019-07-30 | 2019-11-22 | 西北工业大学 | 基于预测机制和遗传算法融合的深度神经网络结构优化方法 |
WO2021043193A1 (zh) * | 2019-09-04 | 2021-03-11 | 华为技术有限公司 | 神经网络结构的搜索方法、图像处理方法和装置 |
CN112561039A (zh) * | 2020-12-26 | 2021-03-26 | 上海悠络客电子科技股份有限公司 | 一种改进的基于超网络的进化神经网络架构搜索方法 |
CN113420812A (zh) * | 2021-06-23 | 2021-09-21 | 西安电子科技大学 | 基于进化卷积神经网络的极化sar图像分类方法 |
CN113537399A (zh) * | 2021-08-11 | 2021-10-22 | 西安电子科技大学 | 多目标进化图卷积神经网络的极化sar图像分类方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于多物种进化遗传算法的神经网络进化设计方法;李智勇, 童调生;系统仿真学报;20030620(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114943866A (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898689B (zh) | 一种基于神经网络架构搜索的图像分类方法 | |
CN108334949B (zh) | 一种基于优化深度卷积神经网络结构快速进化的图像分类器构建方法 | |
US8700548B2 (en) | Optimization technique using evolutionary algorithms | |
CN110781406B (zh) | 一种基于变分自动编码器的社交网络用户多属性推断方法 | |
CN111832101B (zh) | 一种水泥强度预测模型的构建方法及水泥强度预测方法 | |
CN108171663B (zh) | 基于特征图最近邻替换的卷积神经网络的图像填充系统 | |
CN113033786B (zh) | 基于时间卷积网络的故障诊断模型构建方法及装置 | |
CN112966114A (zh) | 基于对称图卷积神经网络的文献分类方法和装置 | |
CN111105035A (zh) | 基于稀疏学习与遗传算法相结合的神经网络剪枝方法 | |
CN114118369B (zh) | 一种基于群智能优化的图像分类卷积神经网络设计方法 | |
CN115310664A (zh) | 基于基因调控遗传算法的rbf神经网络训练方法及预测系统 | |
CN114943866B (zh) | 基于进化神经网络结构搜索的图像分类方法 | |
CN114792126A (zh) | 一种基于遗传算法的卷积神经网络设计方法 | |
CN117253037A (zh) | 语义分割模型结构搜索方法、自动语义分割方法及系统 | |
CN113011091A (zh) | 一种自动分组的多尺度轻量型深度卷积神经网络优化方法 | |
CN115908909A (zh) | 基于贝叶斯卷积神经网络的进化神经架构搜索方法及系统 | |
CN114241267A (zh) | 基于结构熵采样的多目标架构搜索骨质疏松图像识别方法 | |
US10956129B1 (en) | Using genetic programming to create generic building blocks | |
CN113837096B (zh) | 一种基于ga随机森林的滚动轴承故障诊断方法 | |
CN116596023A (zh) | 一种基于距离编码的图卷积神经网络模型的训练方法 | |
CN115600926A (zh) | 项目后评价方法、装置、电子设备及存储介质 | |
CN117591675B (zh) | 学术引用网络的节点分类预测方法、系统及存储介质 | |
CN114387525B (zh) | 一种基于模型协同的遥感图像变化检测网络快速压缩方法 | |
CN118041670A (zh) | 一种异常流量检测方法、装置、设备及存储介质 | |
CN118277757A (zh) | 基于离散沙猫搜索机制的特征选择方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |