一种优化深度卷积神经网络结构的快速进化方法技术

技术编号:18554398 阅读:952 留言:0更新日期:2018-07-28 11:14
一种优化深度卷积神经网络结构的快速进化方法,包括以下步骤:1)使用基于GNP的进化算法有效构建非线性的CNN网络结构,并对CNN结构的各种超参数进行变异以寻找最优的CNN超参数组合;2)在进化过程中,设计了一种多目标的网络结构评价方法,将分类准确率和分类器的复杂程度同时作为优化目标,目的是有效生成具有高分类准确率和简单结构的CNN分类器;3)提出了增量式训练方法,在上一代CNN结构的基础上进行子代CNN结构的训练。本发明专利技术能减少模型的训练次数,降低算法的时间复杂度。

【技术实现步骤摘要】
一种优化深度卷积神经网络结构的快速进化方法
本专利技术涉及一种优化深度卷积神经网络结构的快速进化方法。
技术介绍
随着科技的飞速发展,大数据时代已经到来。深度学习以深度神经网络(DNN)作为模型,在许多人工智能的关键领域取得了十分显著的成果,如图像识别、增强学习、语义分析等。卷积神经网络(CNN)作为一种典型的DNN结构,能有效提取出图像的隐层特征,并对图像进行准确分类,在近几年的图像识别领域得到了广泛的应用。在1998年,LeCun等人提出了LeNet-5卷积网络结构,这一结构被认为是深度学习史上的里程碑。LeNet-5可以识别由32×32像素构成的手写字图像,但是由于LeNet-5的结构较为简单,以及当时计算力的匮乏,LeNet-5并没有在图像分类上取得显著成果。2012年,Alex等人搭建了深度学习算法AlexNet,利用深度学习技术大大降低了ImageNet图像分类的错误率,使深度学习收到了广泛的关注。之后,ResNet,DenseNetandGoogleNet等网络框架也陆续被提出,这些算法通过添加相应的模块极大的拓展了CNN的深度,进一步提高深度学习在图像分类上的准确率。进化计算作为一种经典的优化参数方法,在很早之前就被用于优化神经网络结构。原始的神经网络不使用梯度下降算法而是用进化计算方法来优化权重参数。进化计算是一个自然的选择过程,交叉和变异重组现有的神经网络的一部分,以获得突变率更好的后代,与神经网络具有很好的匹配性。优化网络权重的进化方法有CMA-ES算法、SANE算法和ESP算法。CMA-ES是一种持续优化的技术,这种方法捕捉权重之间的相互作用,并在优化权重方面效果良好。SANE和ESP发展部分网络结构并将其组合成功能完善的网络。现在的进化算法更多地被用来优化神经网络的结构和超参数。Masanori等提出了CGP-CNN算法。他们试图自动构建基于笛卡尔遗传规划(CGP)的图像分类任务的CNN体系结构,采用功能强大的模块作为CGP的节点功能来评估网络结构。Fernando等通过一个自编码器演化成一个组合模式产生网络(CPPN)输出神经网络的权重,然后使用拉马克自适应将训练后的权重整合到CPPN基因组中。Duforq等提出了EvolutionaryDEepNetworks(EDEN)算法,这种算法能有效进化出具有一定分类准确率且结构较为简单的CNN分类器。更重要的是,这种方法仅仅在单个GPU上运行6-24小时就能完成整个进化过程,这大大提高了进化计算的优化效率。Audrey等提出了SES-CNN,他们在进化过程中利用有性繁殖方法来加速演化发展,目标是通过结合两个父代网络,在后代中合成更多样化和更一般化的后代网络,使产生的后代具有更紧凑的特征表示。lorenzo等将粒子群优化(PSO)应用于CNN中的超参数选择,并设计了基于粒子群优化的并行计算法方法来简化进化算法的运行时间,其目的是为了达到负载平衡并执行并发任务。Miikkulainen等基于NEAT的神经进化技术提出了CoDeepNEAT算法,在这种算法中,蓝图由一个个模块搭建而成,通过对模块的重用来寻找最优的网络结构。Shafiee等在优化过程中引入了概率模型,通过概率分布呈现遗传编码和环境条件。Zoph等结合强化学习与递归神经网络来获得良好的体系结构,在800个GPU上训练了800个网络类获得最优解。Real等使用神经进化方法,使用在250台计算机上执行的并行系统来优化用于图像分类问题的CNN分类器。
技术实现思路
为了克服现有进化CNN结构算法存在时间复杂度高、对CNN模型的评价指标单一的不足,本专利技术提供一种时间复杂度较低、评价指标较为合理的优化深度卷积神经网络结构的快速进化方法,使用基于GNP的进化算法有效构建非线性的CNN网络结构,并对CNN结构的各种超参数进行变异以寻找最优的CNN超参数组合;在进化过程中,该算法设计了一种多目标的网络结构评价方法,能有效精简网络结构并使网络结构能实现较好的分类效果;最后,算法还提出了增量式训练的概念,在上一代CNN结构的基础上进行子代CNN结构的训练,这种方法能有效减少模型的训练次数,降低算法的时间复杂度。本专利技术解决其技术问题所采用的技术方案是:一种优化深度卷积神经网络结构的快速进化方法,所述进化方法包括以下步骤:1)基于GNP的CNN优化方法使用GNP作为进化过程的基础算法,进化过程包含以下操作:种群初始化、优秀个体选择、交叉操作和变异操作,过程如下:1.1)在种群的初始化中,用一个网络结构来表示一个进化种群,一个网络结构表示为Phenotype和Genotype两种形式,在Phenotype中,一个个不同形状的图形表示不同的CNN模块,不同的路径代表不同的初始化染色体,在初始化过程中,所有染色体的结构均是随机生成,Genotype展示了对每条染色体的具体编码方式,对所述CNN模块中的超参数进行编码;1.2)种群的初始化完成后,对得到的CNN结构使用训练数据进行训练,并测试这些分类器的分类效果,选取性能较好的分类器进行交叉和变异;以GNP算法为基础,设计了相应的交叉和变异策略用来更新染色体的结构和超参数;过程如下:1.2.1)交叉是通过交换两条染色体的部分结构来得到新染色体的操作,要进行交叉操作,首先需要选择两条染色体作为交叉的对象;采用竞标赛选择法实现对染色体对象的选取,通过竞标赛选择法,将选取两条染色体作为交叉过程中的父代染色体,选取完毕后,在两个染色体中分别随机选取交叉点,在原有的种群网络结构图中,通过修改两个父代染色体在交叉点的连接路径,即可实现染色体的交叉操作;1.2.2)变异是通过变异染色体的超参数和网络结构来实现对新染色体的构建的,首先也需要通过竞标赛选择法选取父代染色体,父代染色体选取完成后,为当前染色体设计了两种变异策略:结构变异和超参数变异,结构变异用于改变CNN分类器的深度,进化出能有效提取图像特征的CNN结构;超参数的变异用于寻找每个模块的最优参数组合;1.3)在进化过程中,通过设置种群的交叉概率和变异概率来控制每一代进化过程中产生的子代数量,在任意一代的进化过程中,首先对通过交叉变异而得到的子代CNN结构进行训练,使其成为一个个图像分类器,再将这些子代分类器和父代分类器合并,根据每个分类器的结构复杂度和测试准确率设定一种多目标评价方法,选择性能较好的分类器进入下一轮的CNN结构进化;2)多目标的网络评价及其优化方法将分类器的分类准确率和结构复杂度作为优化目标,使用多目标优化方法对一个分类器进行评价,使进化计算能最终产生符合实际应用的最优CNN分类器。进一步,所述步骤2)中,在进化计算的过程中,借鉴密度估计方法对PF曲线上的Pareto最优解集进行fitness函数值的计算,从而确定每个Pareto解的具体优化指标;对于MOP问题中的任意一个解xi,定义了关于该解的两个指标:irank和idistance,irank表示该解的支配等级,irank越小表示支配等级越高,对应的解越好;idistance表示这个点的拥挤距离,idistance越大表示当前点的覆盖度大,对应的解越接近最优;对于两个具有不同rank值的解向量,选取具有较低rank值的解作为最优解,本文档来自技高网
...

