CN114091650A - 一种深度卷积神经网络架构的搜索方法和应用 - Google Patents
一种深度卷积神经网络架构的搜索方法和应用 Download PDFInfo
- Publication number
- CN114091650A CN114091650A CN202111023073.9A CN202111023073A CN114091650A CN 114091650 A CN114091650 A CN 114091650A CN 202111023073 A CN202111023073 A CN 202111023073A CN 114091650 A CN114091650 A CN 114091650A
- Authority
- CN
- China
- Prior art keywords
- particle
- layer
- neural network
- particles
- convolutional neural
- 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/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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种深度卷积神经网络架构的搜索方法和应用,通过多目标粒子群优化迭代一系列的帕累托前沿,逐步搜索出最优帕累托前沿,根据膝盖导向法则,找出全局最优解。全局最优解表示为最佳的深度卷积神经架构模型,该模型既要保证了较低的损失函数值,也减少模型的参数量,相对于强化学习算法和梯度优化算法,粒子群优化算法无需训练智能体或松弛离散空间到连续空间,显著简化搜索步骤和缩短搜索过程。
Description
技术领域
本发明涉及神经网络领域,更具体地,涉及一种深度卷积神经网络架构的搜索方法和应用。
背景技术
卷积神经网络作为最重要的深度学习模型之一,由于具有良好的特征提取能力和泛化能力,在图像处理、目标跟踪与检测、自然语言处理、人脸识别、医疗诊断诸多领域获得了巨大成功。目前,传统的卷积神经网络通过手工设计非常深层的神经网络结构,用于提取表达能力更强的深度特征。然而,性能优秀的深度卷积神经网络架构需要设计者具有丰富的工程经验和理论基础,,以及大量重复的实验,导致研究成本和时间成本极高。
为了降低对设计者的要求,神经网络架构搜索方法得到了越来越多专家和学者的关注。神经网络架构搜索方法是指根据某种搜索策略,在特定的搜索空间内,自动设计出解决特定任务的高性能神经网络架构。到目前为止,针对神经网络架构搜索问题的优化算法主要分为五类,分别是强化学习、进化计算、梯度下降、基于代理模型的架构优化和混合架构优化。一些神经网络架构搜索方法在图像分类、语义分割等视觉任务的模型性能已经超过了手工设计的神经网络架构模型。但先进的深度神经网络模型往往包含有几十甚至上百卷积层,超参数量动辄上百万,对存储设备和计算资源的要求非常高,常用的便携式设备无法满足该需求,这严重限制了深度卷积神经网络在便携式设备上的发展与应用。
针对图像分类精度的单目标神经网络架构搜索方法显然无法满足以上提及的需求。不同于单目标优化问题,多目标优化问题存在多个目标,而多个目标之间往往相互冲突,某一目标性能的提高会引起其他目标性能的降低,因此只能通过权衡折中的方法使所有目标尽可能地达到最优。既要保证深度卷积神经网络的良好性能,又要模型的空间尺寸足够小,以部署在便携式设备上,这是一类基于多目标优化的神经网络架构搜索问题。
现有的技术中,中国发明专利CN111382868A公开了“神经网络结构搜索方法和神经网络结构搜索装置”,公开日为2020年07月07日,根据给定搜索空间和目标设备的资源约束条件来训练采样模型,以使得该采样模型从该给定搜索空间中采样得到满足该资源约束条件的神经网络结构,然后使用该采样模型从该采样模型从该给定搜索空间中采样得到的候选搜索空间,并搜索目标神经网络结构。本发明可以保证搜索得到满足目标设备的资源约束条件的神经网络,从而可以提高神经网络结构的搜索效率,但是对于多目标的搜索会相互冲突,对于每个目标都需要训练深度卷积神经网络。
发明内容
本发明为解决现有的算法需要预先训练大量深度卷积神经网络以及模型压缩处理,同时在搜索过程中无法适应因环境演变带来的数据变化的技术缺陷,提供了一种深度卷积神经网络架构的搜索方法和应用。
为实现以上发明目的,采用的技术方案是:
一种深度卷积神经网络架构的搜索方法,包括以下步骤:
S1:初始化粒子群,将各个粒子的初始位置存储到个体最优解,生成各个粒子的位置编码;
S2:编译位置编码,构建深度卷积神经网络,在图像验证集上分别计算损失函数值和浮点运算数;
S3:根据损失函数值和浮点运算数,对粒子群进行非支配排序,得到初始的帕累托前沿,运用膝盖导向的多目标优化评价,得到全局最优粒子和个体最优粒子;
S4:根据全局最优粒子和个体最优粒子计算各个粒子的速度编码并跟新粒子群的所在位置编码,得到初始的帕累托前沿;
S5:全局最优解达到指标要求,搜索出最佳平衡解对应的深度卷积神经网络架构模型;若全局最优解未达到指标要求,重新开始初始化粒子,计算各个粒子的速度和更新其位置编码。
上述方案中,通过多目标粒子群优化迭代一系列的帕累托前沿,逐步搜索出最优帕累托前沿,根据膝盖导向法则,找出全局最优解。全局最优解表示为最佳的深度卷积神经架构模型,该模型既要保证了较低的损失函数值,也减少模型的参数量,相对于强化学习算法和梯度优化算法,粒子群优化算法无需训练智能体或松弛离散空间到连续空间,显著简化搜索步骤和缩短搜索过程。
优选的,在步骤S1中,每个粒子都有自己的位置和速度,粒子的当前速度决定它的移动方向和移动距离,每个粒子都由一个适应度函数来评价自身当前的位置,在解空间中各个粒子存储和跟踪个体最优位置和粒子群的全局最优位置。
优选的,根据给定的粒子群个体数量N、最大神经网络层数量lmax、最大卷积核尺寸kelmax、最大全连接隐藏层神经元数量hidmax和全连接输出层神经元数量numout,初始化生成粒子群swarm={P1,P2,...,PN}。
优选的,在步骤S2中,每个粒子的位置编码表达一个卷积神经网络模型,若干个卷积神经网络模型构建一个深度卷积神经网络。
优选的,一个完整的卷积神经网络模型可由一个数组来描述,每个数组的元素代表一个卷积神经网络层,数组的每个元素由字符串构成,字符串的范围为卷积、最大池化、平均池化以及全连接。
优选的,卷积神经网络的每一层需在符合规则的范围内随机选择网络层,其规则如下:粒子的位置长度由随机数决定,模型的层数至少有3层;模型的第一层和最后一层分别是卷积层和全连接层;全连接层位于所有卷积层和所有池化层的后面;卷积层的输出特征映射数量的范围为[1,mapsmax],mapsmax表示最大输出特征映射数量;卷积层的每个卷积核尺寸的范围为[3×3,kelmax×kelmax],kelmax表示最大卷积核尺寸,卷积核的窗口滑动步长为1×1;池化层的池化核尺寸为3×3,池化核的窗口步长为2×2;全连接层的隐藏层神经元数量范围为[1,hidmax],hidmax表示最大神经元数量;所有网络层的激活函数采用修正线性单元;模型的池化层数量受限于输入数据的尺寸。
优选的,在步骤S3中,基于最小曼哈顿距离的膝盖导向多目标优化评价机制,找到粒子群的全局最优解,在损失函数值和浮点运算数的二维解空间上进行非支配排序,得到帕累托前沿。
假设在第q次迭代的粒子群中,第i个粒子对应的个体最优解为pBesti,在第q+1次迭代,第i个粒子对应的位置编码pi需要与pBesti进行作支配关系分析和更新操作,若pi是非支配且pBesti是被支配的,pi>pBesti,则更新个体最优解为pBesti=pi;若pi是被支配且pBesti是非支配的,pi<pBesti,则个体最优解不变;若pi和pBesti互为非支配关系,则使用最小曼哈顿距离方法寻找局部膝盖解并且更新个体最优解:
优选的,对于变量空间中的一个可行解,若可行解不被变量空间中的其他解支配,则称可行解为帕累托最优解,由变量空间中所有帕累托最优解组成的集合为帕累托最优解集,其对应的所有目标向量组成的集合称为帕累托前沿。
优选的,在步骤S4中,在目标粒子的位置编码与当前粒子的位置编码之间作比较,在比较之前,将粒子的位置编码拆分为两个部分,第一部分是卷积层和池化层,第二部分是全连接层,若两个粒子对应位置的编码元素相同,则元素之差为“N”,当前粒子的位置编码元素不更新;若两个粒子对应位置的编码元素不同,则元素之差选择目标粒子的位置编码元素;若目标粒子的位置编码元素存在,当前粒子对应的元素空缺,则元素之差为目标粒子的位置编码元素,插入一个元素;反之,目标粒子的位置编码元素空缺,而当前粒子对应的元素存在,则元素之差为“M”,并且在元素前标记“-”号,代表去除当前粒子的位置编码元素。
与现有技术相比,本发明的有益效果是:
本发明提供的一种深度卷积神经网络架构的搜索方法和应用,通过多目标粒子群优化迭代一系列的帕累托前沿,逐步搜索出最优帕累托前沿,根据膝盖导向法则,找出全局最优解。全局最优解表示为最佳的深度卷积神经架构模型,该模型既要保证了较低的损失函数值,也减少模型的参数量,相对于强化学习算法和梯度优化算法,粒子群优化算法无需训练智能体或松弛离散空间到连续空间,显著简化搜索步骤和缩短搜索过程。
附图说明
图1为本发明的方法流程图;
图2为本发明的基于最小曼哈顿距离方法的膝盖导向多目标优化算法示意图;
图3为本发明当前粒子的速度计算和位置更新示例图;
图4为本发明得到便携设备可部署的图像分类模型的方法流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图1所示,一种深度卷积神经网络架构的搜索方法,包括以下步骤:
S1:初始化粒子群,将各个粒子的初始位置存储到个体最优解,生成各个粒子的位置编码;
S2:编译位置编码,构建深度卷积神经网络,在图像验证集上分别计算损失函数值和浮点运算数;
S3:根据损失函数值和浮点运算数,对粒子群进行非支配排序,得到初始的帕累托前沿,运用膝盖导向的多目标优化评价,得到全局最优粒子和个体最优粒子;
S4:根据全局最优粒子和个体最优粒子计算各个粒子的速度编码并跟新粒子群的所在位置编码,得到初始的帕累托前沿;
S5:全局最优解达到指标要求,搜索出最佳平衡解对应的深度卷积神经网络架构模型;若全局最优解未达到指标要求,重新开始初始化粒子,计算各个粒子的速度和更新其位置编码。
上述方案中,通过多目标粒子群优化迭代一系列的帕累托前沿,逐步搜索出最优帕累托前沿,根据膝盖导向法则,找出全局最优解。全局最优解表示为最佳的深度卷积神经架构模型,该模型既要保证了较低的损失函数值,也减少模型的参数量,相对于强化学习算法和梯度优化算法,粒子群优化算法无需训练智能体或松弛离散空间到连续空间,显著简化搜索步骤和缩短搜索过程。
优选的,在步骤S1中,每个粒子都有自己的位置和速度,粒子的当前速度决定它的移动方向和移动距离,每个粒子都由一个适应度函数来评价自身当前的位置,在解空间中各个粒子存储和跟踪个体最优位置和粒子群的全局最优位置。
优选的,根据给定的粒子群个体数量N、最大神经网络层数量lmax、最大卷积核尺寸kelmax、最大全连接隐藏层神经元数量hidmax和全连接输出层神经元数量numout,初始化生成粒子群swarm={P1,P2,...,PN}。
优选的,在步骤S2中,每个粒子的位置编码表达一个卷积神经网络模型,若干个卷积神经网络模型构建一个深度卷积神经网络。
优选的,一个完整的卷积神经网络模型可由一个数组来描述,每个数组的元素代表一个卷积神经网络层,数组的每个元素由字符串构成,字符串的范围为卷积、最大池化、平均池化以及全连接。
优选的,卷积神经网络的每一层需在符合规则的范围内随机选择网络层,其规则如下:粒子的位置长度由随机数决定,模型的层数至少有3层;模型的第一层和最后一层分别是卷积层和全连接层;全连接层位于所有卷积层和所有池化层的后面;卷积层的输出特征映射数量的范围为[1,mapsmax],mapsmax表示最大输出特征映射数量;卷积层的每个卷积核尺寸的范围为[3×3,kelmax×kelmax],kelmax表示最大卷积核尺寸,卷积核的窗口滑动步长为1×1;池化层的池化核尺寸为3×3,池化核的窗口步长为2×2;全连接层的隐藏层神经元数量范围为[1,hidmax],hidmax表示最大神经元数量;所有网络层的激活函数采用修正线性单元;模型的池化层数量受限于输入数据的尺寸。
优选的,在步骤S3中,基于最小曼哈顿距离的膝盖导向多目标优化评价机制,找到粒子群的全局最优解,在损失函数值和浮点运算数的二维解空间上进行非支配排序,得到帕累托前沿。
假设在第q次迭代的粒子群中,第i个粒子对应的个体最优解为pBesti,在第q+1次迭代,第i个粒子对应的位置编码pi需要与pBesti进行作支配关系分析和更新操作,若pi是非支配且pBesti是被支配的,pi>pBesti,则更新个体最优解为pBesti=pi;若pi是被支配且pBesti是非支配的,pi<pBesti,则个体最优解不变;若pi和pBesti互为非支配关系,则使用最小曼哈顿距离方法寻找局部膝盖解并且更新个体最优解:
优选的,对于变量空间中的一个可行解,若可行解不被变量空间中的其他解支配,则称可行解为帕累托最优解,由变量空间中所有帕累托最优解组成的集合为帕累托最优解集,其对应的所有目标向量组成的集合称为帕累托前沿。
优选的,在步骤S4中,在目标粒子的位置编码与当前粒子的位置编码之间作比较,在比较之前,将粒子的位置编码拆分为两个部分,第一部分是卷积层和池化层,第二部分是全连接层,若两个粒子对应位置的编码元素相同,则元素之差为“N”,当前粒子的位置编码元素不更新;若两个粒子对应位置的编码元素不同,则元素之差选择目标粒子的位置编码元素;若目标粒子的位置编码元素存在,当前粒子对应的元素空缺,则元素之差为目标粒子的位置编码元素,插入一个元素;反之,目标粒子的位置编码元素空缺,而当前粒子对应的元素存在,则元素之差为“M”,并且在元素前标记“-”号,代表去除当前粒子的位置编码元素。
实施例2
粒子群优化算法,其主要思想是在N个粒子的粒子群中,每个粒子都有自己的位置和速度,粒子的当前速度决定它的移动方向和移动距离,每个粒子都由一个适应度函数来评价自身当前的位置,在解空间中各个粒子存储和跟踪个体最优位置和粒子群的全局最优位置。针对粒子群的第i个粒子,其速度公式以及位置更新公式如下:
vi(q-1)=wvi(q)-c1r1(pBesti-x1(q))-c2r2(gBest-xi(q)),
xi(q-1)=xi(q)-vi(q-1).
其中,vi(q)是粒子的当前速度,vi(q+1)是粒子更新后的速度,xi(q)是粒子的当前位置,xi(q+1)是粒子的更新后的位置,pBesti是粒子的当前个体最优位置, gBest是粒子群的当前全局最优位置,w是惯性权重,c1和c2是加速系数,r1和 r2是在区间[0,1]的随机数。
在本发明实施例中,不再使用单目标的适应度函数评价机制,而是基于多目标优化的评价机制。多目标优化涉及到解向量的支配关系和帕累托前沿的分析。针对多目标最小化问题,假设X1和X2是多目标优化问题两个解,fi(·)是第i个目标函数,m是目标个数。当且仅当下式成立,
称X1帕累托支配X2,记作X1>X2。其中,X1是非支配的,X2是被支配的。对于变量空间中的一个可行解X*,若X*不被变量空间中的其他解支配,则称X*为帕累托最优解。由变量空间中所有帕累托最优解组成的集合为帕累托最优解集。令PS为一个帕累托最优解集,其对应的所有目标向量组成的集合称为帕累托前沿:
PF={F(X*)=(f1(X*),f2(X*),...,fm(X*))|X*∈PS}.
每个粒子的位置编码表达一个卷积神经网络模型。N个粒子组成粒子群空间生成N个卷积神经网络模型,通过多目标粒子群优化迭代一系列的帕累托前沿,逐步搜索出最优帕累托前沿,根据膝盖导向法则,找出最优的平衡解。最优平衡解表示为最佳卷积神经网络模型,该模型既要保证较低的损失函数值,也要尽量减少模型的参数量。
实施例3
本发明的实施例中,各个粒子的位置使用数组表示。数组的每个元素由字符串构成,字符串可选范围为卷积、最大池化、平均池化以及全连接。每个数组的元素代表一个卷积神经网络层L,一个完整的卷积神经网络模型可由一个数组来描述。在编码初始化和后续更新过程中,卷积神经网络的每一层需在符合规则的范围内随机选择网络层,其规则如下:粒子的位置长度由随机数决定,但随机数至少是3,即模型的层数至少有3层;模型的第一层和最后一层分别是卷积层和全连接层;全连接层不可用于替代卷积层或者池化层;全连接层必须位于所有卷积层和所有池化层的后面;每当构建一个全连接层,当前层之后所构建的网络层也必须为全连接层;卷积层的输出特征映射数量的范围为[1,mapsmax],mapsmax表示最大输出特征映射数量;卷积层的每个卷积核尺寸的范围为 [3×3,kelmax×kelmax],kelmax表示最大卷积核尺寸,卷积核的窗口滑动步长为 1×1;池化层(最大池化、平均池化)的池化核尺寸为3×3,池化核的窗口步长为 2×2;全连接层的隐藏层神经元数量范围为[1,hidmax],hidmax表示最大神经元数量;所有网络层的激活函数采用修正线性单元;模型的池化层数量受限于输入数据的尺寸,如,针对28×28的数据集输入尺寸,最多只能增加3个池化层。
以下给出第i个粒子的位置编码例子:
Particlei.position=[′Conv_5×5′,′Conv_5×5′,′Avg_Pool_5×5′,′Conv_3×3′,
′Max_Pool_3×3′,′Connect′,Connect′,Connect′]。
实施例4
如图2所示,在当前迭代q中,所有粒子位置编码对应的卷积神经网络模型进行分类精度测试和浮点运算数计算。根据损失函数值loss和浮点运算数FLOPs 两个目标,对当前粒子群进行非支配排序,从而获得帕累托前沿。令当前粒子群的所有粒子位置编码的集合为以及令粒子的位置为针对帕累托前沿,使用最小曼哈顿距离方法寻找全局膝盖解:
其中,loss(·)为粒子位置编码pi对应卷积神经网络模型的损失函数值,FLOPs(·) 为粒子位置编码pi对应卷积神经网络模型的浮点运算数,
最小曼哈顿距离方法的思想是,在归一化处理后,找到最接近于理想点的膝盖解。本发明实施例采用全局膝盖解作为整个粒子群的全局最优解。图2展示基于最小曼哈顿距离方法的膝盖导向多目标优化方法的例子。
粒子群优化算法的基础是粒子群中信息的社会共享,不仅仅需要整个粒子群的全局最优解,还需要粒子在个体搜索历史上的个体最优解。假设在第q次迭代的粒子群中,第i个粒子对应的个体最优解为pBesti。在第q+1次迭代,第i个粒子对应的位置编码pi需要与pBesti进行作支配关系分析和更新操作。若pi是非支配且pBesti是被支配的,pi>pBesti,则更新个体最优解为pi=pBesti;若pi是被支配且pBesti是非支配的,pi<pBesti,则个体最优解不变;pi和pBesti互为非支配关系,则使用最小曼哈顿距离方法寻找局部膝盖解并且更新个体最优解:
因此,粒子群的全局最优解gBest和各个粒子的个体最优解pBesti可通过基于膝盖导向的多目标优化评价机制而确定。
实施例5
在本发明实施例中,为了计算各个粒子的速度,需要在目标粒子的位置编码与当前粒子的位置编码之间作比较,求出目标粒子与当前粒子的位置距离。本实施例中,目标粒子是个体最优粒子或者全局最优粒子。在两个粒子进行比较之前,将粒子的位置编码拆分为两个部分,第一部分是卷积层和池化层以及第二部分是全连接层。本实施例的拆分操作可避免在更新环节中卷积层或池化层之间出现全连接层。在比较过程中,两个部分各自独立比较,并且是按位置编码元素逐个比较。若两个粒子对应位置的编码元素相同,则元素之差为“N”,当前粒子的位置编码元素不更新;若两个粒子对应位置的编码元素不同,则元素之差选择目标粒子的位置编码元素;若目标粒子的位置编码元素存在,当前粒子对应的元素空缺,则元素之差为目标粒子的位置编码元素,插入一个元素;反之,目标粒子的位置编码元素空缺,而当前粒子对应的元素存在,则元素之差为“M”,并且在元素前标记“-”号,代表去除当前粒子的位置编码元素。
实施例6
如图3所示,在本实施例的粒子群优化算法中,粒子间的位置距离只有两种,分别是个体最优粒子与当前粒子的位置距离(pBesti-pi)和全局最优粒子与当前粒子的位置距离(gBest-pi)。在粒子速度计算过程中,仍然分为第一部分和第二部分各自独立计算。由于卷积神经网络层是离散变量,本发明实施例根据常数阈值τi和随机变量random的比较,以选择(pBesti-pi)和(gBest-pi)两者的元素之一,作为当前粒子速度编码的元素。其中,τi,random∈[0,1]。若random>τi,则选择(pBesti-pi)的元素;若random≤τi,则选择(gBest-pi)的元素。常数阈值τi越大,选择后者的概率越高,当前粒子就越倾向于全局最优粒子进行移动。
在当前粒子位置编码的更新过程中,根据粒子的速度编码,在对应的位置编码元素进行替换更新,包括神经网络层的拓扑结构和超参数。第一部分和第二部分依然是各自独立操作。若更新后卷积神经网络的池化层过多,超出输入数据尺寸的限制,则需要后向地逐个去除池化层,直至不超过数据尺寸的限制为止。图 3中,带斜划线填充的方框表示来自gBest的神经网络层,带灰色填充的方框表示来自pBesti的神经网络层,“C”表示卷积层,“MP”表示最大池化层,“AP”表示平均池化层,“F”表示全连接层,“-M”表示去除一个神经网络层,“+L”表示增加一个神经网络层L。
实施例7
如图4所示,本发明实施例可应用在MNIST手写数字数据集上实行图像分类任务。MNIST数据集是一个广泛用于测试新型深度学习算法的测试对象。该数据集的是由250个人手写的阿拉伯数字0至9的黑白图像组成,其中训练样本 50000张以及测试样本10000张。
初始化粒子群swarm={P1,P2,...,PN},迭代步为q=1。设置个体数量为N=20,设置粒子群的最大迭代数为num_iterations=500。设置搜索空间:卷积层、池化层以及全连接层,其中,卷积层:{‘conv_7x7’,‘conv_5x5’,‘conv_3x3’},池化层: {‘max_pool_5x5’,‘max_pool_3x3’,‘avg_pool_5x5’,‘avg_pool_3x3’},全连接层:{‘Connect’}。
参数配置如下表:
变量名 | 参数描述 | 值 |
num_iterations | 种群迭代数 | 10 |
swarm_size | 种群内的个体数量 | 20 |
epochs | 训练集训练次数 | 100 |
τ<sub>i</sub> | 速度更新阈值 | 0.7 |
batch_size | 批数据大小 | 32 |
设定每层的概率权重:卷积层是0.6,池化层是0.3,全连接层是0.1。参数选定:最大卷积核尺寸kelmax=7,最大全连接神经元数量hidmax=300,全连接输出层神经元数量numout=10。选中每一层的类型之后,按照均匀概率分布进行选择各自属性,比如,字符编码‘conv_5x5’选中的概率为0.6*0.33333=0.2。按照前述的网络层选择规则,初始化各个粒子的位置编码,其中限制的最小层数为 lmax=3,最大层数为lmin=20。每个粒子对应的神经网络输入尺寸为28x28,输入通道数为1,输出维数为10。初始化batch_size=32,优化器optimizer= Adam(lr=0.001,beta_1=0.9,beta_2=0.999,decay=0.0)。开始迭代之前,将各个粒子的初始位置编码存储到个体最优解。
开始迭代,编译每个粒子Pi的位置编码,构建深度卷积神经网络,在图像数据集上分别计算损失函数值loss和浮点运算数FLOPs,其中,每个粒子Pi的训练次数为epochs_pso=1。
根据损失函数值loss和浮点运算数FLOPs,令当前的粒子群 swarm={P1,P2,...,PN}为解空间,进行快速非支配排序:
PF={F(X*)=(f1(X*),f2(X*),...,fm(X*))|X*∈PS}.
其中,m=2,f1=loss,f2=FLOPs。多个解向量X*组成帕累托前沿PS,运用膝盖导向的多目标优化评价,得到全局最优粒子gBest:
以及个体最优粒子pBesti:
特殊情况下,存在两个个体互为非支配关系,则选择目标函数f1更小的个体,也就是loss更小的个体。
接下来是两个粒子之间的速度比较,其中目标粒子是gBest或者pBesti。在两个粒子进行比较之前,将粒子的位置编码Pi.position拆分为两个部分,第一部分是卷积层和池化层以及第二部分是全连接层。在比较过程中,两个部分各自独立比较,并且是按位置编码元素逐个比较。以下分为3种情况分析:
(1)若两个粒子对应位置的编码元素相同,则元素之差设为空字符null,不改变当前的编码元素;
(2)若两个粒子对应位置的编码元素不同,则元素之差选择目标粒子的位置编码元素;
(3)若目标粒子的位置编码元素存在,当前粒子对应的元素空缺,则元素之差为目标粒子的位置编码元素;反之,目标粒子的位置编码元素空缺,而当前粒子对应的元素存在,则元素之差为‘-M’标记,代表去除当前粒子的位置编码元素。
根据全局最优粒子gBest和个体最优粒子pBesti,计算各个粒子Pi的速度编码vi:
vi(q-1)=wvi(q)-c1r1(pBesti-xi(q))-c2r2(gBest-xi(q)),
其中,惯性权重w=1,两个系数c1=1和c2=1,速度更新阈值τi=0.7,(pBesti- xi)和(gBest-xi)均为速度比较,更新每个粒子的位置编码xi(也就是Pi.position):
xi(q-1)=xi(q)-vi(q-1).
对当前粒子群的每个粒子进行微调权重,设置训练次数为epochs_training=50。将指标要求设为最大迭代数num_iterations=500。
若全局最优解达到指标要求,输出gBest,生成对应的深度卷积神经网络,也就是图像分类模型;若全局最优解未达到指标要求,q=q+1,将更新后的种群 swarm作为下一迭代的种群,重新开始,计算各个粒子的速度和更新其位置编码。按照以上搜索空间设定和参数设置,对MNIST手写数字数据集进行双目标的神经网络架构搜索,最终可得到便携设备可部署的图像分类模型。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种深度卷积神经网络架构的搜索方法,其特征在于,包括以下步骤:
S1:初始化粒子群,将各个粒子的初始位置存储到个体最优解,生成各个粒子的位置编码;
S2:编译位置编码,构建深度卷积神经网络,在图像验证集上分别计算损失函数值和浮点运算数;
S3:根据损失函数值和浮点运算数,对粒子群进行非支配排序,得到初始的帕累托前沿,运用膝盖导向的多目标优化评价,得到全局最优粒子和个体最优粒子;
S4:根据全局最优粒子和个体最优粒子计算各个粒子的速度编码并跟新粒子群的所在位置编码,得到初始的帕累托前沿;
S5:全局最优解达到指标要求,搜索出最佳平衡解对应的深度卷积神经网络架构模型;若全局最优解未达到指标要求,重新开始初始化粒子,计算各个粒子的速度和更新其位置编码。
2.根据权利要求1所述的一种深度卷积神经网络架构的搜索方法,其特征在于,在步骤S1中,每个粒子都有自己的位置和速度,粒子的当前速度决定它的移动方向和移动距离,每个粒子都由一个适应度函数来评价自身当前的位置,在解空间中各个粒子存储和跟踪个体最优位置和粒子群的全局最优位置。
3.根据权利要求2所述的一种深度卷积神经网络架构的搜索方法,其特征在于,根据给定的粒子群个体数量N、最大神经网络层数量lmax、最大卷积核尺寸kelmax、最大全连接隐藏层神经元数量hidmax和全连接输出层神经元数量numout,初始化生成粒子群swarm={P1,P2,...,PN}。
4.根据权利要求3所述的一种深度卷积神经网络架构的搜索方法,其特征在于,在步骤S2中,每个粒子的位置编码表达一个卷积神经网络模型,若干个卷积神经网络模型构建一个深度卷积神经网络;一个完整的卷积神经网络模型由一个数组来描述,每个数组的元素代表一个卷积神经网络层,数组的每个元素由字符串构成,字符串的范围为卷积、最大池化、平均池化以及全连接。
5.根据权利要求4所述的一种深度卷积神经网络架构的搜索方法,其特征在于,卷积神经网络的每一层需在符合规则的范围内随机选择网络层,其规则如下:粒子的位置长度由随机数决定,模型的层数至少有3层;模型的第一层和最后一层分别是卷积层和全连接层;全连接层位于所有卷积层和所有池化层的后面;卷积层的输出特征映射数量的范围为[1,mapsmax],mapsmax表示最大输出特征映射数量;卷积层的每个卷积核尺寸的范围为[3×3,kelmax×kelmax],kelmax表示最大卷积核尺寸,卷积核的窗口滑动步长为1×1;池化层的池化核尺寸为3×3,池化核的窗口步长为2×2;全连接层的隐藏层神经元数量范围为[1,hidmax],hidmax表示最大神经元数量;所有网络层的激活函数采用修正线性单元;模型的池化层数量受限于输入数据的尺寸。
6.根据权利要求5所述的一种深度卷积神经网络架构的搜索方法,其特征在于,在步骤S3中,基于最小曼哈顿距离的膝盖导向多目标优化评价机制,找到粒子群的全局最优解,在损失函数值和浮点运算数的二维解空间上进行非支配排序,得到帕累托前沿。
假设在第q次迭代的粒子群中,第i个粒子对应的个体最优解为pBesti,在第q+1次迭代,第i个粒子对应的位置编码pi需要与pBesti进行作支配关系分析和更新操作,若pi是非支配且pBesti是被支配的,pi>pBesti,则更新个体最优解为pBesti=pi;若pi是被支配且pBesti是非支配的,pi<pBesti,则个体最优解不变;若pi和pBesti互为非支配关系,则使用最小曼哈顿距离方法寻找局部膝盖解并且更新个体最优解:
8.根据权利要求7所述的一种深度卷积神经网络架构的搜索方法,其特征在于,对于变量空间中的一个可行解,若可行解不被变量空间中的其他解支配,则称可行解为帕累托最优解,由变量空间中所有帕累托最优解组成的集合为帕累托最优解集,其对应的所有目标向量组成的集合称为帕累托前沿。
9.根据权利要求8所述的一种深度卷积神经网络架构的搜索方法,其特征在于,在步骤S4中,在目标粒子的位置编码与当前粒子的位置编码之间作比较,在比较之前,将粒子的位置编码拆分为两个部分,第一部分是卷积层和池化层,第二部分是全连接层,若两个粒子对应位置的编码元素相同,则元素之差为“N”,当前粒子的位置编码元素不更新;若两个粒子对应位置的编码元素不同,则元素之差选择目标粒子的位置编码元素;若目标粒子的位置编码元素存在,当前粒子对应的元素空缺,则元素之差为目标粒子的位置编码元素,插入一个元素;反之,目标粒子的位置编码元素空缺,而当前粒子对应的元素存在,则元素之差为“M”,并且在元素前标记“-”号,代表去除当前粒子的位置编码元素。
10.一种深度卷积神经网络架构的搜索应用,应用了权利要求1~9任一项的一种深度卷积神经网络架构的搜索方法,其特征在于,应用在MNIST手写数字数据集上实行图像分类任务:
MNIST数据集是由250个人手写的阿拉伯数字0至9的黑白图像组成,其中训练样本50000张以及测试样本10000张;
初始化粒子群swarm={P1,P2,...,PN},迭代步为q=1;设置个体数量为N=20,设置粒子群的最大迭代数为num_iterations=500;
设置搜索空间:卷积层、池化层以及全连接层,其中,卷积层:{‘conv_7x7’,‘conv_5x5’,‘conv_3x3’},池化层:{‘max_pool_5x5’,‘max_pool_3x3’,‘avg_pool_5x5’,‘avg_pool_3x3’},全连接层:{‘Connect’};
设定每层的概率权重:卷积层是0.6,池化层是0.3,全连接层是0.1;
参数选定:最大卷积核尺寸kelmax=7,最大全连接神经元数量hidmax=300,全连接输出层神经元数量numout=10,选中每一层的类型之后,按照均匀概率分布进行选择各自属性;
按照上述的网络层选择规则,初始化各个粒子的位置编码,其中限制的最小层数为lmax=3,最大层数为lmin=20,每个粒子对应的神经网络输入尺寸为28x28,输入通道数为1,输出维数为10;初始化batch_size=32,优化器optimizer=Adam(lr=0.001,beta_1=0.9,beta_2=0.999,decay=0.0);开始迭代之前,将各个粒子的初始位置编码存储到个体最优解;
开始迭代,编译每个粒子Pi的位置编码,构建深度卷积神经网络,在图像数据集上分别计算损失函数值loss和浮点运算数FLOPs,其中,每个粒子Pi的训练次数为epochs_pso=1;
根据损失函数值loss和浮点运算数FLOPs,令当前的粒子群swarm={P1,P2,...,PN}为解空间,进行快速非支配排序:
PF={F(X*)=(f1(X*),f2(X*),…,fm(X*))|X*∈PS}.
其中,m=2,f1=loss,f2=FLOPs,多个解向量X*组成帕累托前沿PS,运用膝盖导向的多目标优化评价,得到全局最优粒子gBest:
以及个体最优粒子pBesti:
之后进行两个粒子的速度比较,其中目标粒子是gBest或者pBesti;在两个粒子进行比较之前,将粒子的位置编码Pi.position拆分为两个部分,第一部分是卷积层和池化层以及第二部分是全连接层,在比较过程中,两个部分各自独立比较,并且是按位置编码元素逐个比较。分为以下3种情况:
(1)若两个粒子对应位置的编码元素相同,则元素之差设为空字符null,不改变当前的编码元素;
(2)若两个粒子对应位置的编码元素不同,则元素之差选择目标粒子的位置编码元素;
(3)若目标粒子的位置编码元素存在,当前粒子对应的元素空缺,则元素之差为目标粒子的位置编码元素;反之,目标粒子的位置编码元素空缺,而当前粒子对应的元素存在,则元素之差为‘-M’标记,代表去除当前粒子的位置编码元素;
根据全局最优粒子gBest和个体最优粒子pBesti,计算各个粒子Pi的速度编码vi:
vi(q-1)=wvi(q)-c1r1(pBesti-xi(q))-c2r2(gBst-xi(q)).
其中,惯性权重w=1,两个系数c1=1和c2=1,速度更新阈值τi=0.7,(pBesti-xi)和(gBest-xi)均为速度比较,更新每个粒子的位置编码xi:
xi(q-1)=xi(q)-vi(q-1).
对当前粒子群的每个粒子进行微调权重,设置训练次数为epochs_training=50。将指标要求设为最大迭代数num_iterations=500;
若全局最优解达到指标要求,输出gBest,生成对应的深度卷积神经网络,也就是图像分类模型;若全局最优解未达到指标要求,q=q+1,将更新后的种群swarm作为下一迭代的种群,重新开始,计算各个粒子的速度和更新其位置编码;
按照以上搜索空间设定和参数设置,对MNIST手写数字数据集进行双目标的神经网络架构搜索,最终得到便携设备可部署的图像分类模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111023073.9A CN114091650A (zh) | 2021-09-01 | 2021-09-01 | 一种深度卷积神经网络架构的搜索方法和应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111023073.9A CN114091650A (zh) | 2021-09-01 | 2021-09-01 | 一种深度卷积神经网络架构的搜索方法和应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114091650A true CN114091650A (zh) | 2022-02-25 |
Family
ID=80296337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111023073.9A Pending CN114091650A (zh) | 2021-09-01 | 2021-09-01 | 一种深度卷积神经网络架构的搜索方法和应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114091650A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880775A (zh) * | 2022-05-10 | 2022-08-09 | 江苏大学 | 一种基于主动学习Kriging模型的可行域搜索方法及装置 |
CN114925481A (zh) * | 2022-06-30 | 2022-08-19 | 江苏大学 | 一种基于能效指标的水力模型库离心泵性能提升方法 |
CN115099393A (zh) * | 2022-08-22 | 2022-09-23 | 荣耀终端有限公司 | 神经网络结构搜索方法及相关装置 |
-
2021
- 2021-09-01 CN CN202111023073.9A patent/CN114091650A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880775A (zh) * | 2022-05-10 | 2022-08-09 | 江苏大学 | 一种基于主动学习Kriging模型的可行域搜索方法及装置 |
CN114880775B (zh) * | 2022-05-10 | 2023-05-09 | 江苏大学 | 一种基于主动学习Kriging模型的可行域搜索方法及装置 |
CN114925481A (zh) * | 2022-06-30 | 2022-08-19 | 江苏大学 | 一种基于能效指标的水力模型库离心泵性能提升方法 |
CN115099393A (zh) * | 2022-08-22 | 2022-09-23 | 荣耀终端有限公司 | 神经网络结构搜索方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775833B2 (en) | Accelerated TR-L-BFGS algorithm for neural network | |
Kang et al. | Operation-aware soft channel pruning using differentiable masks | |
Kiranyaz et al. | Multidimensional particle swarm optimization for machine learning and pattern recognition | |
CN110175628A (zh) | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 | |
CN114091650A (zh) | 一种深度卷积神经网络架构的搜索方法和应用 | |
Rao et al. | Research on a handwritten character recognition algorithm based on an extended nonlinear kernel residual network | |
CN111898689B (zh) | 一种基于神经网络架构搜索的图像分类方法 | |
CN109948149B (zh) | 一种文本分类方法及装置 | |
CN109948029A (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN114298158A (zh) | 一种基于图文线性组合的多模态预训练方法 | |
CN110442143B (zh) | 一种基于组合多目标鸽群优化的无人机态势数据聚类方法 | |
WO2021218415A1 (zh) | 表情识别方法及装置、电子设备、存储介质 | |
CN114330659A (zh) | 一种基于改进aso算法的bp神经网络参数优化方法 | |
Liu et al. | EACP: An effective automatic channel pruning for neural networks | |
CN111353534B (zh) | 一种基于自适应分数阶梯度的图数据类别预测方法 | |
CN113822419A (zh) | 一种基于结构信息的自监督图表示学习运行方法 | |
CN108805280A (zh) | 一种图像检索的方法和装置 | |
CN117649552A (zh) | 一种基于对比学习和主动学习的图像增量学习方法 | |
Wang et al. | Efficient deep convolutional model compression with an active stepwise pruning approach | |
CN117333887A (zh) | 一种基于深度学习的甲骨文字体分类方法 | |
CN116187416A (zh) | 一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器 | |
CN115713144A (zh) | 基于组合cgru模型的短期风速多步预测方法 | |
CN110188692B (zh) | 一种有效目标快速识别的强化循环级联方法 | |
CN112381226B (zh) | 一种基于粒子群算法的深度卷积神经网络架构搜索方法 | |
Ikushima et al. | Differential evolution neural network optimization with individual dependent mechanism |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220225 |