《武汉工程大学学报》  2016年3期 299-307   出版日期:2016-06-22   ISSN:1674-2869   CN:42-1779/TQ
基于BP人工神经网络的球磨机钢球配比预测模型


1 引 言球磨机磨矿时,主要通过钢球之间接触点处的冲击力来磨碎矿石,而接触点处的冲击力强度的一个主要决定因素是钢球的质量或大小. 因此使用球磨机磨矿时,为了保持较好磨矿效果,必须保持合适的钢球配比. 由于在磨矿过程中,钢球易磨损而变小,因此,为保证钢球配比处于合适的状态,必须定期添加钢球. 在我国,由于生产过程中磨机内实际的钢球尺寸及配比数据无法简单有效地测算,选矿厂磨机补加球一般凭经验添加,但是这种添加方式受到人为因素限制,因而其准确性并不高. 由于没有一个简便实用的介质补加球理论计算公式,有的选矿厂直接采用最简单的补加方法,即定期加入一定量最大球径的钢球,如此长期积累必然导致钢球配比偏离最佳状态,恶化磨矿过程. 有的选矿厂还是采用教科书上基于钢球磨损计算的平衡补球方法,由于该方法计算过于烦琐,误差太大,并不能有效指导选矿厂磨机钢球的添加[1-2]. 因此,本实验通过研究磨机钢球配比与磨矿产品粒度分布的关系,尝试建立基于BP人工神经网络的球磨机钢球配比预测模型,该模型通过磨矿产品粒度分布数据来预测对应的磨机内钢球配比. 如果模型预测效果理想,则可考虑将其应用于指导磨机精确化补加球过程,从而产生巨大的实践意义. 人工神经网络是模拟生物神经网络工作方式进行信息处理的一种数学模型. 它模拟大脑的运作方式,由大量模拟神经元互相连接构成网络结构,其目的在于模拟大脑的某些运作机制,实现数据的处理和分析[3]. 人工神经网络处理数据具有大规模并行处理、较好的容错性、较高的自组织和自适应能力等优点,对非线性的复杂系统的处理具有很大的优势. BP神经网络是众多神经网络类型中的一种,它是基于误差反向传递的多层感知器模型,是至今为止应用最多的人工神经网络. BP人工神经网络为层次型结构网络,一般将其分为3层:输入层、隐含层、输出层,每层由多个神经元节点组成,其中输入层和输出层只有一层神经元节点,且节点数分别与模型的输入和输出维数一致,隐含层可为一层或多层,且各层节点数不确定. BP神经网络的学习规则属于有导师学习,它采用的是BP(error back proragation)算法. BP神经网络的运行方式决定其具有强大的非线性复杂问题建模能力[4-5]. 2 实验部分2.1 实验原料及设备实验所用矿样为贵州瓮福磷矿矿样,实验设备和仪器主要有:XM?67型200*240实验室球磨机(容积为7.5 L,转速为110 r/min)、实验室钢球(分为大球、中球、小球,大球直径27~30 mm,中球直径22~25 mm,小球直径15~18 mm)、孔径为0.147 mm和孔径为0.074 mm筛子各一个、烘箱、台秤、电子天平、量筒、游标卡尺等. 2.2  实验方法实验研究钢球配比与产物粒度关系,只改变球磨机钢球大中小球的配比,其他磨矿条件保持不变(每次磨矿量固定为200 g、磨机钢球总重固定为5.0 kg(介质填充率固定)、磨矿时间固定为6 min、磨矿浓度固定为40%),在不同钢球配比下进行多组磨矿试验,然后筛分分析每次磨矿产品的粒级分布. 2.3  实验数据总共进行了38组磨矿试验,将实验数据进行简单处理,使钢球配比情况和磨矿产品粒度分布以百分比的形式呈现,数据如表1所示(在实验过程中,由于钢球大小种类有限,在调整钢球配比过程中,很难使得钢球总重刚好为5.0 kg,只能尽可能做到接近5.0 kg,因此,在表1中可以看到钢球质量不是5.0 kg,但是与5.0 kg差距很小,基本可以忽略钢球总重的差异性对磨矿过程的影响). 2.4 建模方法通过BP神经网络建立球磨机钢球配比与磨矿产品粒级分布之间的模型,以产品中+0.147、-0.147~+0.074、-0.074 mm这3个粒级的质量分数作为输入,对应的球磨机大、中、小球各自质量分数作为输出. 所建立的BP神经网络的输入层节点数对应为3,输出层节点数亦为3. 由于理论上已经证明了一个3层的BP网络就能够完成任意的n维到m维映射[6],故选择3层BP神经网络. 在表1的38组实验数据中随机选取试验编号为7、13、19、23、31的这5组试验数据作为检测数据,其余33组作为训练数据. 用33组训练数据训练网络,将训练数据的产品粒级分布参数作为网络输入,在训练过程中不断调整网络节点的权值和阈值使网络的输出靠近对应的钢球配比参数;网络完成训练后,用5组检测数据来检验经过训练的BP神经网络的效果,以这5组数据的产品粒级分布参数作为输入,通过训练后的BP神经网络运行得到预测出的对应的钢球中大、中、小球的质量百分比,将此预测参数与实际参数进行比较,计算大、中、小球配比参数的预测误差平方和与误差方差;通过比较不同网络参数(传递函数、隐含层节点数、训练次数、训练函数,训练精度)下模型的预测误差情况,确定这些网络参数,得出最终的BP网络模型;BP网络模型确定后,使用其对5组检测数据进行预测,得到钢球配比参数预测值,计算网络模型钢球配比参数预测的绝对误差和相对误差,评价该模型的可行性. 通过MATLAB7.0编程来实现BP神经网络,建立一个3层的BP神经网络. 以训练函数traingdm、输入层传递函数tansig、隐含层传递函数purelin、隐含层节点数为4、训练精度10-6、训练次数5 500次为例,在MATLAB7.0中,其实现程序如下:%输入33组训练数据的输入项即磨矿产品粒度分布数据P=[3.50···5.32 5.22;12.96···16.22 17.39;83.54···78.46 77.39] ; %输入33组训练数据的输出项即磨机钢球大中小球质量占比百分数T=[67.97···65.28 70.24;21.63···27.46 24.72;10.3···7.26 5.04]; %输入5组检测数据的输入项即磨矿产品粒度分布数据M=[4.84 ···5.92 6.87; 14.70···20.62 16.64; 80.46···73.46 76.50];%输入5组检测数据的输出项即磨机钢球大中小球质量占比百分数N=[49.84···35.23 75.09; 30.52···54.78 14.90; 19.64···10.00 10.01];%对输入的33组训练数据对进行归一化处理[p1,minp,maxp,t1,mint,maxt]=premnmx(P,T);%建立一个结构为3-4-3的BP神经网络net=newff(minmax(P),[4,3],{’tansig’,’purelin’},’traingdm’);%设置最大训练次数net.trainParam.epochs = 5 500;%设置训练精度net.trainParam.goal=0.000 001;%利用归一化后的训练数据对训练BP神经网络[net,tr]=train(net,p1,t1);%对检测数据输入项进行归一化处理a=premnmx(M);%用训练之后的BP网络来对归一化后的检测数据输入项进行仿真b=sim(net,a);%将得到的仿真结果反归一化c=postmnmx(b,mint,maxt)3 结果与讨论3.1 基于BP人工神经网络的预测模型建立3.1.1 BP网络模型的参数确定 在MATLAB上实现BP人工神经网络时,很多参数是不固定的,如传递函数、隐含层节点数、训练次数、训练函数、训练精度等,这些参数对于BP网络的收敛速度、预测效果等具有直接的影响[7],因此需要通过在不同参数下运行程序,比较网络对5组检测数据的预测误差平方和与预测误差方差来确定最佳的网络参数. 3.1.2 训练函数的确定 对MATLAB提供的几种常见的训练函数trainbfg、traingd、traingdm、traingdx、trainc [8]进行比较运行. 将训练次数定为5 000次,隐含层和输出层传递函数均定为tansig,训练精度定为0.000 1,隐含层节点数定为8,在不同的训练函数下运行程序,比较5种训练函数预测效果. 结果表明采用trainbfg算法时,其预测误差的平方和与误差方差较小,也比较稳定,故确定选用trainbfg作为训练函数. 3.1.3 传递函数的确定 传递函数作为BP网络各层之间数据转换的函数,其种类特性对网络模型的仿真预测能力有很大的影响. 传递函数有线性传递函数purlin和tansig,对数型传递函数logsig[9]. 在本网络模型中有隐含层和输出层两层需要传递函数. 将训练次数定为5 000次,训练函数定为traingbfg,训练精度定为0.000 1,隐含层节点数定为8,在9种传递函数组合下运行网络. 比较后确定所建立的BP网络的隐含层使用purelin,输出层使用logsig作为传递函数. 3.1.4 隐含层节点数的确定 隐含层节点选择是一个非常复杂的问题,隐含层节点过少,网络容错性能差,识别未经学习样本的能力低;隐含层节点数过多则会增加网络的训练时间,并且将样本中非规律性的内容如干扰、噪声、误差等存储进网络,降低其泛化能力[3]. 一般可参考前人总结的经验公式进行设计和实验探索:l=[m+n]+a式中:l为隐含层节点数;n为输入节点数;m为输出节点数;a为1到10之间的调节常数[6]. 在实验中,输入节点n=3,输出节点m=3,因此隐含层节点数应在4~13之间选择. 前面都是选择隐含层节点数为8进行程序运行,现在分别选取隐含层节点数为7、10、13进行预测仿真. 将训练次数定为5 000次,训练函数定为traingbfg,训练精度定为0.000 1,隐含层和输出层传递函数分别定为purelin和logsig. 运行结果表明当隐含层节点数为8时的网络预测误差较小,故所建立的网络隐含层节点数定为8. 3.1.5 训练精度的确定 训练精度影响整个神经网络的收敛速度,当训练精度要求过低时,往往会出现训练次数很少时就达到要求的训练精度,从而达不到很好的仿真效果. 在这里先将训练次数定为5 000次,隐含层和输出层传递函数分别定为purelin和logsig,训练函数定为trainbfg,隐含层节点数定为8,调整训练精度,得到各种情况下误差情况. 运行结果表明当训练精度为10-6时,预测效果最好,故确定网络模型的训练精度为10-6. 3.1.6 训练次数的确定 训练次数在一定程度上决定训练后的神经网络的仿真预测效果,训练次数过少,网络模型不能充分学习所处理数据蕴含的规律,训练次数过多,网络会出现泛化能力降低的问题,两种情况下都不能获得好的预测效果[9]. 因此,确定BP神经网络适宜的训练次数很重要. 将隐含层和输出层传递函数分别定为purelin和logsig,训练函数定为trainbfg,隐含层节点数定为8,训练精度定为10-6,分别在不同次数下训练网络. 运行结果表明,当训练次数为6 500次时,其效果最好,故确定最终的训练次数为6 500次. 3.2 BP网络模型仿真预测效果在3.1节中已将BP神经网络预测模型的参数全部确定,所建立的BP神经网络结构为3?8?3,隐含层和输出层传递函数分别为purelin和logsig,训练函数为trainbfg,训练精度为10-6. 网络的示意图如图1所示. 所确定的BP网络模型,经过6 500次训练后,用之对随机抽取出的5组试验数据进行仿真预测,预测的误差情况如表2~4. 通过表2~4中的数据可以看出,利用所建立的BP人工神经网络模型通过磨矿产品粒级分布来预测球磨机钢球配比,预测绝对误差的绝对值能够控制在3%以内,最小的能够达到0.15%左右,但是从预测的相对误差来看,效果不太理想,有3组数据的相对误差较大,其他组的相对误差的绝对值能够控制在8%以内,最小的能够达到0.52%. 该结果说明,通过BP神经网络建立磨机钢球配比参数与磨矿产品粒级分布参数间模型的方法具有一定可行性,可进一步研究以优化其效果.4  结 语实验通过对磨矿粒度和球磨机钢球配比研究,使用人工神经网络建模,探究磨矿粒度与钢球配比间的关系. 磨矿试验中,只改变钢球配比,其它磨矿条件保持不变,进行单因素磨矿试验. 最后通过MATLAB建立BP人工神经网络预测模型,利用试验数据训练网络,训练后的网络模型通过磨矿产品的粒级分布来预测对应的钢球配比,主要结论如下:1)球磨机不同大小的钢球配比参数对磨矿效果有直接的影响,当其它影响磨矿效果的因素确定后,钢球配比与磨矿产品粒级分布之间的关系很复杂,难以采用传统的建模方法建立可行的数学模型. 2)人工神经网络作为一种新型的建模方法,具有很好的非线性映射效果,对复杂的非线性问题具有强大的建模能力. BP神经网络是基于误差反向传递的多层感知器模型,是至今为止应用最多的人工神经网络. 因此,建立基于BP人工神经网络的球磨机钢球配比预测模型具有很大探索价值. 3)用5组检测数据对所建立BP网络模型预测效果进行评价,钢球配比参数预测的绝对误差能够控制在3%以内,预测的相对误差较大. 该结果说明,通过BP神经网络建立磨机钢球配比参数与磨矿产品粒级分布参数间模型的方法具有一定可行性,但必须做进一步研究以优化其效果. 4)用BP人工神经网络进行建模,采用MATLAB方法实现时,由于BP网络的权值和阈值的初始值是随机自动初始,故每次网络的运行结果不一致,有较大波动,因此在本文中只能通过多次运行取其误差最小的结果来作为每个参数状态下BP网络的最佳结果,按照这种方法确定出的模型的稳定性没有保证,建议下一步探索能够设计出稳定的BP网络,使模型能够稳定的运行. 5)采用BP人工神经网络将试验数据建立预测模型,没有达到很好的预测效果,但是不能由此否定神经网络建模方法在该问题上的可行性,神经网络的种类很多,可以考虑采用其它如RBF神经网络等方法来建模,或许能够获得较好的效果.