基于深度神经网络的不常用备件需求预测研究

2021-12-21 07:45周自强姜久超
河北水利电力学院学报 2021年4期
关键词:备件神经元神经网络

周自强,姜久超

(1.辽宁红沿河核电有限公司仪控处,辽宁省大连市中山区南山路127号 116000;2.河北水利电力学院电气自动化系,河北省沧州市黄河西路49号 061001)

备件是指为保障生产设备的运行和维修而储备的各种元器件、零部件。备件需求的预测是进行备件采购计划制定、供应管理、仓储管理等工作的基础。科学合理的备件需求计划,不仅能够保障生产的正常进行,还能够降低企业的采购成本和仓储成本,直接增加企业的利润。不常用备件的需求具有间隔期不确定、变化量波动大、需求规律性不明显和不确定性强的特点,可参考历史数据少,不利于进行分析与预测。目前不常用备件需求一般使用灰色系统理论模型进行预测。

人工神经网络是模仿大脑结构和功能的新型信息处理方法,由若干个处理单元联结组成复杂网络。人工神经网络能够对大量信息进行处理,具有容错性强等优势,该方法能够从历史资料中寻找规律,通过非线性处理建模[1],实现对未来状态的定量估测。神经网络利用历史数据构成训练集合,通过训练集合对神经网络进行训练,实现神经网络参数的确认,使用已确认参数的神经网络实现对未来数据的预测[2]。本文将LSTM和Bi-LSTM神经网络应用于备件需求预测,为不常用备件的储备提供科学依据[3]。

1 神经网络

长短期记忆网络LSTM(Long-Short Term Memory)通过对循环神经网络RNN(Recurrent Neural Network)的改进而提出的一种带记忆能力的神经网络[4],这种神经网络具有从给定数据中获取数据间隐含关系的能力,在分类、自然语言处理、时间序列数据预测等领域有着广泛应用[5]。

神经网络一般包括输入层、隐含层和输出层。RNN循环神经网络包括两条信息传递通道,一条是输入层→隐含层→输出层,另一条是从当前时刻的隐含层到下一时刻的隐含层,如图1所示。为了使循环神经网络的结构更清晰简洁,可以将其按照时序展开,如图2所示。

图1 循环神经网络结构Fig.1 Structure of RNN

图2 循环神经网络时序展开Fig.2 Time series expansion of RNN

1.1 LSTM神经网络原理

LSTM(Long-Short Term Memory)长短期记忆神经网络,它是一种改进的循环神经网络。循环神经网络RNN的隐含层内部存在循环的链式结构[6],在标准的循环神经网络中只有一个tanh函数,如图3所示。

图3 循环神经网络的循环模块结构Fig.3 Loop module structure of RNN

LSTM长短期记忆神经网络比RNN循环神经网络内部结构更加复杂,如图4所示。通过LSTM和RNN的循环模块结构对比可以看出,RNN循环结构中只包含tanh函数,而LSTM含有复杂的控制逻辑,从而实现对神经元细胞状态的控制,它们分别是忘记门、输入门、更新门和输出门。

图4 LSTM循环模块结构Fig.4 Loop module structure of LSTM

在LSTM网络中,xt、ht分别表示当前时刻的输入和输出,ht-1上一时间隐含层的输出数据,St、Si、Sj、Sk为连接隐含层的权值矩阵,b0、bi、bj、bk为偏置值;α为sigmoid函数取值范围为[0,1],1表示保留信息,0表示丢弃信息;tanh为函数,处理后得到-1~1之间的输出结果。

忘记门1的功能是控制信息的取舍。忘记门的输入数据为当前时刻的输入xt和上一时间隐含层的输出数据ht-1,经sigmoid函数处理,取值范围为[0,1],1表示保留信息,0表示丢弃信息,忘记门公式

ft=σ(St×[ht-1,xt]+b0)

(1)

式中,ft为忘记门,ft影响细胞状态。

输入门2将前一状态和当前输入经sigmoid函数去掉非关键信息,同时经tanh函数处理后得到-1~1之间的输出结果作为新的神经元细胞状态,公式如下

it=σ(Si×[ht-1,xt]+bi)

(2)

(3)

更新门3将输入门2中sigmoid函数和tanh函数的输出结果相乘,并加上忘记门1中的输出结果,实现神经元细胞中重要信息的筛选,公式如下

(4)

式中,Ct为当前细胞状态。

输出门4从当前状态中选择重要的信息作为状态的输出。首先,将前一隐状态和当前输入值经sigmoid函数得到一个0~1之间的结果。然后对更新门3的输出结果经tanh函数输出,并与得到的结果相乘,作为当前状态的输出也作为下一状态的输入,公式如下

ot=σ(Sk×[ht-1,xt]+bk)

(5)

ht=ot×tanh(Ct)

(6)

式中,Ot为忘记门,Ct为当前细胞状态。

1.2 Bi-LSTM神经网络原理

