CN110287985B - 一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法 - Google Patents
一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法 Download PDFInfo
- Publication number
- CN110287985B CN110287985B CN201910404139.5A CN201910404139A CN110287985B CN 110287985 B CN110287985 B CN 110287985B CN 201910404139 A CN201910404139 A CN 201910404139A CN 110287985 B CN110287985 B CN 110287985B
- Authority
- CN
- China
- Prior art keywords
- network
- neural network
- layer
- particle swarm
- error rate
- 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
Images
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法,包括对图像数据的预处理;通过粒子群算法搜寻深度神经网络对于图像数据的特征的抽象维度和所需的特征数;通过变异操作提高算法的探索性能;通过反向传播算法对深度神经网络参数进行优化;对待识别的图片数据进行识别。本发明在充分利用粒子群算法搜索速度快、效率高的优点,运用粒子群优化深度神经网络对于图像数据的特征的抽象维度和所需的特征数,解决以往只凭借研究人员经验确定深度网络的层数和节点数的问题,进一步提高深度神经网络的性能,从而降低研究人员试验时间并且提高手写体数字识别准确性。
Description
技术领域
本发明属于图像数据的计算机分析技术的应用领域,具体涉及一种基于微粒群算法的深度网络拓扑寻优方法和深度神经网络图像识别方法。
背景技术
图像识别问题希望借助计算机程序来处理、分析和理解图片中的内容,使得计算机可以从图片中识别各种不同模式的目标和对象。近几年来,图像识别问题作为人工智能的一个重要领域取得了很多突破性的进展。
图像分类是图像处理中的一个重要任务。在传统机器学习领域,去识别分类一个一个图像的标准流程是特征提取、特征筛选,最后将特征向量输入合适的分类器完成特征分类。直到2006,Hinton在《Science》上首次提出了“深度信念网络,该网络有一个“预训练”过程,让神经网络的权值找到一个接近最优解的值,之后再使用“微调”对整个网络进行优化训练。这两个技术的运用大大减少了训练多层神经网络的时间。并且他给多层神经网络相关的学习方法赋予了一个新名词——“深度学习”。借助深度学习的算法,将图像特征的提取、筛选和分类三个模块集成于一体,逐层对图像信息进行不同方向的挖掘提取,可以提取出更为有效的特征。
深度学习是机器学习的一个子领域,其中受我们大脑工作方式启发的模型以数学方式表达,深度学习是全球人工智能技术的关键推动力。其主要是模仿人脑的思考过程,外部刺激通过神经末梢,转化为电信号,转导到神经细胞,无数神经元构成神经中枢,神经中枢综合各种信号,做出判断,人体根据神经中枢的指令,对外部刺激做出反应。
近些年来深度学习的成功,主要则是依靠特征工程的自动化,在以往特征的提取、筛选往往都是依靠研究人员以往的领域知识,人为的确定所需的特征,该种方法有一定的局限性,一些特征十分重要,但是却并不容易发现,因此研究人员往往容易忽略。而深度学习对于特征工程的自动化则避免了人为的干预特征的选取,使得所取得的特征更加的准确和有意义。
可见特征的选取从很大程度上影响着图像识别的精度,但是深度学习依旧没有完全做到特征工程的自动化,其中特征的抽象程度(即深度神经网络的深度),以及选取的特征数目(神将网络各个深度所对应的节点数目)往往还是靠研究人员的经验所确定,没有一个很好的办法自动化的寻找到一个相对较优的特征数目。
微粒群算法(Particle Swarm Optimization,PSO)具有良好的全局搜索能力。相对于遗传算法,PSO具有无复杂的遗传操作,可调参数少,易于实现等优点,因此近年来它得到了广泛应用。尤其在神经网络的优化上相比于遗传算法,速度更快,效率更高。但标准微粒群算法容易早熟,过早的收敛,因此对该算法作出改进,增加了一个变异算子,提高该算法的探索能力。
发明内容
发明目的:由于深度神经网络对于图像特征抽象程度以及特征数的选取往往由人类经验确定,效率低并且很难找出一种合适的深度网络结构来对特征进行提取,因此提出一种基于带变异的微粒群算法的深度神经网络拓扑结构寻优方法,该方法能够自动化的确定特征的抽象程度(越深的网络,抽象程度越高)以及各个深度的特征数(即网络各层的节点数),并对特征数进行变异,以增加微粒群算法的探索性能,且最终选出的网络预测效果好。
技术方案:一种基于带变异的粒子群算法的可变拓扑结构的深度神经网络的图像识别方法,包括基于微粒群算法(Particle Swarm Optimization,PSO)的特征的抽象程度和特征数的确定,以及利用反向传播算法优化深度神经网络(Binary Particle SwarmOptimization,BPSO)权值和偏置值进行图像识别的步骤,包括下列步骤:
步骤1图像数据集的预处理,首先将图像数据集划分为训练集、测试集,然后对其进行归一化处理,并对标签数据进行one-hot编码;
步骤2按照图片数据的特征将深度神经网络结构按照粒子群算法所需方式编码,并进行初始化;
步骤3初步训练网络并计算出各个神经网络在测试集上的准确率;
步骤4找出个体最优的特征数和全局最优的特征数,并通过微粒群算法优化深度神经网络每层所需的特征数,使用错误率作为适应度函数值;
步骤5将得到的最优结构通过反向传播算法,使用梯度下降法在训练集上训练,通过测试集测试,得到最终结果。
进一步,所述步骤1中包含下列步骤:
步骤1.1将图像数据集划分为训练集、测试集;
步骤1.2根据式(1),对样本数据进行归一化处理;
其中Max为样本数据的最大值,Min为样本数据的最小值,x为样本数据,xnormalization为归一化后的样本数据;
步骤1.3对标签数据进行one-hot编码。
进一步,所述步骤2中包含下列步骤:
步骤2.1将图片数据集特征的抽象维度表示成微粒群算法中微粒位置的维度,将图片数据集各维度的特征数表示成微粒群算法中微粒位置各维度上的大小;
步骤2.2在初始范围内随机初始化粒子群中每个微粒的位置(x)及速度(v),该位置的长度表示深度神经网络的深度,位置的大小则表示各个深度对应的节点数,速度的维度同位置的维度相同。
进一步,所述步骤3中包含下列步骤:
步骤3.1:使用正态分布初始化方法对深度神经网络的权值和阈值进行初始化。
步骤3.2:根据式(2)、(3)计算出神经网络的输出:
Z[l]=W[l].A[l-1]+b[l] (2)
A[l]=g[l](Z[l]) (3)
其中上标l表示神经网络的第l层,W[l]表示第l层的权值,b[l]表示第l层的偏置值,A[l-1]表示上一层网络的输出,Z[l]表示第l层的输出,g[l]表示第l层的激活函数,A[l]表示第l层激活函数的输出;
其中第l-1层的激活函数采用Relu激活函数,如式(4)所示:其中x表示输入该函数的值,f(x)表示Relu激活函数。
其中x表示输入该函数的值,f(x)表示Relu激活函数。第l层采用Softmax激活函数,如式(5)所示:
其中j表示当前层第j个节点,K表示网络在当前层的总数,zj表示网络当前层第j个节点的值,e为一固定值,zk表示网络当前层第k个节点的值,σ(z)j表示网络在当前层的第j个Softmax值;
步骤3.3:通过交叉熵函数即式(6)计算出网络的损失;
其中N表示样本总数,i表示第i个样本,y(i)表示第i个样本的实际输出,a[L](i)表示
预测输出,L为N个样本的损失;
步骤3.4:神经网络优化方法采用反向传播算法,根据如下公式优化网络的权值和偏置值;
dZ[l]=dA[l]*g[l]′(Z[l]) (7)
dA[l-1]=W[l]T.dZ[l] (10)
其中d表示求导,为输入,dW[l]、db[l]、dA[l-1]为输出,np.sum(dZ[l],axis=1,keep dims=True)表示对矩阵dZl沿水平方向求和,根据式(7)、(8)、(9)、(10)循环依次更新各层权值;
步骤3.5:在测试集上计算准确率ppre。
进一步,所述步骤4中包含下列步骤:
步骤4.1根据式10计算网络的错误率:
err=1-ppre (11)
其中err表示错误率;
步骤4.2:对于每个网络,求其最小的错误率值,将其错误率与每个网络经历过的最小错误率(即pid)相比较,如果比其小则替换,反之则不变;
步骤4.3:对于所有网络,求其最小的错误率值,并将所有网络所经历的最小的错误率(即pgd)与其比较,如果比其小则替换,反之则不变;
步骤4.4:判断所有网络所经历的最小错误率是否达到停止标准,若没有则继续,若达到则到步骤5;
步骤4.5:根据公式(12)更新每个网络在其特征抽象维度上所需的特征数的偏移量,根据公式(13)更新每个网络在其特征抽象维度上所需的特征数:
vid=w*vid+c1*rand()*(pid-xid)+c2*rand()*(pgd-xid) (12)
xid=xid+vid (13)
其中v是网络(粒子)的速度,w是惯性权重,c1,c2是学习因子,rand()是介于(0,1)之间的随机数,i表示第i个网络,d表示第d层,vid表示第i个网络(粒子)的第d层的速度,xid表示第i个网络(粒子)的第d层的个数,pid表示当前个体最优网络,pgd表示全局最优网络。
步骤4.6:根据式(14)的变异操作来增加网络的探索能力。
其中,xij表示当前网络第i层上特征数的第j位,xmax为xij的上界,xmin为xij的下界,f(g)=r2(1-g/Gmax)2,r2为一个随机数,g为当前迭代次数,Gmax为最大进化次数,r为[0,1]间的随机数,最后回到步骤4.1。
进一步,所述步骤5中包含下列步骤:
5.1根据步骤3在训练集上进一步对最优网络结构的权值和偏置值进行训练;
5.2在测试集上对网络进行验证,最终结果即为图片识别的准确率。
本发明的有益效果为:在深度神经网络中网络的拓扑结构对最终结果的影响之大已经得到广泛的认识,因此产生了各式各样不同拓扑的神经网络,在图像识别领域各种不同拓扑结构的深度神经网络模型层出不穷,但往往都是依靠研究人员的经验。传统的手工调整网络拓扑结构的方法寻找网络拓扑结构往往考虑的不够全面,并且非常的耗费研究人员的时间。本发明通过微粒群算法(PSO)来寻找深度网络的拓扑结构,自动化的调整图像数据的特征数,并且显著的提升网络结构选取效率,并且对深度神经网络在图像识别的准确率的提升上起到了有益的效果。
附图说明
图1是本发明的基于pso的最优网络拓扑结构搜索流程图;
图2是本发明中深度神经网络算法的流程图;
图3是本发明中最优网络在MNIST数据上收敛曲线图;
图4是本发明中最优网络在MNIST数据上准确率曲线图;
具体实施方式
一种基于粒子群算法的可变拓扑结构的深度神经网络的图像识别方法,包括基于微粒群算法(Particle Swarm Optimization,PSO)的最优深度网络拓扑结构搜寻(即特征数搜寻的自动化),以及利用深度神经网络进行图像识别的步骤,本发明具体包括下列步骤:
一种基于粒子群算法的可变拓扑结构的深度神经网络的图像识别方法,包括下列步骤:
步骤1图像数据集的预处理,首先将图像数据集划分为训练集、测试集,然后对其进行归一化处理,并对标签数据进行one-hot编码;
步骤2按照图片数据的特征将深度神经网络结构按照粒子群算法所需方式编码,并进行初始化;
步骤3初步训练网络并计算出各个神经网络在测试集上的准确率;
步骤4找出个体最优的特征数和全局最优的特征数,并通过微粒群算法优化深度神经网络每层所需的特征数,使用错误率作为适应度函数值;
步骤5将得到的最优结构通过反向传播算法,使用梯度下降法在训练集上训练,通过测试集测试,得到最终结果。
上述步骤1中包含下列步骤:
步骤1.1将图像数据集划分为训练集、测试集;
步骤1.2根据式(1),对样本数据进行归一化处理;
其中Max为样本数据的最大值,Min为样本数据的最小值,x为样本数据,xnormalization为归一化后的样本数据;
步骤1.3对标签数据进行one-hot编码。
上述步骤2中包含下列步骤:
步骤2.1将图片数据集特征的抽象维度表示成微粒群算法中微粒位置的维度,将图片数据集各维度的特征数表示成微粒群算法中微粒位置各维度上的大小;
步骤2.2在初始范围内随机初始化粒子群中每个微粒的位置(x)及速度(v),该位置的长度表示深度神经网络的深度,位置的大小则表示各个深度对应的节点数,速度的维度同位置的维度相同。
上述步骤3中包含下列步骤:
步骤3.1:使用正态分布初始化方法对深度神经网络的权值和阈值进行初始化。
步骤3.2:根据式(2)、(3)计算出神经网络的输出:
Z[l]=W[l].A[l-1]+b[l] (2)
A[l]=g[l](Z[l]) (3)
其中上标l表示神经网络的第l层,W[l]表示第l层的权值,b[l]表示第l层的偏置值,A[l-1]表示上一层网络的输出,Z[l]表示第l层的输出,g[l]表示第l层的激活函数,A[l]表示第l层激活函数的输出;
其中第l-1层的激活函数采用Relu激活函数,如式(4)所示:其中x表示输入该函数的值,f(x)表示Relu激活函数。
其中x表示输入该函数的值,f(x)表示Relu激活函数。第l层采用Softmax激活函数,如式(5)所示:
其中j表示当前层第j个节点,K表示网络在当前层的总数,zj表示网络当前层第j个节点的值,e为一固定值,zk表示网络当前层第k个节点的值,σ(z)j表示网络在当前层的第j个Softmax值;
步骤3.3:通过交叉熵函数即式(6)计算出网络的损失;
其中N表示样本总数,i表示第i个样本,y(i)表示第i个样本的实际输出,a[L](i)表示
预测输出,L为N个样本的损失;
步骤3.4:神经网络优化方法采用反向传播算法,根据如下公式优化网络的权值和偏置值;
dZ[l]=dA[l]*g[l]′(Z[l]) (7)
dA[l-1]=W[l]T.dZ[l] (10)
其中d表示求导,为输入,dW[l]、db[l]dA、[l-1]为输出,np.sum(dZ[l],axis=1,keepdims=True)表示对矩阵dZl沿水平方向求和,根据式(7)、(8)、(9)、(10)循环依次更新各层权值;
步骤3.5:在测试集上计算准确率Ppre。
上述步骤4中包含下列步骤:
步骤4.1根据式10计算网络的错误率:
err=1-ppre (11)
其中err表示错误率;
步骤4.2:对于每个网络,求其最小的错误率值,将其错误率与每个网络经历过的最小错误率(即pid)相比较,如果比其小则替换,反之则不变;
步骤4.3:对于所有网络,求其最小的错误率值,并将所有网络所经历的最小的错误率(即pgd)与其比较,如果比其小则替换,反之则不变;
步骤4.4:判断所有网络所经历的最小错误率是否达到停止标准,若没有则继续,若达到则到步骤5;
步骤4.5:根据公式(12)更新每个网络在其特征抽象维度上所需的特征数的偏移量,根据公式(13)更新每个网络在其特征抽象维度上所需的特征数:
vid=w*vid+c1*rand()*(pid-xid)+c2*rand()*(pgd-xid) (12)
xid=xid+vid (13)
其中v是网络(粒子)的速度,w是惯性权重,c1,c2是学习因子,rand()是介于(0,1)之间的随机数,i表示第i个网络,d表示第d层,vid表示第i个网络(粒子)的第d层的速度,xid表示第i个网络(粒子)的第d层的个数,pid表示当前个体最优网络,pgd表示全局最优网络。
步骤4.6:根据式(14)的变异操作来增加网络的探索能力。
其中,xij表示当前网络第i层上特征数的第j位,xmax为xij的上界,xmin为xij的下界,f(g)=r2(1-g/Gmax)2,r2为一个随机数,g为当前迭代次数,Gmax为最大进化次数,r为[0,1]间的随机数,最后回到步骤4.1。
上述步骤5中包含下列步骤:
5.1根据步骤3在训练集上进一步对最优网络结构的权值和偏置值进行训练;
5.2在测试集上对网络进行验证,最终结果即为图片识别的准确率。
针对仅考虑深度神经网络拓扑结构难以确定的问题,本发明对深度神经网络结构以一定方式编码,并用微粒群算法搜寻网络的拓扑结构,以获取更为有效的深度神经网络,并且通过该算法图片数据能够抽象到合适的程度,以及选定合适的特征数量,从而提高图像识别准确性。
下面以MNIST数据集为例,简单地说明本发明的执行过程。本实例选择MNIST数据集,数据集来源于美国国家标准与技术研究所(National Institute of Standards andTechnology(NIST)),其中训练数据集包含60000个样本,测试数据集包含10000样本。在MNIST数据集中的每张图片由28×28个像素点构成,每个像素点用一个灰度值表示,其共有10个类标签(整数0-9)。在该数据集上,本发明的具体执行步骤如下:
如图1所示,一种基于微粒群算法和深度神经网络的图像识别方法,包括基于微粒群算法的最优网络搜寻,以及利用深度神经网络对MNIST数据集图像识别的步骤,包括以下步骤:
(1)首先将数据集划分为训练集和测试集,通过公式(1)将MNIST数据中各个特征归一化,并对标签数据进行one-hot编码。
(2)编码深度神经网络结构,使其变为微粒群算法可以接受的输入形式,其中图片特征的抽象维度定为3,并对微粒群算法进行初始化,种群个数设定为30,其中每一个种群表示一种深度神经网络结构,对每个种群的特征数(即粒子的位置)和特征数偏移量(即粒子的速度)进行初始化,其中各维度大小范围在[1-1000],范围在[-100,100]。
(3)如图2所示,在测试集上运用反向传播算法优化深度神经网络,并在测试机上做预测,得到准确率,具体步骤如下:
①通过正态分布方法对每个种群所代表的深度神经网络进行初始化。
②分批输入特征,每批64个样本,并依据式(2)和(3)计算每个深度神经网络的输出。
③依据式(6)所示的损失函数计算出每个深度神经网络的损失。
④依据式(7)、(8)、(9)、(10)使用梯度下降方法优化各个深度神经网络的权值和偏置值并且通过L2正则化方法防止神经网络过拟合,其中正则化率(REGULARIZATION_RATE)设置为0.0001,网络的学习率(LEARNING_RATE_BASE)设置为0.1,为了防止训练接近极值点的时候上下摆动,使得学习率按指数衰减,其中学习率衰减(LEARNING_RATE DECAY)设置为0.99,并通过使用动量加快神经网络的训练。如未达到预先设定的最大迭代次数(在本实施例中为2000),则返回②继续优化神经网络的权值和偏置值,否则转到⑤。
⑤使用测试集对各个神经网络做预测,并输出正确率。
(4)以获得的各个神经网络的正确率为判断神经网络结构好坏的依据,运用PS0找出合适的特征抽象维度和特征数(即最优深度神经网络结构)。
①依据式(11)分别计算出每个网络(即种群)的适应度值,根据适应度值求出个体最优和全局最优。如未达到预先设定的最大迭代次数(在本实施例中为50),则继续到②,否则结束循环跳转到步骤(5)。
②依据式(12)、(13)调整网络(即粒子)中图像当前特征数(即粒子的位置)和当前特征偏移量(即粒子的位置),依据式(14)对网络进行变异,并跳转回(4)。
在本实施例中,加速常数c1和c2分别为1.49和1.49。由于每个粒子都代表了一种神经网络的结构,那么特征数(即位置)和偏移量(即速度)在每一次迭代都必须取整数,并且网络(即粒子)的特征数(即位置)在小于或者等于0的时候则表明该层不被需要。最后回到步骤(3)计算各个深度神经网络的正确率。
表1给出了最后一轮各个粒子个体最佳的所带的网络结构以及准确率,其中输入层节点数为784,输出层节点数为10。
表1本发明在MNIST数据集上30个粒子个体最优网络
(5)通过步骤四得到了最优网络结构,对最优网络结构的权值和偏置值进行进一步的训练,以得到更好的预测效果,具体步骤如下:
①在训练集上依据步骤3训练最优网络结构的深度神经网络,修改其中预先设定的最大迭代次数为20000。
②在测试集上使用得到的训练好的带有最优网络结构的神经网络做预测。
表2给出了在MNIST上的预测结果。
表2本发明在MNIST数据集最优网络预测结果
综上,本发明的一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法,包括对图像数据的预处理;通过粒子群算法搜寻深度神经网络对于图像数据的特征的抽象维度和所需的特征数;通过变异操作提高算法的探索性能;通过反向传播算法对深度神经网络参数进行优化;对待识别的图片数据进行识别。本发明在充分利用粒子群算法搜索速度快、效率高的优点,运用粒子群优化深度神经网络对于图像数据的特征的抽象维度和所需的特征数,解决以往只凭借研究人员经验确定深度网络的层数和节点数的问题,进一步提高深度神经网络的性能,从而降低研究人员试验时间并且提高手写体数字识别准确性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (5)
1.一种基于粒子群算法的可变拓扑结构的深度神经网络的图像识别方法,其特征在于,包括下列步骤:
步骤1图像数据集的预处理,首先将图像数据集划分为训练集、测试集,然后对其进行归一化处理,并对标签数据进行one-hot编码;
步骤2按照图片数据的特征将深度神经网络结构按照粒子群算法所需方式编码,并进行初始化;
步骤3初步训练网络并计算出各个神经网络在测试集上的准确率;
所述步骤3中包含下列步骤:
步骤3.1:使用正态分布初始化方法对深度神经网络的权值和阈值进行初始化;
步骤3.2:根据式(2)、(3)计算出神经网络的输出:
Z[l]=W[l]·A[l-1]+b[l] (2)
A[l]=g[l](Z[l]) (3)
其中上标l表示神经网络的第l层,W[l]表示第l层的权值,b[l]表示第l层的偏置值,A[l-1]表示上一层网络的输出,Z[l]表示第l层的输出,g[l]表示第l层的激活函数,A[l]表示第l层激活函数的输出;
其中第l-1层的激活函数采用Relu激活函数,如式(4)所示:其中x表示输入该函数的值,f(x)表示Relu激活函数;
其中x表示输入该函数的值,f(x)表示Relu激活函数,第l层采用Softmax激活函数,如式(5)所示:
其中j表示当前层第j个节点,K表示网络在当前层的总数,zj表示网络当前层第j个节点的值,e为一固定值,zk表示网络当前层第k个节点的值,σ(z)j表示网络在当前层的第j个Softmax值;
步骤3.3:通过交叉熵函数即式(6)计算出网络的损失;
其中N表示样本总数,i表示第i个样本,y(i)表示第i个样本的实际输出,a[L](i)表示预测输出,L为N个样本的损失;
步骤3.4:神经网络优化方法采用反向传播算法,根据如下公式优化网络的权值和偏置值;
dZ[l]=dA[l]*g[l]′(Z[l]) (7)
dA[l-1]=W[l]T·dZ[l] (10)
其中d表示求导,为输入,dW[l]、db[l]、dA[l-1]为输出,np.sum(dZ[l],axis=1,keep dim s=True)表示对矩阵dZl沿水平方向求和,根据式(7)、(8)、(9)、(10)循环依次更新各层权值;
步骤3.5:在测试集上计算准确率ppre;
步骤4找出个体最优的特征数和全局最优的特征数,并通过微粒群算法优化深度神经网络每层所需的特征数,使用错误率作为适应度函数值;
步骤5将得到的最优结构通过反向传播算法,使用梯度下降法在训练集上训练,通过测试集测试,得到最终结果。
3.根据权利要求1所述的基于粒子群算法的可变拓扑结构的深度神经网络的图像识别方法,其特征在于,所述步骤2中包含下列步骤:
步骤2.1将图片数据集特征的抽象维度表示成微粒群算法中微粒位置的维度,将图片数据集各维度的特征数表示成微粒群算法中微粒位置各维度上的大小;
步骤2.2在初始范围内随机初始化粒子群中每个微粒的位置(x)及速度(v),该位置的长度表示深度神经网络的深度,位置的大小则表示各个深度对应的节点数,速度的维度同位置的维度相同。
4.根据权利要求1所述的基于粒子群算法的可变拓扑结构的深度神经网络的图像识别方法,其特征在于,所述步骤4中包含下列步骤:
步骤4.1根据式10计算网络的错误率:
err=1-ppre (11)
其中err表示错误率;
步骤4.2:对于每个网络,求其最小的错误率值,将其错误率与每个网络经历过的最小错误率相比较,如果比其小则替换,反之则不变;
步骤4.3:对于所有网络,求其最小的错误率值,并将所有网络所经历的最小的错误率与其比较,如果比其小则替换,反之则不变;
步骤4.4:判断所有网络所经历的最小错误率是否达到停止标准,若没有则继续,若达到则到步骤5;
步骤4.5:根据公式(12)更新每个网络在其特征抽象维度上所需的特征数的偏移量,根据公式(13)更新每个网络在其特征抽象维度上所需的特征数:
vid=w*vid+c1*rand()*(pid-xid)+c2*rand()*(pgd-xid) (12)
xid=xid+vid (13)
其中v是网络的速度,w是惯性权重,c1,c2是学习因子,rand()是介于(0,1)之间的随机数,i表示第i个网络,d表示第d层,vid表示第i个网络的第d层的速度,xid表示第i个网络的第d层的个数,pid表示当前个体最优网络,pgd表示全局最优网络;
步骤4.6:根据式(14)的变异操作来增加网络的探索能力;
其中,xij表示当前网络第i层上特征数的第j位,xmax为xij的上界,xmin为xij的下界,f(g)=r2(1-g/Gmax)2,r2为一个随机数,g为当前迭代次数,Gmax为最大进化次数,r为[0,1]间的随机数,最后回到步骤4.1。
5.根据权利要求1所述的粒子群算法的可变拓扑结构的深度神经网络的图像识别方法,其特征在于,所述步骤5中包含下列步骤:
5.1根据步骤3在训练集上进一步对最优网络结构的权值和偏置值进行训练;
5.2在测试集上对网络进行验证,最终结果即为图片识别的准确率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910404139.5A CN110287985B (zh) | 2019-05-15 | 2019-05-15 | 一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910404139.5A CN110287985B (zh) | 2019-05-15 | 2019-05-15 | 一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287985A CN110287985A (zh) | 2019-09-27 |
CN110287985B true CN110287985B (zh) | 2023-04-18 |
Family
ID=68002035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910404139.5A Active CN110287985B (zh) | 2019-05-15 | 2019-05-15 | 一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287985B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858346A (zh) * | 2020-07-23 | 2020-10-30 | 深圳慕智科技有限公司 | 一种基于深度学习测试数据集的数据质量多维评估技术 |
CN113033796A (zh) * | 2020-12-11 | 2021-06-25 | 北京信息科技大学 | 一种全光非线性衍射神经网络的图像识别方法 |
CN112685590B (zh) * | 2020-12-29 | 2022-10-14 | 电子科技大学 | 一种基于卷积神经网络正则化处理的图像检索方法 |
CN113780518B (zh) * | 2021-08-10 | 2024-03-08 | 深圳大学 | 网络架构优化方法、终端设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105139264A (zh) * | 2015-06-06 | 2015-12-09 | 安徽工程大学 | 一种基于粒子群算法小波神经网络的光伏发电量的预测方法 |
CN105138717A (zh) * | 2015-07-09 | 2015-12-09 | 上海电力学院 | 一种动态变异粒子群优化神经网络的变压器状态评估方法 |
-
2019
- 2019-05-15 CN CN201910404139.5A patent/CN110287985B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110287985A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287985B (zh) | 一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法 | |
CN107846392B (zh) | 一种基于改进协同训练-adbn的入侵检测算法 | |
CN105488528B (zh) | 基于改进自适应遗传算法的神经网络图像分类方法 | |
CN107194336B (zh) | 基于半监督深度距离度量网络的极化sar图像分类方法 | |
WO2022121289A1 (en) | Methods and systems for mining minority-class data samples for training neural network | |
CN111814871A (zh) | 一种基于可靠权重最优传输的图像分类方法 | |
CN107392919B (zh) | 基于自适应遗传算法的灰度阈值获取方法、图像分割方法 | |
CN107862275A (zh) | 人体行为识别模型及其构建方法和人体行为识别方法 | |
CN103955702A (zh) | 基于深度rbf网络的sar图像地物分类方法 | |
CN114841257B (zh) | 一种基于自监督对比约束下的小样本目标检测方法 | |
CN109948742A (zh) | 基于量子神经网络的手写体图片分类方法 | |
CN110929848A (zh) | 基于多挑战感知学习模型的训练、跟踪方法 | |
CN111988329A (zh) | 一种基于深度学习的网络入侵检测方法 | |
CN116015967B (zh) | 基于改进鲸鱼算法优化delm的工业互联网入侵检测方法 | |
CN113269647A (zh) | 基于图的交易异常关联用户检测方法 | |
CN110796260B (zh) | 一种基于类扩张学习的神经网络模型优化方法 | |
CN115292532A (zh) | 基于伪标签一致性学习的遥感图像域适应检索方法 | |
CN105809200B (zh) | 一种生物启发式自主抽取图像语义信息的方法及装置 | |
Cho et al. | Genetic evolution processing of data structures for image classification | |
CN104463207A (zh) | 知识自编码网络及其极化sar影像地物分类方法 | |
CN114329031A (zh) | 一种基于图神经网络和深度哈希的细粒度鸟类图像检索方法 | |
CN115273645B (zh) | 一种室内面要素自动聚类的地图制图方法 | |
CN106447691A (zh) | 基于加权多示例学习的加权极限学习机视频目标跟踪方法 | |
CN112446432B (zh) | 基于量子自学习自训练网络的手写体图片分类方法 | |
Thangarasa et al. | Self-paced learning with adaptive deep visual embeddings |
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 |