王延年 翟伟勋 宋功庆
(西安工程大学,陕西西安,710048)
花式捻线机是纺织厂花式纱线生产中用到的主要设备,而在传统花式捻线机生产中的前后罗拉、芯纱罗拉、空心锭子和环锭锭子等部件的转速值设定往往是根据技术人员的经验[1],同时结合已知纱线产品的数据对上述部件的转速值进行设定,根据生产小样的情况再进行调试设定,直到往复循环至符合要求为止。传统的生产模式转速设定效率低下,不仅过程复杂而且进行多次的试验后也不一定能达到理想的效果,不利于花式纺纱企业的发展。
针对转速设定的复杂度难以建立准确的数学模型,采用实测方法效率较低且影响生产,因此预测算法在转速的估算中被广泛应用。近些年来许多相关研究利用了BP神经网络来对实际的转速值进行预测[2],但BP神经网络算法是一种局部搜索的方法,而在捻线机转速预测上要解决的问题则是求解复杂非线性函数的全局极值,因此算法很有可能陷入局部极值从而导致训练输出结果偏差较大。同时BP神经网络算法中权值和偏置的优化收敛速度将会在网络训练的进行中逐渐变得缓慢[3-4],这将不断延长预测模型训练的时间。所以本文将重点改善传统BP神经网络算法的弊端,利用遗传算法对上述问题进行优化和改善[5]。
花式纱线由芯纱、固纱、饰纱等组成,而捻度、超喂比、牵引倍数和张力系数等工艺参数是影响花式捻线机罗拉和锭子等部件转速的主要因素。其中捻度是指利用棉纱横截面间产生的相对角位移,使原来伸直平行的纤维与纱轴发生倾斜来改变纱线结构的度量;超喂比是在生产过程中饰纱线速度和芯纱线速度的比值,若以恒定值生产出则是超喂型纱线,若使花形不断变化以变超喂的方式生产则是控制型纱线;牵引倍数是饰纱的喂入量和超喂比乘积与输出纱线中饰纱所占重量的比值;张力系数是由张力器或罗拉进行调整,张力系数也是直接影响成纱质量和花形的因素。
本文采用以上4个工艺参数,经过多次训练不断更新权值和偏置,从而建立一个神经网络的花式捻线机转速预测模型。采用100组数据作为原始数据集,10种不同种类的花式纱线,每种采样10组数据。原始数据集部分数据见表1。表中数据将作为试验数据以测试预测模型的性能。
表1 原始数据集部分数据表
BP神经网络是一种强调网络采用误差反向传播的学习算法,具有很强的自适应和推广概括能力,特别适用于求解内部机制复杂的问题,对于花式捻纱机的转速值预测模型的问题十分适用。然而在BP神经网络实际应用中,每一层误差函数是由负梯度方向对权值与偏置进行更新,其优化过程中常常容易陷入局部极小值中;同时因为BP神经网络需要初始权值和偏置采用迭代更新的方式进行确定,初始值过大或过小都会对算法性能产生很大影响,所以这就需要与其他人工智能算法结合才能有效改善算法性能。
遗传算法是一种通过模拟自然界生物进化过程来搜索全局最优解的方法。通过选择确定的适应度函数,采用 selection、crossover、mutation等3个主要的遗传算子对种群中的个体进行优胜劣汰的操作[6]。因此,首先需要实现从表现型到基因型的映射(即编码工作)并建立初代种群;然后通过在种群间不断交换染色体信息和变异使种群得以进化,最终保留适应度最好的种群,而适应值差的种群则在进化过程中被逐渐淘汰;最后像自然进化一样,后代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),则可以作为问题近似最优解。并且由于遗传算法既不关注设计变量与目标函数之间的数学关系,也不需要目标函数梯度等信息来确定搜索方向,故很适合用来对参数进行优化。
本文充分利用遗传算法全局搜索的特性对BP神经网络进行改进,以个体对应BP神经网络的权值和偏置,将适应度函数最高的个体保留,从而达到优化网络模型的目的。将这两种算法融合在一起便克服了BP神经网络对初始值的依赖,有效提高了网络性能和收敛速度。本文的算法流程如图1所示。
图1 遗传算法优化BP神经网络算法流程图
(1)建立花式捻线机BP神经网络预测模型,分为输入层、隐含层、输出层。其中对于隐藏层如要进一步提高网络性能并降低误差,可以选择适当增加隐含层数,但这也会使得网络结构趋于复杂化,出现运行速度减慢等缺点。因此遵循一般网络结构的设计准则优先考虑增加隐含层中的神经元数,以起到与采用多层隐含层相同的目的,还可更容易地观察训练结果。
(2)以不同的花式捻线机工艺参数作为BP神经网络的输入层并组成数据集,即捻度、超喂比、张力系数和牵引倍数,输入层为x1、x2、x3、x4。捻线机的前罗拉、芯纱罗拉、后罗拉、空心锭子、环锭锭子等转速值作为网络输出层,对应期望输出值为y1、y2、y3、y4、y5。根据隐含层节点数选择的一般规律见式(1)。其中:m和n为输出层和输入层的神经元个数;a为0~10之间的常数。经过反复试验,隐含层节点数为9时可达到预期收敛效果。
(3)设定花式捻线机预测模型3层网络的输入层至隐含层和隐含层至输出层的连接权值为Wab和Wbc,隐含层的偏置设定为θb,输出层的偏置设定为Φc。初始化权值和偏置,将权值Wab、Wbc设定至范围[-1,+1]的随机值,将偏置θb、Φc设定至范围[-0.5,+0.5]的随机值。其中:a为输入层;b为隐含层;c为输出层。
利用遗传算法对BP神经网络的权值和偏置进行优化,初始化种群及其种群规模、交叉概率和变异概率。种群个体为二进制串编码方式,个体由输入层至隐含层的连接权值、隐含层至输出层的连接权值、隐含层偏置、输出层偏置4部分组成,即为Wab、Wbc、θb和Φc等组成。其优化步骤如下。
第一步:对染色体进行编码,其编码长度L计算见式(2)。
其中:α、β、γ分别为输入层、隐含层、输出层神经元的个数。
第二步:确定适应度函数。其中遗传算法将筛选出进化中每一代误差平方和较小的网络权重,误差平方和S见式(3)。
其中:N为遗传算法训练中的样本数目为期望输出值,y(t)为网络训练输出值。
平方和S越小,说明网络的预测能力越好,但因为遗传算法中适应度值为越大越好,所以将目标函数的倒数作为适应度函数,并在其中引入足够小的正值α以免分母为零,则适应度函数Fi见式(4)。
第三步:进行选择和交叉及变异操作后,按照适应度比例方法选择当前种群中生命力强的个体。设群体大小为N,其中个体i的适应度为Fi,则i被选择的概率P见式(5)。可以看出,个体的适应度越大,被选择的概率越高。
第四步:获得适应度最大的种群后选择其中最优个体,通过MATLAB对个体进行解码操作,即可得到BP神经网络所需的权值和偏置,从而达到优化PB神经网络的目的。
根据多层神经网络的设定和遗传算法的寻优得到最佳的权值和偏置,则可以进行网络训练和转速值预测。根据上述设定可计算出预测模型隐含层输出值Hb,见式(6)。
式(6)中,函数f为激活方程sigmoid函数,函数f见式(7)。
计算预测转速值与实际输出转速值误差e是否满足需求。η为学习率,学习率为[0,1]随机值。若不满足,则更新权值和偏置公式再次返回训练,更新公式见式(8)和式(9)。
若满足误差则进行预测输出,其输出层转速预测值C,即是根据Hb、隐含层至输出层权值Wbc和输出层偏置Φc再次进行非线性激活得出转速预测值,其中C为输出层y1、y2、y3、y4、y5的集合,则其公式见式(10)。
最终由x1、x2、x3、x4在 BP 神经网络中结合最优的权值和偏置(Wab、Wbc、θb、Φc),通过式(10)计算,即可得出预测值y1、y2、y3、y4、y5,即捻线机的前罗拉、芯纱罗拉、后罗拉、空心锭子、环锭锭子的转速值。
本文算法通过以上步骤可以对试验数据集计算,进行多次寻求最优解来达到网络训练的目的,不断地进行权值和偏置的更新就可以逐渐训练出性能更好的预测模型。在满足条件需求的预测模型中输入捻度、超喂比、张力系数和牵引倍数等参数,经过上述算法计算后即可得出前罗拉、后罗拉、芯纱罗拉、空心锭子和环锭锭子等部件的转速值。
为证明本文所提出的基于遗传算法优化的BP神经网络算法在花式捻线机预测模型上的可行性与优劣性,本文以空心锭花式捻线机为研究对象进行试验。
本文所使用的算法结构采用3层BP神经网络结构,输入节点数为4,输出节点数为5,隐含层节点数为9,激活函数选sigmoid,最大训练次数为1 000,训练目标误差为0.001,学习速率为0.1,附加动量因子为0.8。遗传算法中种群大小设为40,最大遗传代数100,变量的二进制位数10,交叉率0.7,变异率0.05,权值变化范围[-1,1],偏置变化范围[-0.5,0.5]。
表1的数据作为试验原始数据,对应表1的输入值和预测输出值的归一化处理数据见表2。对训练数据进行归一化处理将试验数据都转化为[0,1]之间的数以此来增加罗拉和锭子转速值的预测精度、减少误差,在遗传算法优化和BP神经网络建模训练前可以方便数据的操作,更适合于BP神经网络的训练,并可使程序在运行时的收敛速度变快。其公式见式(11)。
式中:x′为归一化后的转换值,x为归一化前的数值,xmax与xmin为数据集的最大值和最小值。
表2 工艺参数及预测值归一化数据表
试验结果分别以表2中归一化后的前罗拉转速与环锭锭子转速数据为例。在BP神经网络算法(传统算法)和基于遗传算法优化的BP神经网络算法(优化算法)下,前罗拉转速预测情况如图2所示,环锭锭子转速的预测情况如图3所示。
由图2和图3可得:BP神经网络预测值和实际值的偏差相对较大,而本文所提出的遗传算法通过优化BP神经网络的权值和偏置后,所得出的预测值误差更小且更为精确,与实际的转速值拟合程度高。
图2 前罗拉转速预测值对比图
图3 环锭锭子转速预测值对比图
本文梳理了花式捻线机工艺并提出转速值预测模型,同时对传统的BP神经网络转速值预测模型进行了分析。提出利用遗传算法来优化BP神经网络的权值和偏置,并进行全局寻优,提高了整个预测系统的收敛速度,并避免了BP神经网络陷入局部最小值的问题。通过试验数据的分析对比,可以体现出基于遗传算法优化的BP神经网络算法的优势。试验结果表明:本文算法具有准确性高和收敛速度快的特点,对于花式捻线机的前罗拉、芯纱罗拉、后罗拉、空心锭子、环锭锭子等转速预测值的精确度高、误差小。