【技术保护点】
1.一种优化深度卷积神经网络结构的快速进化方法,其特征在于:所述进化方法包括以下步骤:1)基于GNP的CNN优化方法使用GNP作为进化过程的基础算法,进化过程包含以下操作:种群初始化、优秀个体选择、交叉操作和变异操作,过程如下:1.1)在种群的初始化中,用一个网络结构来表示一个进化种群,一个网络结构表示为Phenotype和Genotype两种形式,在Phenotype中,一个个不同形状的图形表示不同的CNN模块,不同的路径代表不同的初始化染色体,在初始化过程中,所有染色体的结构均是随机生成,Genotype展示了对每条染色体的具体编码方式,对所述CNN模块中的超参数进行编码;1.2)种群的初始化完成后,对得到的CNN结构使用训练数据进行训练,并测试这些分类器的分类效果,选取性能较好的分类器进行交叉和变异;以GNP算法为基础,设计了相应的交叉和变异策略用来更新染色体的结构和超参数;过程如下:1.2.1)交叉是通过交换两条染色体的部分结构来得到新染色体的操作,要进行交叉操作,首先需要选择两条染色体作为交叉的对象;采用竞标赛选择法实现对染色体对象的选取,通过竞标赛选择法,将选取两条染色体作为交叉过程中的父代染色体,选取完毕后,在两个染色体中分别随机选取交叉点,在原有的种群网络结构图中,通过修改两个父代染色体在交叉点的连接路径,即可实现染色体的交叉操作;1.2.2)变异是通过变异染色体的超参数和网络结构来实现对新染色体的构建的,首先也需要通过竞标赛选择法选取父代染色体,父代染色体选取完成后,为当前染色体设计了两种变异策略:结构变异和超参数变异,结构变异用于改变CNN分类器的深度,进化出能有效提取图像特征的CNN结构;超参数的变异用于寻找每个模块的最优参数组合;1.3)在进化过程中,通过设置种群的交叉概率和变异概率来控制每一代进化过程中产生的子代数量,在任意一代的进化过程中,首先对通过交叉变异而得到的子代CNN结构进行训练,使其成为一个个图像分类器,再将这些子代分类器和父代分类器合并,根据每个分类器的结构复杂度和测试准确率设定一种多目标评价方法,选择性能较好的分类器进入下一轮的CNN结构进化;2)多目标的网络评价及其优化方法将分类器的分类准确率和结构复杂度作为优化目标,使用多目标优化方法对一个分类器进行评价,使进化计算能最终产生符合实际应用的最优CNN分类器。...

