人工神经网络及其在机械加工中的应用实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工神经网络及其在机械加工中的应用实例
谢红梅,黄伟(广西大学机械工程学院,广西南宁 530004)摘要:文章介绍了人工神经网络知识。通过神经网络在磨削表面粗糙度研究中的应用,详细介绍神经网络的建模过程。试验结果表明神经网络能自适应各种加工条件,具有较高的柔性和智能,能更准确的反映加工因素之间的变化关系,并且可以推广到其他领域中处理模糊的、非线性的的问题。关键词:人工神经网络;BP网络;机械加工;磨削表面粗糙度一、人工神经网络基础人工神经网络是模拟生物神经网络的智能计算机网络系统。由多个互联的网络节点按某种方式连接而成。网络上的每个节点相当于一个神经元,可以记忆、处理一定的信息,与其它节点并行工作。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。用人工神经网络解决问题,要经过两个阶段。第一阶段是训练和学习阶段。如果给某些神经元一定的输入值,总可以在另一些神经元上得到一定的输出值,输出值由与神经元互联的权重和阀值决定。如果若按一定的规律不断地不断调节联接的权重和阀值,使人工神经网络的输入和输出关系逼近实际过程,就可以让人工神经网络获得实际过程的信息。图1中,设X1、X2……Xn为神经网络的输入,Y1为神经网络的输出,
f(u)为转换函数,θ为阀值,ω1、ω2…ωn为连接权重。X1 ω1 ∑,θ X2 ω2 Xn ωn f(u) Y1 图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袖珍式表面粗糙度测量仪进行测量。