人工神经网络及其在机械加工中的应用实例. 下载本文

内容发布更新时间 : 2024/11/9 1:56:23星期一 下面是文章的全部内容请认真阅读。

人工神经网络及其在机械加工中的应用实例

(广西大学 机械工程学院,广西 南宁 530004)

摘 要:文章介绍了人工神经网络知识。通过神经网络在磨削表面粗糙度研究中的应用,详细介绍神经网络的建模过程。试验结果表明神经网络能自适应各种加工条件,具有较高的柔性和智能,能更准确的反映加工因素之间的变化关系,并且可以推广到其他领域中处理模糊的、非线性的的问题。 关键词:人工神经网络;BP网络;机械加工;磨削表面粗糙度 一、人工神经网络基础 人工神经网络是模拟生物神经网络的智能计算机网络系统。由多个互联的网络节点按某种方式连接而成。网络上的每个节点相当于一个神经元,可以记忆、处理一定的信息,与其它节点并行工作。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。 用人工神经网络解决问题,要经过两个阶段。第一阶段是训练和学习阶段。如果给某些神经元一定的输入值,总可以在另一些神经元上得到一定的输出值,输出值由与神经元互联的权重和阀值决定。如果若按一定的规律不断地不断调节联接的权重和阀值,使人工神经网络的输入和输出关系逼近实际过程,就可以让人工神经网络获得实际过程的信息。 图1中,设X1、X2……Xn为神经网络的输入,Y1为神经网络的输出,f(u)为转换函数,θ为阀值,ω1、ω2…ωn为连接权重。 图1 人工神经元结构 那么有: 在人工神经网络中以权重值控制节点参与工作的程度。正权重相当于神经元突触受到刺激而兴奋,负权重相当于受到抑制而使神经元麻痹直到完全不工作。阀值用于控制神经元何时才对信号反应。或者可以理解为神经元起作用的门槛,如同外界的信号必须达到一定的强度才能刺激神经元产生一定的反应。转换函数的目的是使输出的数据标准化。 第二阶段是正常操作或回忆阶段,就是将需要知道输出的输入送给训练后的网络,网络根据对训练过程的回忆就可以对实际输出进行预测与模拟。所以也称回忆操作[1] 人工神经网络通过样板的“学习和培训”,可记忆、客观事物在空间、时间方面比较复杂的关系,特点适合于解决各类预测、分类、评估匹配、识别等问题。

二、BP神经网络 人工神经网络有许多不同的网络模型。其中BP网络(即后传播网络)应用最广泛。因为BP网络结构简单,使用方便明了,而且可以解决多数人工神经网络所面临的问题。 BP网络采用最小误差的学习方法和修改了的Delta学习规则。首先,将输入数据输入网络输入层,输入层单元接收到输入信号,计算权重和,接着根据单元的传递函数将信号传给中间层,中间层单元将输出传给输出层。然后,网络的实际输出与应有的输出相比较。如果误差超过给定值,则将误差向后传播,也就是从输出层到输入层。在误差向后传播的过程中,相应地修改单元间的连接权重。 输出层 输入层 隐含层 典型Bp神经网络如图2所示。

图2 典型BP神经网络 在该模型中,设输入矢量为

X∈Rn,X=(x0,x1,x2,…,xn-1)T, 隐含层矢量为:Z∈Rq,Z=(z0,z1,z2,…,zq-1)T, 输出层矢量为Y∈Rm,Y=(y0,y1,y2,…,ym-1)T。设隐含层与输入层间的权重为ωji,阀值为θj,其中j=0,1,2,…,q-1;i=0,1,2,…,n-1。设输出层与隐含层间的权重为Vkj,阀值为θk,其中k=0,1,2,…,m-1;j=0,1,2,…,q-1。设单元所采用的传递函数为Sigmoid函数:,这样各层单元的输出值为: u为各层输出加权求和的值。 BP算法是一种有教师的算法。设输入学

习样本为P个,X1,X2,…,XP,与其对应的教师是t1, t2,…, tP,学习算法是将实际的输出Y1,Y2,..., YP与t1, t2,…, tP的误差来修正权重与阀值,使输出YP1与理想的tp1尽可能地接近。(P1=1,2,…,P) 为计算简便,将阀值写入权重中,即θj=ωjn,xn=-1;θk=Vkq,zq=-1。则: 把第I个样本xi输入,得到输出yk(k=0,1,…,m-1),其误差为各输出单元误差之和。

对于P个样本,总误差为: 对于预定精度ε,如果E<ε,则网络训练终止,此时得到的人工神经网络就可以用于预测。如果E>=e,则修改权重后重复训练,直到满足精度要求为止[1]。

