CN114792126A - 一种基于遗传算法的卷积神经网络设计方法 - Google Patents
一种基于遗传算法的卷积神经网络设计方法 Download PDFInfo
- Publication number
- CN114792126A CN114792126A CN202210538155.5A CN202210538155A CN114792126A CN 114792126 A CN114792126 A CN 114792126A CN 202210538155 A CN202210538155 A CN 202210538155A CN 114792126 A CN114792126 A CN 114792126A
- Authority
- CN
- China
- Prior art keywords
- neural network
- data set
- convolutional neural
- individuals
- candidate
- 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
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Abstract
本发明公开了一种基于遗传算法的卷积神经网络设计方法,首先对图像数据集进行数据预处理和采样操作形成代理数据集和验证数据集,进而设计搜索过程中所需的结点块;通过特定的编码方式随机初始化个体种群,使用与编码相对应的解码操作将个体解码为候选卷积神经网络;然后,引入一种代理模型用于预测新个体是否优于迄今为止最差的个体;采用代理数据集对候选卷积神经网络进行训练,验证数据集评估候选卷积神经网络性能;将候选卷积神经网络模型大小与性能加权求和得到适应度值,根据适应度值选择性能良好的个体,再对个体进行变异操作形成下一代种群,直到迭代完成,确定最优个体。
Description
技术领域
本发明属于神经网络架构搜索技术领域,具体涉及一种基于遗传算法的卷积神经网络设计方法。
背景技术
卷积神经网络(Convolutional Neural Networks,CNN)搜索的概念早已存在,1989年Miller等人提出神经进化方法用于进化人工神经网络的权重,对如今CNN搜索方法产生了深远影响,受到学术界和工业界的广泛关注。神经网络架构搜索通过搜索策略在搜索空间中采样一个CNN结构,然后使用特定的性能评估策略评估模型性能,随后将评估后的值反馈给搜索策略。
神经网络架构搜索发展至今已成为解决计算机视觉领域中重要问题的关键方法。文献1(Stanley K O,Miikkulainen R.Evolving Neural Networks through AugmentingTopologies[J].Evolutionary Computation,2002,10(2):99-127)使用遗传算法和神经网络相结合提出了遗传拓扑神经网络(NEAT算法)。然而,该算法只用一个单位来表示最小的结构信息,并不能有效的进化具有大量参数的神经网络。之后,研究者们对NEAT算法进行改进并提出了更为高效的HyperNEAT算法,开创了神经网络自动化设计的先河。文献2(BakerB,Gupta O,Naik N,et al.Designing neural network architectures usingreinforcement learning[J].2016. https://arxiv.org/pdf/1611.02167v3.pdf.)使用Q-learn、ε-greedy的探索策略搜索神经网络结构,使用10个GPUs 10天的时间在CIFAR10,CIFAR100等数据集上搜索了不同的结构。文献3(Wang C,Xu C,Yao X,et al.Evolutionarygenerative adversarial networks[J].IEEE Transactions on EvolutionaryComputation,2019,23(6):921-934.)在EGAN一文中使用遗传算法初始化一个种群的生成器与鉴别器进行对抗训练,大大提高了GAN在整个训练过程中的稳定性。
当前,神经网络结构设计方法种类繁多,大致可分为三类:基于演化计算的方法、基于强化学习的方法和可微分架构搜索。现有研究方法存在如下问题。第一,现有神经网络设计方法中大都采用ResNet Block和DenseNet Block等深度模块针,未引入类似于Inception的宽度模块,限制了CNN的特征提取能力;第二,针对特定任务,最优的CNN深度是未知的,如何实现可变长搜索,寻求最优深度值得探讨;第三,候选网络评估是极其耗时的过程,现有网络搜索方法中使用大量算力进行评估。
发明内容
为解决前述问题,本发明并提供了一种基于遗传算法的卷积神经网络设计方法,在图像分类任务中,与传统人工设计模型和其他自动搜索方法获得模型相比,本发明方法在准确率和搜索效率方面得到了提升。
本发明解决技术问题具体实现方案如下所示:
一种基于遗传算法的卷积神经网络设计方法,其特征在于,包括以下步骤:
S1:将数据集划分为训练数据集和测试数据集,对训练数据集进一步采样形成代理数据集和验证数据集,后对代理数据集进行数据增强和预处理;
S2:设计构成卷积神经网络的结点块,并采用十进制与二进制融合的编码方式,实现候选卷积神经网络可深度搜索;
S3:设计一种代理模型,用于预测新解决方案所代表的候选卷积神经网络是否优于迄今为止最差解决方案所代表候选卷积神经网络,将预测卷积神经网络性能问题转化为一个二值分类问题;
S4:随机创建候选卷积神经网络作为初始种群,将代理模型用于评估过程,根据适应度值大小选择当前种群中适应度较高的个体,并对个体执行变异操作形成下一代种群,直到迭代完成,确定最优个体。
本发明的有益效果:
1)针对现有神经网络架构搜索方法在评估过程中效率低,算力消耗极大等缺点,本发明提出一种高效的代理模型用于预测新解决方案所代表的CNN是否优于迄今为止最差解决方案所代表的CNN。评估过程中获得的数据用于训练代理模型,将预测CNN性能问题转化为比较一对CNN的二值分类任务。
2)针对现有神经网络架构搜索方法在搜索过程中容易陷入小模型陷阱,本发明设计一种适应度评估机制衡量候选卷积神经网络质量,只保留性能良好的个体,并进行下一代训练。同时,提出一种形成代理数据集的方法,进一步加速搜索过程。
3)针对现有神经网络架构搜索方法的搜索空间仅采用ResNet Block和DenseNetBlock等深度模块,本发明除了ResNet Block和DenseNet Block等深度模块外,还引入Inception和带残差块的Inception宽度模块,从深度和宽度结构设计神经网络的搜索空间。
附图说明
图1为本发明流程框图;
图2为本发明结点块设计图;
图3为本发明神经网络搜索方法示意图。
具体实施方式
为使本发明的技术方案和技术优点更加清楚,下面结合附图和具体实施方案对本发明进一步说明。
如图1所示,一种基于遗传算法的卷积神经网络设计方法,包括以下步骤:
S1:将数据集划分为训练数据集和测试数据集,对训练数据集进一步采样形成代理数据集和验证数据集,后对代理数据集进行数据增强和预处理;
采用两种方法形成代理数据集。第一种方法是随机从整个数据集中采样一个子集作为评估数据集,剩余的数据作为测试数据集,其中采样率为80%。随机采样方式保留了整个数据集的特性,从而降低了模型的损耗。另一种方法是对评估数据集进一步划分,形成代理数据集和验证数据集,划分比例为8:2,事实上,只要保证代理数据集占评估数据集的70%以上均可,但发明人经过大量实验发现划分比例为8:2时,实验效果最佳。
对代理数据集通过随机旋转15°,随机镜像翻转、和随机裁剪等方式进行图像增强,后对整个数据集进行归一化操作。
S2:设计构成卷积神经网络的结点块,并采用十进制与二进制融合的编码方式,实现候选卷积神经网络可深度搜索;
构成卷积神经网络的结点块包括ResNet Block和DenseNet Block深度模块、Inception和带残差块的Inception宽度模块、对特征图进行下采样操作的TransitionBlock、禁用模块以及全连接模块,如图2所示,图中Res_33和Res_131分别表示两个3×3大小卷积层构成的ResNet Block和一个1×1大小卷积层与一个3×3大小卷积层再与一个1×1大小卷积层相连接构成的ResNet Block;Den_5和Den_3分别表示5个3×3卷积层构成的DenseNet块和3个3×3卷积层构成的DenseNet块;Incep_135M表示该模块由1×1、3×3、5×5和Maxpool组成的Inception模块,Incep_13M表示该模块在Incep_135M上去除5×5大小的卷积层构成;Incep_135M_R和Incep_13M_R是在Incep_135M和Incep_13M基础上添加跳跃连接构成的有残差块的Inception块。
根据结点块与遗传算法特性,采用十进制与二进制融合的编码方式。由于确定最终CNN结构之前,针对特定问题的最优深度是未知的,因此本发明引入禁用模块,实现CNN可便深度搜索。CNN的深度对其性能影响显著,引入禁用模块后,该编码方式不受初始长度限制,更有机会搜索到最优的结构。
在本实施例中,设置索引为0、1为ResNet Block;索引2、3为DenseNet Block;索引4、5为Inception Block;6、7为带有残差块的Inception Block;索引8表示TransitionBlock;索引9表示禁用块,当编码为9时,该层被禁用;索引10、11为全连接层模块,具体编码方式如表1所示,其中Full_512表示全连接神经元个数为512,Full_256表示全连接神经元个数为256。
表1 编码方式
十进制编码 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
二进制编码 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 |
模块 | Res_33 | Res_131 | Den_5 | Den_3 | Incep_13M | Incep_135M | Incep_13M_R |
表1(续)编码方式
十进制编码 | 7 | 8 | 9 | 10 | 11 |
二进制编码 | 0111 | 1000 | 1001 | 1010 | 1011 |
模块 | Incep_135M_R | Transition | 禁用块 | Full_512 | Full_256 |
S3:设计一种代理模型,用于预测新解决方案所代表的候选卷积神经网络是否优于迄今为止最差解决方案所代表候选卷积神经网络,将预测卷积神经网络性能问题转化为一个二值分类问题;
本发明在使用遗传算法选择个体时,只选择适应度值较高的个体,所以当新解表现出不好的趋势时,不需要花费过多时间获取适应度值。因此设计一种训练时间与评估时间较短的代理模型预测整个训练过程,代理模型M(x)具体表达式如下:
f(z)=max(0,x)
M(x)=f(wixi+b)
式中,f为一个非线性激活函数,xi为输入特征数,wi为权重系数,b为偏差。
选择一个非线性函数作为代理模型预测两个CNN性能优劣,主要原因如下:网络评估过程中收集的训练数据是有限的,非线性函数与线性函数相比具有更好的拟合效果;非线性函数与神经网络相比,不需要大量数据进行训练,并且计算成本更低。
代理模型用于预测新解决方案所代表的候选卷积神经网络是否优于迄今为止最差解决方案所代表候选卷积神经网络,将预测卷积神经网络性能问题转化为一个二值分类问题。
代理模型预训练:将评估过程中收集的评估准确率、最优准确率以及网络编码方式构建形成代理数据集,用于训练代理模型。
S4:随机创建候选卷积神经网络作为初始种群,将代理模型用于评估过程,根据适应度值大小选择当前种群中适应度高的个体,并对个体执行变异操作形成下一代种群,直到迭代完成,确定最优个体,其方法原理如图3所示:
a、随机创建候选卷积神经网络个体:初始化一个长度为15的个体列表,最多具有12个结点块,所述个体列表中第一个结点必须选择特征提取节点,最后一个结点必须为分类层,第二个节点到第12个节点可以选择特征提取模块和禁用模块,第13个节点到第14个节点只能选择禁用模块和全连接模块。所有节点构成初始化种群中单个个体;
在本步骤中,需要利用上述方法创建多个卷积神经网络个体以形成初始种群。
b、根据图像分类任务的评估方式,计算个体适应度值。在本实施例中,利用代理数据集训练候选卷积神经网络20个epoch,使用代理模型预测神经网络性能否优于迄今为止最差解决方案所代表的卷积神经网络。训练过程中采用的损失函数Ls公式如下:
式中yi表示Softmax损失函数接收到的特征值,N表示一个批次的图片数量,n表示分类的类别;
为避免在搜索过程中,网络模型陷入小模型陷阱。在本次实施例中,将候选个体在验证数据集上的准确率与候选个体的模型大小加权求和得到适应度值F,具体计算公式如下:
xmid=CNNi(Dtrain)
Fd=Para(CNNi)
F=αFq+βFd
式中CNN表示当前卷积神经网络模型,Dtrain表示代理数据集,Dval表示验证数据集,para(xmid)表示训练过程中神经网络的权值信息,T(·)表示卷积神经网络在验证数据集上预测是否正确,len(Dval)表示验证数据集图片的数量,Para(CNNi)表示卷积神经网络的参数量,α,β是两个超参数,其中α=1,β=0.5;
c、将个体适应度值进行排序,根据适应度值大小选择当前种群中适应度高的个体,并对个体执行变异操作形成下一代种群,直到迭代完成,确定最优个体。
在本实施例中,选择当前种群中适应度值最高的10个个体作为下一代种群的父代,随机选择6个突变点,修改6个突变点的值,形成10个子代;随机选择3个突变点添加模块,3个突变点删除模块,再次生成10个子代,总过生成20个子代形成下一代种群。迭代完成后,选择最优个体在训练数据集上从头训练。
为了进一步验证本发明的说法,下面采用具体的例子进行说明。
Cifar-10数据集是目前图像处理领域中广泛使用的数据集,并且在图像大小、分类类别和噪声接近真实世界的数据。Cifar-10数据集包含10个类别(如:飞机、鸟、轮船等),由60000张RGB图像组成,尺寸大小为32×32×3,其中,训练集和测试集分别有50000和10000张图像。
本发明方法在Cifar-10数据集上分类精度为94.1%,在一张NVIDIA GeforceRTX2080Ti显卡上搜索耗时3天。与人工设计网络ResNet、DenseNet、有半自动搜索算法Genetic CNN、全自动搜索算法NAS、Meta-QNN相比,本发明方法在分类精度和搜索时长上表现出最好的性能优势,具体如表2所示。
表2 Cifar-10数据集上性能比较
以上实验结果表明,本发明方法能够高效的学习数据特征,并取得较好结果,在神经网络搜索领域中具有可行性和适用性。
Claims (5)
1.一种基于遗传算法的卷积神经网络设计方法,其特征在于,包括以下步骤:
S1:将数据集划分为训练数据集和测试数据集,并对训练数据集进一步随机采样形成代理数据集和验证数据集,而后对代理数据集进行数据增强和预处理;
S2:设计构成卷积神经网络的结点块,并采用十进制与二进制融合的编码方式,实现候选卷积神经网络可深度搜索;
S3:设计一种代理模型,用于预测新解决方案所代表的候选卷积神经网络是否优于迄今为止最差解决方案所代表候选卷积神经网络,将预测卷积神经网络性能问题转化为一个二值分类问题;
S4:随机创建候选卷积神经网络作为初始种群,将代理模型用于评估过程,根据适应度值大小选择当前种群中适应度较高的个体,并对个体执行变异操作形成下一代种群,直到迭代完成,确定最优个体。
2.根据权利要求1所述的方法,其特征在于,步骤S1中,其具体操作为:
a)将数据集划分为训练数据集和测试数据集,对训练集进一步随机采样为代理数据集和验证数据集,采样比例为8:2;
b)对代理数据集通过随机旋转一定角度、随机水平翻折、随机裁剪等方式进行图像增强;
c)对代理数据集进行归一化操作。
3.根据权利要求1所述的方法,其特征在于,步骤S2中,其具体操作为:
a)所述构成卷积神经网络的结点块包括ResNet Block和DenseNet Block深度模块、Inception和带残差块的Inception宽度模块、对特征图进行下采样操作的TransitionBlock以及禁用模块;
b)采用十进制与二进制融合的编码方式对卷积神经网络进行编码,所述十进制与二进制融合的编码方式具体表现形式为利用十进制编码形成候选卷积神经网络,利用二进制编码实现变异操作;
c)实现卷积神经网络可变深度搜索,所述可变深度搜索表现为编码过程中出现禁用模块,在解码过程中,该模块自动删除。
4.根据权利要求1所述的方法,其特征在于,步骤S3中,其具体操作为:
a)所述设计一种代理模型:利用一个训练时间与评估时间较短的代理模型预测整个训练过程;
b)代理模型用于预测新解决方案所代表的候选卷积神经网络是否优于迄今为止最差解决方案所代表候选卷积神经网络,将预测卷积神经网络性能问题转化为一个二值分类问题;
c)代理模型预训练:将评估过程中收集的评估准确率、最优准确率以及网络编码方式构建形成代理数据集,用于训练代理模型。
5.根据权利要求1所述的方法,其特征在于,步骤S4中,其具体操作为:
a)随机创建候选卷积神经网络个体:初始化一个长度为L的个体列表,最多具有B个结点块,所述个体列表中第一个结点必须选择特征提取节点,最后一个结点必须为分类层,第二个节点到第B个节点可以选择特征提取模块和禁用模块,第(B+1)个节点到第(L-1)个节点只能选择禁用模块和全连接模块。所有节点构成初始化种群中单个个体;
b)根据图像分类任务的评估方式,利用代理数据集训练候选卷积神经网络,训练过程中采用的损失函数Ls公式如下:
式中yi表示Softmax损失函数接收到的特征值,N表示一个批次的图片数量,n表示分类的类别;
验证数据集用于评估候选个体的准确率,将候选个体的模型大小与准确率加权求和得到适应度值F,评估过程中具体公式如下;
xmid=CNNi(Dtrain)
Fd=Para(CNNi)
F=αFq+βFd
式中CNN表示当前卷积神经网络模型,Dtrain表示代理数据集,Dval表示验证数据集,para(xmid)表示训练过程中神经网络的权值信息,T(·)表示卷积神经网络在验证数据集上预测是否正确,len(Dval)表示验证数据集图片的数量,Para(CNNi)表示卷积神经网络的参数量,α,β是两个超参数;
c)将个体适应度值进行排序,根据适应度值大小选择当前种群中适应度较高的个体,并对个体执行变异操作形成下一代种群,直到迭代完成,确定最优个体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210538155.5A CN114792126A (zh) | 2022-05-17 | 2022-05-17 | 一种基于遗传算法的卷积神经网络设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210538155.5A CN114792126A (zh) | 2022-05-17 | 2022-05-17 | 一种基于遗传算法的卷积神经网络设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114792126A true CN114792126A (zh) | 2022-07-26 |
Family
ID=82463795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210538155.5A Pending CN114792126A (zh) | 2022-05-17 | 2022-05-17 | 一种基于遗传算法的卷积神经网络设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114792126A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994575A (zh) * | 2023-03-22 | 2023-04-21 | 方心科技股份有限公司 | 一种电力故障诊断神经网络架构设计方法及系统 |
CN117584136A (zh) * | 2024-01-18 | 2024-02-23 | 泰山学院 | 基于人工智能的机器人故障检测方法及系统 |
-
2022
- 2022-05-17 CN CN202210538155.5A patent/CN114792126A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994575A (zh) * | 2023-03-22 | 2023-04-21 | 方心科技股份有限公司 | 一种电力故障诊断神经网络架构设计方法及系统 |
CN115994575B (zh) * | 2023-03-22 | 2023-06-02 | 方心科技股份有限公司 | 一种电力故障诊断神经网络架构设计方法及系统 |
CN117584136A (zh) * | 2024-01-18 | 2024-02-23 | 泰山学院 | 基于人工智能的机器人故障检测方法及系统 |
CN117584136B (zh) * | 2024-01-18 | 2024-03-29 | 泰山学院 | 基于人工智能的机器人故障检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sangiorgio et al. | Robustness of LSTM neural networks for multi-step forecasting of chaotic time series | |
CN111898689B (zh) | 一种基于神经网络架构搜索的图像分类方法 | |
CN110909926A (zh) | 基于tcn-lstm的太阳能光伏发电预测方法 | |
CN111860982A (zh) | 一种基于vmd-fcm-gru的风电场短期风电功率预测方法 | |
CN112966954B (zh) | 一种基于时间卷积网络的防洪调度方案优选方法 | |
CN114792126A (zh) | 一种基于遗传算法的卷积神经网络设计方法 | |
CN111861013B (zh) | 一种电力负荷预测方法及装置 | |
CN112699247A (zh) | 一种基于多类交叉熵对比补全编码的知识表示学习框架 | |
CN110232434A (zh) | 一种基于属性图优化的神经网络架构评估方法 | |
US20220114455A1 (en) | Pruning and/or quantizing machine learning predictors | |
CN112465120A (zh) | 一种基于进化方法的快速注意力神经网络架构搜索方法 | |
CN114118369A (zh) | 一种基于群智能优化的图像分类卷积神经网络设计方法 | |
CN115982141A (zh) | 一种针对时序数据预测的特征优化方法 | |
CN112084877A (zh) | 基于nsga-net的遥感图像识别方法 | |
CN114241267A (zh) | 基于结构熵采样的多目标架构搜索骨质疏松图像识别方法 | |
CN114299344A (zh) | 一种针对图像分类的神经网络结构低成本自动搜索方法 | |
CN115795131B (zh) | 基于人工智能的电子档案分类方法、装置及电子设备 | |
CN113282747A (zh) | 一种基于自动机器学习算法选择的文本分类方法 | |
CN114943866B (zh) | 基于进化神经网络结构搜索的图像分类方法 | |
CN116721327A (zh) | 一种基于泛化界的神经网络架构搜索方法 | |
He et al. | Bd-net: a multiplication-less dnn with binarized depthwise separable convolution | |
CN110866838A (zh) | 基于转移概率预处理的网络表示学习算法 | |
CN115908909A (zh) | 基于贝叶斯卷积神经网络的进化神经架构搜索方法及系统 | |
CN115907775A (zh) | 基于深度学习的个人征信评级方法及其应用 | |
CN115620046A (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 |