1、第 43卷 第 7期 高 师 理 科 学 刊 Vol.43 No.7 2023 年 7 月 Journal of Science of Teachers College and University Jul 2023 文章编号:1007-9831(2023)07-0033-08 基于改进遗传算法优化 BP 神经网络的 表面粗糙度误差预测 张剑飞,王磊,刘明,王硕(齐齐哈尔大学 计算机与控制工程学院,黑龙江 齐齐哈尔 161006)摘要:随着现代制造业的发展,对工件加工质量和精度越来越追求高标准表面粗糙度作为评价工件质量的重要指标,对工件质量和产品特性具有重要的影响针对传统 BP(Back Pr
2、opagation)神经网络在训练过程中易陷入局部极小值和收敛速度慢等不足,遗传算法(Genetic Algorithm,GA)存在随机性问题,提出采用遗传算法和混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)结合来改进 BP 神经网络(记为 SFLA-GA-BP)进行工件表面粗糙度误差预测以工件表面粗糙度与砂轮粒度、砂轮转速、工件速度、进给率四要素之间的相关关系为研究目标,通过正交实验技术,分别以 BP 神经网络、遗传算法改进 BP 神经网络(记为 GA-BP)和 SFLA-GA-BP 神经网络进行建模分析实验结果表明,SFLA-GA-BP 的均方根误
3、差(Root Mean Squared Error,RMSE)比 BP 网络和 GA-BP 网络分别提高了 1.7%和 0.7%、平均绝对百分误差(Mean Absolute Percentage Error,MAPE)分别提高了 2%和 1.1%,平均绝对误差(Mean Absolute Error,MAE)分别提高了1%和 0.6%SFLA-GA-BP 模型的预测误差相比于 BP 神经网络和 GA-BP 神经网络更加精准故SFLA-GA-BP 模型对于预测工件表面粗糙度具有更高的准确率和良好的稳定性,同时为企业减少成本,对企业智能化发展具有一定的指导意义 关键词:表面粗糙度;神经网络;遗传
4、算法;混合蛙跳算法 中图分类号:TP39 文献标识码:A doi:10.3969/j.issn.1007-9831.2023.07.008 Prediction of surface roughness error based on BP neural network optimized by improved genetic algorithm ZHANG Jianfei,WANG Lei,LIU Ming,WANG Shuo(School of Computer and Control Engineering,Qiqihar University,Qiqihar 161006,China)
5、AbstractAbstract:With the development of modern manufacturing industry,the workpiece processing quality and precision are increasingly pursuing high standardsSurface roughness is a significant index to estimatethe surface quality of workpiece,it had significant influence on the quality of machined p
6、arts and product performanceAiming at the shortcomings of traditional BP(Back Propagation)neural networks was effortless to sink into the local minimum and slow convergence rate in the training process,genetic algorithm(GA)had the problem of randomness,according to the genetic algorithm and shuffled
7、 frog leaping algorithm(SFLA)were combined to improve BP neural network(named SFLA-GA-BP)to predict surface roughness errorThe model taken the correlation between artifacts 收稿日期:2023-03-08 基金项目:齐齐哈尔市科技计划重点项目(ZDGG-202203)作者简介:张剑飞(1974-),男,黑龙江齐齐哈尔人,教授,博士,从事深度学习和计算机辅助诊断研究E-mail:jian_fei_ 34 高 师 理 科 学 刊
8、 第 43 卷 surface roughness and grinding wheel granularity,grinding wheel speed,artifacts speed and feed rate as the research object,and used orthogonal experiment methodBP neural network,genetic algorithm improved BP neural network(named GA-BP)and SFLA-GA-BP neural network were established model anal
9、ysis respectivelyExperimental show that the root mean squared error(RMSE)of SFLA-GA-BP was 1.7%and 0.7%higher than that of BP and GA-BP,respectively MAPE increased by 2%and 1.1%,mean absolute error(MAE)increased by1%and 0.6%The prediction error of SFLA-GA-BP model is more accurate than that of BP ne
10、ural network and GA-BP neural networkSo the SFLA-GA-BP model for predicting the workpiece surface roughness had a higher accuracy and good stabilityMeanwhile,it can reduce the cost for enterprises,and has certain guiding significance for the development of enterprise intelligence Key wordsKey words:
11、surface roughness;neural network;genetic algorithm;shuffled frog leaping algorithm 人工神经网络由 Rumenlhart1等科学家在 1986 年提出,目前己经被广泛运用在人工智能、医学处理、机械工业等各个领域方面针对不同的应用需要,学者们做了相关研究Vogl2等提出一种自适应学习率的算法,来减少 BP 算法的学习时间研究人员为加快网络模型的训练速度,将其他算法与之结合,取得了良好的效果马秋芳3利用粒子群算法优化 BP 神经网络来预测城市短时交通流刘亚丽4等利用遗传算法初始化 BP 神经网络的权值与阈值对 BP
12、神经网络进行优化并计算配电网的线损误差牛华5将遗传算法与BP玭算法结合预测汽车发动机故障梅妍6等利用自适应遗传算法与 BP 神经网络结合去预测船舶交通流量李超7等将粒子群算法和遗传算法结合优化 BP 神经网络预测船舶电力系统故障郝娟8将粒子群算法与 BP 算法结合监测 SRM 转子位置研究表明,采用 BP 神经网络建立多输入多输出非线性系统的数学模型具有很强的适应性,如果将其他智能算法与之结合,将更好地发挥 BP 神经网络的优势本文将遗传算法(Genetic Algorithm,GA)与混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)结合改进 BP 神经
13、网络算法,利用遗传算法来保证全局搜索的同时,采用混合蛙跳算法分组策略局部搜索来避免遗传算法的随机性问题,最后通过 BP 神经网络进行训练以实现对加工工件表面粗糙度的预测,进一步提升算法的误差精度 1 BP 神经网络 BP 神经网络9-10首先执行输入样本的正向传播过程,从输入层进入,进行权值与阈值的运算,通过激励函数得到的输出作为隐藏层的输入,隐藏层再进行权值与阈值的运算,得到最终输出其过程是进行加权操作与调用激励函数来获得各层输出值,当误差不满足精度要求时,则执行反向传递,通过梯度下降法不断对权值和阈值进行处理来减小误差 设 BP 神经网络的参数有m个输入层节点、n个隐藏层节点、s个输出层节
14、点隐藏层的输出jH计算公式 1mjijijiHgw xa (1)式中:g x为激励函数;ijw为输入层第i个节点到隐藏层第j个节点的权重;ix为第i个输入样本;ja为隐藏层第j个节点的偏置1,2,im,1,2,jn输出层的输出kO为 1nkjjkkjOH wb (2)式中:jkw为隐藏层第j个节点到输出层第k个节点的权重;kb为输出层第k个节点的偏置网络总误差E为 2112skkkEYO (3)式中:kY为期望输出,1,2,ks权值更新为 第 7 期 张剑飞,等:基于改进遗传算法优化 BP 神经网络的表面粗糙度误差预测 35 11sijijjjijkkkwwHHxw e (4)式中:为学习速率
15、记kkkeYO,阈值更新为 iiiiiibbbaaa (5)式中:ia,ib分别为a和b的调整量 2 混合蛙跳改进遗传 BP 算法 2.1 遗传算法原理 遗传算法是一种利用模仿生物进化生存规律的自然选择理论11,其核心是搜索最优解的数学模型遗传算法中的个体或染色体是一组基因编码,该基因编码是基于一定的编码方式生成,编码方式较为常用的有实数编码和二进制编码12通过对染色体执行选择、交叉及变异 3 种操作进化成更优的子群,并根据适应度函数来进行个体评价,在进化过程中逐步向最优个体进化,直到满足期望的收敛要求为止其目的是为了通过产生新的个体在进化过程中能跳出局部最优具体描述为:Step1 初始化参数
16、确定初始化种群的数量、编码的方式、个体编码的长度、选择策略、交叉概率的设定、变异概率的设定、适应度函数的选择、最大迭代次数 Step2 初始种群,选择编码方式进行编码 Step3 选择合适的函数作为适应度值 Step4 进行选择、交叉、变异操作,进化种群 遗传操作中选择、交叉和变异 3 种算子具体公式为:(1)选择操作计算出所有个体的适应度值,利用轮盘赌算法随机选择个体,个体的适应度值越高,被选中成下一代子群的机率则越大,个体的概率公式为 1njFit ip jFit j (6)式中:Fit i为第i个个体的适应度值;n为种群数量(2)交叉操作选择个体的某段基因进行交换,交换后产生新的个体 1
17、kjkjljaaba b (7)1ljljkjaaba b (8)式中:kja为第k个个体ka的第j位;lja为第l个个体la的第j位;b为01,的随机数(3)变异操作通过变异概率产生新的个体 maxmin,0.5,0.5ijijgijijijgaaaf naaaaf n (9)21gggnf nrN (10)式中:maxa为基因ija的最大值;mina为基因ija的最小值;r2为01,的随机数;gn为当前迭代次数;gN为最大迭代次数 Step5 当达到最大迭代次数时,执行 Step6,否则,继续执行 Step3 Step6 输出结果,解码后得到问题的最优解 2.2 混合蛙跳算法原理 由于遗传
18、算法的选择操作存在一定的随机性,针对其存在的问题,引入了混合蛙跳的分组策略进行替换轮盘赌算法 混合蛙跳算法于 2003 年由 Eusuff13等提出,该算法具有参数少,能够跳出局部最优等优点 36 高 师 理 科 学 刊 第 43 卷 混合蛙跳算法采用全局和局部搜索相结合的并行机制,使算法得到全局最优解 其具体的实现步骤为:Step1 设置相关参数,即青蛙种群数量、各子群中青蛙数量、子群内最大进化次数、种群最大进化次数计算种群中各个青蛙的适应值 Step2 适应度评价将适应值进行降序排序,记录适应值最优的个体gp Step3 子群划分将排序后的种群分别放入每一个子群内,直到所有青蛙种群分配完成
19、 Step4 局部搜索对所有子群分别进行内部排序,组内最优个体记作bp,最差的记为wp执行青蛙个体的 3 次跳跃,第 1 次跳跃为更新子群中适应度值最低的青蛙,更新公式为 bwnewwrand 0,1jjDppppD (11)式中:j为子群组内迭代次数;jD为青蛙的移动步长;maxD为最大步长;maxmaxjDDD 如果最差青蛙的新位置比原来的好,则用newp替换wp如果比原来的差,则进行第 2 次跳跃,利用整个种群中适应度值最高个体来更新子群中适应度值最低个体更新公式为 wnewwrand 0,1jgjDppppD (12)计算后如果新位置更优,则用newp替换wp,否则,执行第 3 次跳跃
20、,直接随机生成一只新的青蛙替代wp直到达到子群最大迭代次数 Step5 混合子群将重新混合所有子群,当达到最大迭代次数时,结束循环否则继续执行 Step3 2.3 SFLA-GA-BP 算法的实现 根据研究,提出一种改进的遗传 BP 神经网络算法该算法引入混合蛙跳算法的分组策略来替换传统遗传算法选择操作中的轮盘赌算法其算法流程见图 1 图 1 改进遗传算法优化 BP 神经网络计算流程 第 7 期 张剑飞,等:基于改进遗传算法优化 BP 神经网络的表面粗糙度误差预测 37 实现步骤为:Step1 初始化参数输入训练样本数据,进行预处理确定 BP 神经网络的网络结构初始化遗传算法的种群数目、编码方
21、式、交叉因子、变异因子、最大迭代次数初始化混合蛙跳算法分组数目,组内最大迭代次数 Step2 适应度评价本文采用公式(3)作为适应度函数,记录所有个体的适应度值 Step3 分组更新按适应度值将所有个体进行从高到低排序,然后进行分组,分组策略为 2.2 中的Step3 子群划分子群内部进行更新,每个子群中最差个体执行 3 次跳跃过程,其过程为 2.2 中的 Step4 局部搜索 Step4 整体寻优混合所有子群个体,对混合后的种群进行选择、交叉操作 Step5 输出结果当达到最大迭代次数时,输出结果,否则跳到 Step3 重复进行得到的输出结果即为 SFLA-GA-BP 算法的初始权值和阈值,
22、然后进行训练 3 SFLA-GA-BP 工件表面粗糙度预测模型建立及结果分析 3.1 数据集介绍 本文所使用数据集来自文献14,经重新整理后见表 1实验对象为某轿车发动机四缸缸体,实验选取砂轮颗粒、砂轮转速、工件速度和进给量作为表面粗糙度的主要影响因素进行传统的神经网络建模时,需有数量充足的样本,有明确的网络模型、网络的权值、阈值以及初始值从训练 BP 神经网络的样本 s中选择一个体 s=g,r,w,f,sr,单位分别为#,r/min,mm/min,mm/r,Ra其中,g,r,w,f反映为砂轮颗粒、砂轮转速、工件速度、进给量;sr为工件的表面粗糙度g,r,w,f为 BP 网络样本的输入;sr为
23、目标输出根据正交实验设计准则,经过正确合理的安排后,能够降低试验次数和时间表 1 正交实验数据 序号 g r w f sr 序号 g r w f sr 序号 g r w f sr 1 80 1 500 6 2.5 0.662 26 100 1 500 6 26 0.634 51 120 1 500 6 2.5 0.605 2 80 1 500 8 5 0.665 27 100 1 500 8 27 0.637 52 120 1 500 8 5 0.609 3 80 1 500 10 7 0.696 28 100 1 500 10 28 0.669 53 120 1 500 10 7 0.640
24、 4 80 1 500 12 9 0.753 29 100 1 500 12 29 0.726 54 120 1 500 12 9 0.698 5 80 1 500 15 10 0.871 30 100 1 500 15 30 0.841 55 120 1 500 15 10 0.810 6 80 1 800 6 5 0.635 31 100 1 800 6 31 0.611 56 120 1 800 6 5 0.586 7 80 1 800 8 7 0.640 32 100 1 800 8 32 0.616 57 120 1 800 8 7 0.591 8 80 1 800 10 9 0.6
25、71 33 100 1 800 10 33 0.647 58 120 1 800 10 9 0.623 9 80 1 800 12 10 0.722 34 100 1 800 12 34 0.697 59 120 1 800 12 10 0.671 10 80 1 800 15 2.5 0.786 35 100 1 800 15 35 0.748 60 120 1 800 15 2.5 0.708 11 80 2 100 6 7 0.579 36 100 2 100 6 36 0.559 61 120 2 100 6 7 0.538 12 80 2 100 8 9 0.584 37 100 2
26、 100 8 37 0.564 62 120 2 100 8 9 0.543 13 80 2 100 10 10 0.611 38 100 2 100 10 38 0.589 63 120 2 100 10 10 0.567 14 80 2 100 12 2.5 0.630 39 100 2 100 12 2.5 0.596 64 120 2 100 12 2.5 0.561 15 80 2 100 15 5 0.709 40 100 2 100 15 5 0.675 65 120 2 100 15 5 0.639 16 80 2 500 6 9 0.458 41 100 2 500 6 9
27、0.441 66 120 2 500 6 9 0.424 17 80 2 500 8 10 0.457 42 100 2 500 8 10 0.439 67 120 2 500 8 10 0.420 18 80 2 500 10 2.5 0.459 43 100 2 500 10 2.5 0.429 68 120 2 500 10 2.5 0.398 19 80 2 500 12 5 0.479 44 100 2 500 12 5 0.450 69 120 2 500 12 5 0.419 20 80 2 500 15 7 0.552 45 100 2 500 15 7 0.522 70 12
28、0 2 500 15 7 0.490 21 80 2 600 6 10 0.419 46 100 2 600 6 10 0.404 71 120 2 600 6 10 0.388 22 80 2 600 8 2.5 0.414 47 100 2 600 8 2.5 0.387 72 120 2 600 8 2.5 0.359 23 80 2 600 10 5 0.412 48 100 2 600 10 5 0.385 73 120 2 600 10 5 0.358 24 80 2 600 12 7 0.437 49 100 2 600 12 7 0.411 74 120 2 600 12 7
29、0.384 25 80 2 500 15 9 0.515 50 100 2 600 15 9 0.488 75 120 2 600 15 9 0.460 3.2 评价模型 本文采用了 3 种评价指标对工件表面粗糙度模型的预测性能进行评估,分别为RMSE,MAE,MAPE 38 高 师 理 科 学 刊 第 43 卷 均方根误差为 21RMSniiiYOEn (13)平均绝对误差 MA11|niiiEYOn (14)平均绝对百分误差 MAP11niiiiYOEnY (15)3.3 SFLA-GA-BP 神经网络模型建立 为确定隐藏层节点个数,在已知 SFLA-GA-BP 网络的输入层节点数和输出层
30、节点数的前提下,通过均方根误差(见图 2)和平均绝对误差(见图 3)可知,隐藏层节点个数为 10 时其误差最小故取隐藏层节点个数为 10 针对砂轮颗粒、砂轮转速、工件速度、进给量与工件表面粗糙度的网络模型结构为 4101,节点的激励函数对 BP 神经网络预测精度也会产生一定的影响,由于 Sigmoid 函数容易出现梯度弥散,在训练过程中不容易达到最优值,而 tanh 函数则解决了 Sigmoid 的输出问题,相对于 Sigmoid 提高了收敛速度 故选取 tanh 函数作为激励函数,tanh 函数公式 eetanheexxxxx (16)图 2 均方根误差变化 图 3 平均绝对误差变化 由于表
31、 1 中数据数量级差别较大,对神经网络进行训练时,为了减少因数据间较大数值的差别,防止网络收敛速度过慢,需要对数据样本进行归一化操作其公式为 minmaxmin21xxyxx (17)式中:minx为数据最小值;maxx为数据最大值 实验方法是基于 PC 端 Win10 操作系统进行模型的设计和系统的开发,主要软硬件环境为PyChram-2021,Python3.8,8G Intel-i7-1065G7 CPU 3.4 结果与分析 由分析研究可知,对 SFLA-GA-BP 神经网络训练时,共有 50(410+101)个权值和 11(10+1)个阈值对采用遗传算法进行初始化时,取个体的编码总长度
32、为 51,并采用实数编码技术方式,取误差损失函数作为个体的适应度函数值训练 SFLA-GA-BP 神经网络时,从表 1 中随机选取 65 组作为训练集进行网络训练,余下 10 组作为预测集进行预测,取g,r,w,f作为 BP 网络的输入,sr作为网络的目标输出 根据 SFLA-GA-BP 理论,训练时主要参数的设计见表 2 其中参数的设置大多数是根据人为经验所设置,其中染色体长度和网络结构是根据输入参数和输出参数的个数所决定的 第 7 期 张剑飞,等:基于改进遗传算法优化 BP 神经网络的表面粗糙度误差预测 39 表 2 模型参数设置 参数内容 参数值 参数内容 参数值 种群大小 200 变异
33、概率 0.1 最大进化迭代次数 200 目标误差 0.006 5 染色体长度 混合蛙跳分组数 组内个体数 组内迭代次数 51 10 20 10 最大训练步数 激励函数 学习速率 网络结构 3 000 tanh 0.005 4-10-1 交叉概率 0.6 在网络结构、权值和阈值等条件一致的情况下,各模型的预测误差见表 3 BP 模型的最大误差为 6.65%,最小误差为 1.97%,GA-BP 模型的最大误差为 5.06%,最小误差为 0.68%,而 SFLA-GA-BP 模型的最大误差为 3.13%,最小误差为 0.15%表 3 各模型预测结果对比 相对于其他预测工件表面粗糙度的模型,SFLA-
34、GA-BP 神经网络具有较好的预测结果(见图 4)相对于传统 BP 网络和 GA-BP 网络提高了预测精度 图 4 各神经网络预测对比 GA-BP 模型在迭代 100 次以后寻找到最优解(见图 5),SFLA-GA-BP 在迭代 75 次左右以后寻找到最优解(见图 6),其适应度值的精度也高于 GA-BP 模型 图 5 GA-BP 网络最优个体适应度值 图 6 SFLA-GA-BP 网络最优个体适应度值 真实值 BP 模型输出 GA-BP 模型输出 SFLA-GA-BP 模型输出 BP 模型 误差率(%)GA-BP 模型 误差率(%)SFLA-GA-BP 误差率(%)0.420 0.430 0
35、.415 0.417 2.33 1.20 0.72 0.490 0.466 0.481 0.489 5.15 1.87 0.20 0.561 0.526 0.534 0.544 6.65 5.06 3.13 0.639 0.612 0.623 0.638 4.41 2.57 0.16 0.662 0.691 0.641 0.668 4.20 3.28 0.90 0.665 0.683 0.654 0.669 2.64 1.68 0.60 0.669 0.699 0.674 0.668 4.29 0.74 0.15 0.697 0.711 0.718 0.711 1.97 2.92 1.97 0
36、.726 0.753 0.731 0.738 3.59 0.68 1.63 0.748 0.781 0.766 0.753 4.23 2.35 0.66 40 高 师 理 科 学 刊 第 43 卷 通过分析不同预测模型的结果(见表 4),计算它们的RMSE,MAE,MAPE可以发现 SFLA-GA-BP模型的RMSE,MAE,MAPE分别为 0.020,0.014,0.022,与 BP 预测模型相比分别提高了 1.6%,1%,2%,与 GA-BP 预测模型相比分别提高了 0.7%,0.6%,1.1%3 个指标都明显减小,故 SFLA-GA-BP 模型的预测精度要高于传统的 BP 模型和 GA-
37、BP 模型因此,可以看出本文提出的 SFLA-GA-BP 算法可以满足企业精度的要求 表 4 模型评价指标对比 算法类别 ERMS EMA EMAP BP 0.036 0.024 0.042 GA-BP 0.027 0.020 0.033 SFLA-GA-BP 0.020 0.014 0.022 4 结语 本文以工件表面粗糙度为预测目标,提出的结合遗传算法和混合蛙跳算法优化 BP 神经网络的设计方法,并与传统的 BP 模型与遗传算法优化 BP 模型进行对比预测结果表明:(1)使用 SFLA-GA-BP 算法的预测误差精度高于传统的 BP 模型与 GA-BP 模型(2)SFLA-GA-BP 算法
38、对于预测工件表面粗糙度具有良好的稳定性和有效性 因此,给出的方法能够在一定程度上为企业减少成本,对企业智能化发展具有一定的指导意义 参考文献:1 Rumelhart D E,Hinton G E,Williams R J Learning Representations by Back Propagating ErrorsJ Nature,1986,323(6088):533-536 2 Vogl T P,Mangis J K,Rigler A KAccelerating the convergence of the back-propagation methodJBiological Cyb
39、ernetics,1988,59(4/5):257-263 3 马秋芳改进 PSO 优化的 BP 神经网络短时交通流预测J计算机仿真,2019,36(4):94-98 4 刘亚丽,李英娜,李川 基于遗传算法优化 BP 神经网络的线损计算研究J 计算机应用与软件,2019,36(3):72-75 5 牛华基于改进 BP 神经网络的汽车发动机故障诊断J组合机床与自动化加工技术,2021,13(5):57-61 6 玭梅妍,张得才,傅荣一种准确预测船舶交通流的自适应遗传算法优化的 BP 神经网络模型研究J电子器件,2020,43(2):452-455 7 李超,薛士龙改进 GA-PSO 算法的船舶电
40、力系统故障诊断J科学技术与工程,2019(28):372-377 8 郝娟基于粒子群算法优化 BP 神经网络的 SRM 磁链模型J机械制造与自动化,2018,47(2):130-132 9 周志华机器学习M北京:清华大学出版社,2016 10 Cybenko G Approximation by superposition of a sigmoidal functionJ Mathematics of Control,Signals,Systems,1989,2(4):303-314 11 Miao H,Zuo D W,Wang H J,et alOptimization of Tap Par
41、ameters for Internal Thread Cold Extrusion of High Strength Steel Based on Genetic AlgorithmJKey Engineering Materials,2010,898(431/432):434-437 12 赵红,李滢,肖文洁 实数与二进制编码 GA 种群多样性统一数学模型J 计算机工程与科学,2016,38(6):1177-1182 13 Eusuff M M,Lansey K E Optimization of Water Distribution Network Design Using the Shuffled Frog Leaping AlgorithmJJournal of Water Resources Planning and Management,2003,129(3):210-225 14 杨志贤,于萍萍,顾寄南基于 PSO-BP 神经网络的磨削表面粗糙度预测模型的研究J工具技术,2017,51(11):36-40