三、神经网络的组织 1 隐含层数的确定 经研究证明,任意一个连续函数都可以用只有一个隐含层的网络以任意的精度逼近。即一个3层的BP网络可以完成任意n维到m维的映照。由于实际应用时,某些条件不一定得到满足,使得用单个隐含层难以达到要求。研究表明,逼近相同维数的函数,双隐层网络比单隐层网络所需要的隐含层的节点数要少得多,并且不需要再增加第三隐含层。增加隐含层可以增加人工神经网络的处理能力,但是会使训练复杂,使网络收敛速度大大降低。在设计网络时,首先应该考虑一个隐含层,如果选用一个隐含层,在增加节点数后还不能得到满意的结果,这时可以考虑双隐含层,但是总的节点数应该减少[2]。 2 隐含层节点数的确定 采用适当的隐含层节点数是很重要的。节点数过少,网络能获得解决问题的信息太少。网络得不到充分的训练,难以处理复杂的问题。节点数过多,会使训练时间大大增加。而且容易引起网络训练过度,其外在表现为网络学习样本精度很高,收敛很快,但是测试误差很大。 关于隐含层节点数的初步确定,不同的学者提出了不同的理论。在输入节点数多,输出层节点数少时,金字塔规则是确定隐含层节点的常用方法。当只有一个隐含层时,若输入输出节点数分别为n和m,则隐含层节点数= ,当有两个隐含层时,第一个隐含层节点数=mr2,第二个隐含层节点数=mr,其中,r= 。 上面介绍的公式只是对隐含层节点数的粗略估计值。另外还要结合试验试凑法来最后确定隐含层节点数,即对同一样本用不同的隐含层节点数的网络分别训练,根据试验误差的大小确定最合适的隐含层节点数。这种方法虽然费时,但是却是目前比较有效的方法[2]。 当输入和输出节点数比较少,以上公式就不适合了。此时试凑法的初值可以参考学者Aria提出的理论:P-1个隐节点时满足任意精度的必要条件,其中P为训练样本个数[3]。 3、试验安排 采用正交表安排试验可以使试验次数大大减少。而且每个试验点的数据含有最大的信息[4]。

四、神经网络方法在机械加工中的应用实例 机械加工主要包含切削加工和磨削加工,切削加工是最常用的加工方法,磨削加工则是一种常用的精密加工方法,它能获得很高的加工精度和表面质量。在当今的钛合金、高温合金、超高强度钢、不锈钢及高温结构陶瓷等难加工材料的加工中,特别是在成形表面的加工中,磨削都是一种非常有效的加工方法。 下面将研究采用神经网络对磨削过程进行分析和预测的方法,建立由磨削用量(砂轮速度,进给速度,工件转速)确定磨削表面粗糙度的预测模型。磨削力和切削力预测的方法可以仿照此过程。 采用正交试验的方法进行陶瓷结合剂CBN砂轮磨削45号淬火钢的表面粗糙度的研究。在所有的试验中设定好磨削用量(砂轮速度、金属磨除率、工件速度)的各个参数后进行加工。为了研究磨削用量对表面粗糙度的真实影响,在加工到一定时间后直接退刀,使测量的表面粗糙度的值不受光磨时的影响[5]。表面粗糙度用时代TR100袖珍式表面粗糙度测量仪进行测量。

试验条件如下: 机床:MS1320高速外园磨床 砂轮:11#陶瓷结合剂CBN处理,粒度80/100#,浓度125%,砂轮尺寸400×10×127 工件:45#淬火钢(HRC50-55),尺寸Φ100×8 冷却液:100%煤油 修整用量:

Vd=200mm/min,td=10um/双程 磨削用量:砂轮速度Vs=35,50,60m/s; 砂轮进给速度Vf=0.01,0.015,0.02mm/s; 工件转速nw=100,140,200r/min 原始试验数据及网络预测结果见表1。 表1磨削粗糙度试验数据及网络预测结果 试验号 VS Vf nw 粗糙度Ra 预测值 δk △k

表中,δk为拟合绝对误差,△k为拟合相对误差。 由表中结果可见,神经网络的拟合结果是相当精确的,最大相对误差仅为1.77%。 (1)数据分析与处理 影响磨削表面粗糙度的因素中,磨削用量(砂轮速度、金属磨除率、工件速度)的影响最大。磨削表面粗糙度的简化模型见图3。 图3 磨削粗糙度预测模型 图中X1,X2,X3分别代表砂轮速度、金属磨除率、工件速度,输出Y1代表磨削表面粗糙度。在建模后采用9组试验数据来训练BP网络,所以采用输入层含3个输入,输出层含1个输出神经元的BP结构。隐含层的层数为1。 隐含层个数要求大于P-1,P为输入样本对数。本文中有9对样本数据,取隐含层单元个数为9个。 (2)网络输入输出数据的处理 1.0 0.5 y 图4 sigmoid函数 u 网络的转换函数采用图4中的sigmoid函数,即: 所以输出值介于(0,1),由函数的图形可知该函数输出曲线两端平坦,中间部分变化剧烈。当输入u接近0,输出f(u)接近0.5时,f(u)才真正起转移作用。所以输入数据必须标准化,也就是取其介于(0,1)。输入数据必须标准化的另外原因是避免由于输入数据的数量级悬殊而带来的对网络的负面影响。数据的标准化可以消除同一数据采用不同量纲时对网络产生的不同影响。因此将表1的3个输入数据分别除以100,乘以10,除以1000,输出数据除以10。经过这样的数据处理后,网络训练过程表明可以大大提高收敛速度。训练结束后将得到的结果除以(或乘以)相应的倍数即可。同样的原因,输出数据也必须标准化。 (3)输入模式和教师模式的确定 输入模式X,教师模式t如下所示 X1=(0.35,0.01,0.1) X2=(0.35,0.015,0.14) X3=(0.35,0.02,0.2)… t1=(0.129) t2=(0.14) t3=(0.148)… (4)隐含层、输出层输……