Bi-LSTM(Bi-directional Long Short-Term Memory)双向长短期记忆网络包括前向LSTM和后向LSTM,预测由前后若干输入共同决定,提高了输出的准确性,网络结构如图5所示。图中包含了6个共享权值w1~w6,输出层不仅包含Forward层也包含Backward层。

图5 Bi-LSTM神经网络结构Fig.5 Structure of Bi-LSTM

xt、xt+1分别表示当前和下一时刻的输入,Ot、Ot+1分别表示当前和下一时刻的输出,ht-1、ht分别表示上一时刻和当前正向细胞状态,ht-1、ht分别表示上一时刻和当前反向细胞状态。

当Forward层从1时刻到t时刻正向计算,得到并保存每个时刻向前隐含层的输出。在Backward层沿着时刻t到时刻1反向计算,得到并保存每个时刻向后隐含层的输出。最后在每个时刻结合Forward层和Backward层的相应时刻输出的结果得到最终的输出,公式如下:

ht=f(w1xt+w2ht-1)

(7)

(8)

(9)

2 基于LSTM和Bi-LSTM神经网络的预测模型

2.1 神经网络模型的结构设计

循环神经网络根据实际应用场景可分为多输入单输出、单输入多输出、有时差多输入多输出和无时差的多输入多输出网络[7],本文中采用多输入单输出网络,由输入层、隐含层和输出层组成,在隐含层中包含了设定数量的LSTM和Bi-LSTM网络的神经元、神经元间信息传递的过程,如图6所示。

图6 网络结构示意图Fig.6 Schematic diagram of network structure

2.2 神经网络输入输出的结构设计

LSTM和Bi-LSTM神经网络参数的训练过程是有监督学习,需要对训练集进行设计。图7为本文神经网络训练数据集的结构。

图7 训练集结构示意图Fig.7 Schematic diagram of training set

在使用LSTM或Bi-LSTM网络进行训练时,需要根据设计的神经网络结构将训练集进行详细设计,网络中的第一层必须定义预期输入的结构且输入必须是三维的,由Samples、Timesteps和Features组成,Samples为输入数据的行数、Timesteps输入数据的列数、Features为预测数据的个数。在图7中将训练集按序号分成了3个时间步,输入3个数据预测1个数据,inputn表示第n个有不常用备件需求的检修轮次,output1用来预测input4,即通过前三个数据来预测第四个数据,按时间顺序将有不常用备件需求的检修轮次刷选出来整理成序列,将该序列输入到神经网络中进行训练。

2.3 LSTM神经网络激活函数的选择

循环神经网络通过引入非线性的激励函数,使每一层的输出都是上一层输入的非线性函数,从而给神经网络引入了非线性因素,使得神经网络可以逼近任何非线性函数,从而使得神经网络能够更加全面的模拟目标,提高了循环神经网络的应用范围。常见的激励函数有sigmoid、tanh、ReLU,这三个激活函数各有优劣,本文采用ReLU作为神经网络的激活函数,ReLU定义为

(10)

Relu函数可以使网络训练更快,相比于sigmoid、tanh导数更加好求,因为其导数形式简单,加入到神经网络中可以使网络拟合非线性映射,使网格具有稀疏性。

2.4 选取LSTM网络模型训练的优化方法

梯度下降法GD(Gradient Descent)是最基本的神经网络优化方法,主要原理是选取当前位置的最快下降方向——负梯度方向进行计算。梯度下降法在与目标值位置远时,斜率越大,搜索越快;反之,当与目标值较近时,斜率越小,搜索越慢。但是GD算法每次迭代要将全部数据带入进行训练,当训练数据较多时,花费的训练时间比较长。为了加快模型的训练速度,提出了随机梯度下降法SGD(Stochastic Gradient Descent)和批量梯度下降法BGD(Batch Gradient Descent),这两种方法每次迭代不对全部数据进行训练,因此训练时间缩短了,但无法保证最终的结果是全局最优解。

在神经网络训练中,损失函数的作用是计算神经网络每次迭代的前向计算结果与真实值的差距,从而指导下一步的训练向正确的方向进行。模型训练时首先用随机值初始化前向计算公式的参数,之后代入样本计算输出的预测值,然后用损失函数计算预测值和标签值的误差,随后根据损失函数的导数,沿梯度最小方向将误差回传,修正前向计算公式中的各个权重值,最后再次带入样本,直到损失函数值达到一个满意的值或达到要求训练的次数时停止迭代。本文中的数据预测属于回归问题,一般采用均方差作为损失函数进行模型训练,均方误差(mean_squared_error)损失函数如下

(11)

此外本文选取Adam(Adaptive Moment Estimation)算法作为损失函数的优化函数。Adam通过梯度一阶矩估计和二阶矩估计动态调整每个参数的学习率,实现学习率的自适应优化。

3 实验设置及结果分析

3.1 实验数据

以某大型设备定检周期中历史消耗统计数据为分析对象(数据序列为等时距数据序列),取样周期为一个月,数据参数见表1。

表1 备件需求情况

将有备件消耗的检修轮次单独提取出来,构造出不常用备件的消耗轮次序列{2,5,9,10,15,17,20}。为了验证LSTM和Bi-LSTM神经网络在备件需求预测上的可行性,将消耗轮次序列前6个数据作为训练集,将第7个数据用于测试预测的准确性。

