针对BP神经网络存在的训练速度慢、容易陷于局部极小点的问题,提出了通过遗传算法优化神经网络的方法,利用遗传算法,将BP网络的权值和阈值按一定的顺序级联起来,形成一个实数数组,作为遗传算法的一个染色体。然后构造这样的染色体群,通过遗传算法先对网络的权值和阈值做快速的学习,以此选择出BP网络的初始权值和阈值,然后进行BP算法的训练。改进的BP神经网络算法有效克服了神经网络的缺点,提高了网络训练速度。通过训练评估实例,对优化前后的神经网络进行训练,通过仿真结果可以看到,优化后的神经网络优于未优化的神经网络。 Aiming at the problem that BP neural network is slow in training speed and easy to get stuck in local minimum point, a method of optimizing BP neural network by Genetic Algorithm is proposed, the weight and threshold of BP network are concatenated in a certain order to form a real array, which is regarded as a chromosome of genetic algorithm. Then this chromosome group is constructed, and the weights and thresholds of the network are quickly learned by genetic algorithm, so as to select the initial weights and thresholds of the BP network, and then the BP algorithm is trained. The improved BP neural network algorithm effectively overcomes the shortcomings of the neural network and improves the training speed of the network. Through the example of training evaluation, the neural network before and after optimization is trained. The simulation results show that the optimized neural network optimizes the non-optimized neural network.
针对BP神经网络存在的训练速度慢、容易陷于局部极小点的问题,提出了通过遗传算法优化神经网络的方法,利用遗传算法,将BP网络的权值和阈值按一定的顺序级联起来,形成一个实数数组,作为遗传算法的一个染色体。然后构造这样的染色体群,通过遗传算法先对网络的权值和阈值做快速的学习,以此选择出BP网络的初始权值和阈值,然后进行BP算法的训练。改进的BP神经网络算法有效克服了神经网络的缺点,提高了网络训练速度。通过训练评估实例,对优化前后的神经网络进行训练,通过仿真结果可以看到,优化后的神经网络优于未优化的神经网络。
遗传算法,神经网络,优化,训练评估
Guiling Ju
Basic Education Department, Army Academy of Armored Forces, Beijing
Received: Dec. 26th, 2021; accepted: Jan. 21st, 2022; published: Jan. 28th, 2022
Aiming at the problem that BP neural network is slow in training speed and easy to get stuck in local minimum point, a method of optimizing BP neural network by Genetic Algorithm is proposed, the weight and threshold of BP network are concatenated in a certain order to form a real array, which is regarded as a chromosome of genetic algorithm. Then this chromosome group is constructed, and the weights and thresholds of the network are quickly learned by genetic algorithm, so as to select the initial weights and thresholds of the BP network, and then the BP algorithm is trained. The improved BP neural network algorithm effectively overcomes the shortcomings of the neural network and improves the training speed of the network. Through the example of training evaluation, the neural network before and after optimization is trained. The simulation results show that the optimized neural network optimizes the non-optimized neural network.
Keywords:Genetic Algorithm, Neural Network, Optimization, Training Evaluation
Copyright © 2022 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
目前,训练评估研究基本情况是,评估对象以模拟训练系统或受训者为主,评估内容不够全面;以定性评估为主,缺乏定量评估,评估结果不够准确。本文将深入分析模拟训练评估需求,构建系统的模拟训练评估指标体系,并给出相应的评估方法 [
多层网络运用BP学习算法时,实际上包含了正向和反向传播两个阶段。在正向传播过程中,外部信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使误差信号最小。即通过网络的实际输出与目标值之间的误差来修正其权值,使实际的输出尽可能地接近期望值,也就是使网络输出层的平方误差均值达到最小。由于它采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权值,因而通常存在以下问题:
1) 学习效率低,收敛速度慢
在执行过程中,网络参数每次调整的幅度,均以一个与网络误差函数乘以固定的因子进行。这样,在误差曲面曲率较高处,这一偏导数值较大,网络参数调整幅度也大,以至于在误差函数最小点附近会发生过调整现象,使权值调节路径变为严重的锯齿形,难以收敛到最小点,以至于需要经过多次调整才能将误差函数曲面降低。
2) 易陷入局部极小状态
以梯度下降法为基础的非线性优化方法不可避免地存在局部极小问题。而且实际问题的求解空间往往是极其复杂的多维曲面,存在很多的局部极小点,从而增加了算法陷于局部极小的可能性。
3) BP算法的初始值选择也影响算法的收敛速度,有时甚至会导致算法发散。
针对收敛速度慢,容易陷入局部极小的问题,可采用具有全局优化功能的遗传算法进行改进。
遗传算法的基本操作主要涉及遗传算法实现时的一些主要因素:参数的编码、适应度函数、遗传操作等。
1) 编码方法
编码是指在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法。
2) 适应度函数
适应度函数也称为评价函数,是根据目标函数用来区分群体中个体好坏的标准,是算法进化过程的驱动力,也是进行自然选择的唯一标准。函数的设计应结合求解问题本身的要求而定,原则是单值、连续、非负、最大化、计算量小、通用性强。
3) 遗传操作
遗传算法包括三个基本操作:选择、交叉和变异。
选择,遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作,个体适应度值越大,个体被遗传到下一代群体中的概率也越大,体现了适者生存的原则。
交叉,是对两个不同的个体的相同位置的基因进行交换,从而产生新的个体,它是结合来自父代交配种群中的信息产生新的个体。
变异,在选中的个体中,对个体中的某些基因执行异向转化,从而形成新的个体。变异提供了一个恢复群体失去多样性的方法,确保群体继续进化,且在当前解附近找到更好的解。
遗传算法对神经网络的优化主要包括三个方面:连接权的进化;网络结构的进化;学习规则的进化。
神经网络的权值训练过程实际是一种复杂函数优化问题,即通过反复调整来寻找最优的连接权值。神经网络传统的权值获取方法是采用某种确定的变化规则,在训练中逐步调整,最终得到一个较好的权值分布。但是BP网络是基于梯度下降方法,因而对网络的初始权值异常敏感,不同的初始权值会导致完全不同的结果 [
在网络学习时,因为权值和阈值难以估计,所以一般采用随机设置的方法,然后从这一点逐渐收敛到期望值。但是如果样本数目很多,其收敛时间相对较长,使训练时间大为增加,由于每个训练周期都要对所有样本进行训练,样本数目众多必然导致整个训练时间的大大加长。而且在训练过程中,有关参数(如学习速率)的选取也没有理论指导,完全凭借经验来确定,一旦取值不当,就会引起网络震荡而不能收敛,即使收敛也会因为收敛速度慢而导致训练时间长,同时又极易陷入局部极值而无法得到最好的权值分布,最终影响网络的泛化能力。
因此考虑采用遗传算法克服BP网络的缺陷,对BP神经网络进行改进。将遗传算法与BP网络相结合,训练时先用遗传算法进行寻优,将搜索范围缩小后,再利用BP网络来进行精确求解,可以达到全局寻优和快速高效的目的。用遗传算法来训练网络,这充分利用了遗传算法全局搜索功能强和BP神经网络局部搜索能力强的特点。
目前,遗传算法对神经网络的优化主要包括三个方面:连接权的优化;网络结构的优化;学习规则的优化。本文考虑用遗传算法来优化神经网络的连接权。
利用遗传算法,将BP网络的权值和阈值按一定的顺序级联起来,形成一个实数数组,作为遗传算法的一个染色体。然后构造这样的染色体群,通过遗传算法先对网络的权值和阈值做快速的学习,以此选择出BP网络的初始权值和阈值,然后进行BP算法的训练。
在上述分析的基础上,用遗传算法改进神经网络的计算按照图1进行。
图1. 基于遗传算法的神经网络计算流程图
训练考核评估,是衡量部队训练质量,检验部队实战化水平的一种方法与手段。训练效果受多方面因素影响,根据建立评估指标体系应该满足的原则:整体性、层次性、客观性、典型性、可量化,建立如图2所示的训练评估指标体系 [
图2. 训练评估指标体系
运用MATLAB编程,及软件自带的神经网络工具箱 [
指标 | 样本1 | 样本2 | 样本3 | 样本4 | 样本5 | 样本6 |
---|---|---|---|---|---|---|
1 | 0.86 | 0.73 | 0.87 | 0.73 | 0.63 | 0.75 |
2 | 0.61 | 0.77 | 0.85 | 0.68 | 0.65 | 0.74 |
3 | 0.61 | 0.73 | 0.63 | 0.72 | 0.94 | 0.86 |
4 | 0.98 | 0.94 | 0.74 | 0.72 | 0.92 | 0.64 |
5 | 0.76 | 0.76 | 0.69 | 0.81 | 0.79 | 0.76 |
6 | 0.85 | 0.76 | 0.87 | 0.78 | 0.88 | 0.61 |
7 | 0.93 | 0.73 | 0.79 | 0.92 | 0.93 | 0.67 |
8 | 0.86 | 0.84 | 0.65 | 0.77 | 0.75 | 0.94 |
9 | 0.74 | 0.91 | 0.8 | 0.8 | 0.85 | 0.88 |
10 | 0.93 | 0.91 | 0.8 | 0.83 | 0.89 | 0.74 |
11 | 0.67 | 0.75 | 0.85 | 0.68 | 0.6 | 0.92 |
12 | 0.94 | 0.71 | 0.62 | 0.61 | 0.94 | 0.78 |
13 | 0.89 | 0.77 | 0.95 | 0.91 | 0.94 | 0.77 |
14 | 0.92 | 0.82 | 0.9 | 0.71 | 0.85 | 0.84 |
15 | 0.86 | 0.96 | 0.76 | 0.98 | 0.63 | 0.6 |
16 | 0.94 | 0.71 | 0.62 | 0.61 | 0.94 | 0.78 |
表1. 训练样本数据
分别对BP神经网络和优化后的神经网络进行训练,当输出误差达到0.001的要求后,停止训练,结果如表2所示:
BP | 优化后的BP | |
---|---|---|
均方误差 | 9.43 × 10−4 | 8.47 × 10−4 |
训练收敛步数 | 450 | 320 |
表2. 仿真结果对比
通过BP神经网络和优化后的神经网络的仿真结果,可以看到,无论从仿真输出误差,还是收敛步数,基于遗传算法优化的神经网络都要优于BP神经网络。利用遗传算法优化BP神经网络,在训练考核评估时将权值和阈值搜索范围缩小,再用神经网络进行精确求解,确实可以很好地达到全局寻优和快速高效的目的。较好地克服人工神经网络易陷入局部最小值,收敛速度慢的缺点。实例证明,改进后的神经网络算法能有效提高评估的准确性。网络训练完成后,输入最后一组样本值,可以得到输出结果为:0.82,它表明训练考核评估值为0.82,精确描述了训练效果。
在运用改进的BP神经网络对训练效果进行评估时,专家直接给各指标赋值,不需要重复对各指标权重进行相对评估,使得训练评估程序简化。评估结果能够较为客观、全面地反应训练的基本现状,为提高训练质量,有针对性地开展训练提供了理论指导。
鞠桂玲. 改进的神经网络算法及其应用Improved Neural Network Algorithm and Its Application[J]. 计算机科学与应用, 2022, 12(01): 262-267. https://doi.org/10.12677/CSA.2022.121026