【技术特征摘要】
1.一种优化深度卷积神经网络结构的快速进化方法,其特征在于:所述进化方法包括以下步骤:1)基于GNP的CNN优化方法使用GNP作为进化过程的基础算法,进化过程包含以下操作:种群初始化、优秀个体选择、交叉操作和变异操作,过程如下:1.1)在种群的初始化中,用一个网络结构来表示一个进化种群,一个网络结构表示为Phenotype和Genotype两种形式,在Phenotype中,一个个不同形状的图形表示不同的CNN模块,不同的路径代表不同的初始化染色体,在初始化过程中,所有染色体的结构均是随机生成,Genotype展示了对每条染色体的具体编码方式,对所述CNN模块中的超参数进行编码;1.2)种群的初始化完成后,对得到的CNN结构使用训练数据进行训练,并测试这些分类器的分类效果,选取性能较好的分类器进行交叉和变异;以GNP算法为基础,设计了相应的交叉和变异策略用来更新染色体的结构和超参数;过程如下:1.2.1)交叉是通过交换两条染色体的部分结构来得到新染色体的操作,要进行交叉操作,首先需要选择两条染色体作为交叉的对象;采用竞标赛选择法实现对染色体对象的选取,通过竞标赛选择法,将选取两条染色体作为交叉过程中的父代染色体,选取完毕后,在两个染色体中分别随机选取交叉点,在原有的种群网络结构图中,通过修改两个父代染色体在交叉点的连接路径,即可实现染色体的交叉操作;1.2.2)变异是通过变异染色体的超参数和网络结构来实现对新染色体的构建的,首先也需要通过竞标赛选择法选取父代染色体,父代染色体选取完成后,为当前染色体设计了两种变异策略:结构变异和超参数变异,结构变异用于改变CNN分类器的深度,进化出能有效提取图像特征的CNN结构;超参数的变异用于寻找每个模块的最优参数组合;1.3)在进...

【专利技术属性】
技术研发人员:陈晋音林翔熊晖俞山青宣琦
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

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

1