3.2 实验设置

为了验证神经网络预测不常用备件需求的有效性,实验分别对LSTM网络和Bi-LSTM网络进行研究。实验的软件环境为Windows 7操作系统和以Tensorflow-gpu 1.10.0作为后端计算Keras 2.2.8深度学习框架提供的神经网络模型[8];硬件环境的CPU为Intel(R)Xeon(R)CPU E3-1231 v3@3.40GH,显卡为NVIDIA GeForce GTX 970(4096MB),内存为8GB。在实验中,由于参数的设置对实验结果影响较大,因此实验通过不断调整参数训练模型直至得到较好的实验结果[9,10]。对于LSTM和Bi-LSTM网络,输入层维数Input设为3,输出层维数Output设为1,隐藏层神经单元个数设为[20,400],每一次训练的样本数Batch设为3,时间步长Time设为3,迭代次数Epoch设为[20,500]。

3.3 实验结果与分析

为了使神经网络达到更加准确的预测效果,需要对神经网络的参数进行调整,网络隐含层神经元的数量和训练次数都会影响神经网络的训练效果。为了更加直观的体现隐含层神经元数量对神经网络拟合预测数据的影响,分别对LSTM和Bi-LSTM神经网络设置训练次数epochs固定为100隐含层神经元数量分别设置为20、50、100、200、400,将训练之后的神经网络对各点的数据进行预测,预测结果与真实序列如图8所示,从中可以看出随着神经网络隐含层神经元数量的增加,预测精度在逐渐提高,本例中LSTM网络隐含层神经元为100时较为准确,之后随着隐含层神经元的增加拟合精度在下降。本例中Bi-LSTM神经网络随着隐含层神经元数量的增加,在逐步接近真实值但没有达到一个较理想的效果。

图8 神经元变化对比Fig.8 Comparison of neurons changes

为了直观的展示训练次数对神经网络的影响,将LSTM和Bi-LSTM神经网络隐含层神经元数量设置为100,训练次数分别设置成20、50、100、200、300、500。训练完成后预测结果与真实序列如图9所示,从中可以看出不论是LSTM还是Bi-LSTM神经网络,随着训练数量的增加,预测精度均在逐渐提高,本例中LSTM网络和Bi-LSTM神经网络在训练次数达到200次时预测精度已经比较准确。

图9 训练次数变化对比Fig.9 Comparison of training times

不常用备件的需求预测具有小样本、贫信息的特点,可以归类为不确定性问题,求解该类问题的常用方法是灰色系统理论。GM模型通过将原始数据序列的随机性变换整理成有较强规律的累加生成序列,建立GM模型,计算预测序列后再还原,实现对不常用备件需求的预测。本文通过对LSTM和Bi-LSTM神经网络参数进行调整优化后,将预测结果与单变量一阶微分灰色模型GM(1,1)的预测结果进行比较。以某不常用备件的消耗轮次序列{2,5,9,10,15,17,20}作为对象,其中前6个数据作为已知数据,第7个数据作为待预测数据,由于神将网络步长设置为3,因此神经网络预测从第4个数据开始,预测数据见表2。

表2 预测值与实际值对比

由表2和图10可以看出,无论是灰色模型还是LSTM和Bi-LSTM神经网络预测均能实现对不常用备件需求的预测,但LSTM和Bi-LSTM神经网络明显比灰色模型预测偏差小。实验结果表明,LSTM和Bi-LSTM网络能够较好地反映不常用备件的需求时机,预测结果具有较高的准确性。

图10 真实值与各预测模型预测值Fig.10 The real value and the predicted value of different prediction models

4 结论

在制定备件采购计划时,需要对备件需求情况进行合理的分析与预测,尤其是不常用的高价值备件,只有这样才能保证生产活动的正常进行同时保持较低的库存资金占用率。本文提出的LSTM和Bi-LSTM神经网络模型能够通过对历史不常用备件需求时机的学习,深入挖掘不常用备件需求时机之间的关系,有效预测中短期内的需求,从而为备件的储备计划提供依据。由于备件的需求情况不仅受设备因素的影响还受到各种人为因素,如维修测策略的临时调整等的制约,因此备件的需求预测仍值得进一步探索。本文示例中选取的数据存在一定的局限性,为了在其他情况中进行应用需要重新进行数据集的收集和模型的训练,在历史数据较少时的应用范围有待进一步研究。

猜你喜欢
备件神经元神经网络
中材机电备件有限公司
基于递归模糊神经网络的风电平滑控制策略
AI讲座:神经网络的空间对应
神经网络抑制无线通信干扰探究
基于层次分析法的汽车备件供应商选择
基于神经网络的中小学生情感分析
单项法和系统法的备件利用率影响因素分析与比较*
基于HANA的工单备件采购联合报表的研究与实现
激活皮层生长抑素中间神经元抑制神经病理性疼痛的发展
研究人员精确定位控制饮酒的神经元