APP下载

基于PSO-Elmam神经网络对挖泥船装舱模型的建模∗

2020-05-15

计算机与数字工程 2020年2期
关键词:挖泥船权值适应度

蔡 磊

(江苏科技大学电子信息学院 镇江 212003)

1 引言

疏浚作业在人类的社会生产过程中起到了很重要的作用,无论是保持京杭大运河的水道畅通,还是清除沉积的泥沙积石,这都离不开疏浚[1~2]。在耙吸挖泥船的疏浚作业过程中,装舱阶段是非常重要的一个阶段,对于装舱阶段的建模有其必要性[3~4]。

构建此装舱模型的主要作用是当遇到风浪较大的工作环境,水位颠簸较大难以正确读取吃水数据时,通过神经网络模型得到的输出值可以起到辅助参考作用,所以构建耙吸挖泥船装舱模型对施工作业有重要的意义。

构建装舱模型的本质作用,是通过已知的进舱流量、进舱密度这两个状态输入值,船速、耙头对地角度、溢流桶高度这三个控制输入值,得到装舱体积、装舱质量这两个输出值。

Elman神经网络具有很好的非线性拟合能力,可映射复杂的非线性关系[5]。将训练集的输入、输出数据进行神经网络训练。训练完成之后,输入测试集的输入数据得到输出数据,并与真实值进行对比[6],从而证明用Elman神经网络能够对耙吸挖泥船的装舱过程进行建模。但是,Elman神经网络在使用梯度下降法修正权值阈值时容易陷入局部极小值[7]。可以使用粒子群算法(PSO)的全局搜索寻优能力优化Elman神经网络的权值阈值,从而避免陷入局部极小值[8]。将优化得到的最优权值阈值作为Elman神经网络的初始值进行神经网络训练。将PSO-Elman的神经网络输出结果与没有优化的Elman神经网络输出的结果进行对比,PSO-Elman能让建模的结果更加精确[9]。

2 Elman神经网络

Elman神经网络的结构共分4层,其中分别为输入层、输出层、隐含层和承接层。

承接层的作用是存储上一时刻的隐含层的输出值。隐含层有激励函数,通常采用Sigmoid非线性函数。对于输入层而言,其作用是信号的传输。输出层的作用是线性加权。如图1结构所示,隐含层的输出通过承接层的延迟与存储,承接层的输出连接到隐含层的输入,即隐含层的输出自联到输入。这样对历史数据有敏感性,加强了处理动态信息的能力[10]。

Elman神经网络结构如图1所示。

图1 Elman神经网络结构图

Elman神经网络的表达式为

式中:k为当前时刻;x(k)为m维中间层节点单元向量;y(k)为n维神经网络的输出节点向量;u(k-1)为r维神经网络的输入向量;xc(k)为m维反馈状态向量;w1为神经网络输入层到中间层的权值;w2为承接层到中间层的权值;w3为中间层到输出层的权值;b1为神经网络中间层的阈值;b2为输出层的阈值;g为中间层传递函数,常采用Sigmoid函数;f为输出层的传递函数,是中间层的输出的线性组合。

Elman神经网络采用梯度下降法进行权值和阈值修正,而学习的指标为[11]

式中:y(k)为预测输出值;z(k)为真实输出值。

神经网络的训练过程是根据预测值与真实值之间的差值来不断地修正权值、阈值,从而使误差减小。

3 PSO优化算法应用于神经网络

运用粒子群算法优化神经网络的本质在于,将优化得到的权值、阈值作为神经网络的初始权值与阈值,从而提高精确程度。

PSO-Elman神经网络流程图见图2。

图2 PSO-Elman神经网络流程图

粒子群算法是有n个粒子在d维的空间中,拥有初始的速度与位置。通过计算适应度值来寻找并更新粒子的个体极值与全体极值,根据个体极值与全体极值更新速度和位置。在空间中不断迭代搜索,最终搜索到全局最优解[12~13]。

粒子群优化算法(PSO)的速度与位置更新公式如下[14]:

式中:与为第i个粒子在第k+1次的迭

id代中的第d维的速度与位置;为第i个粒子对于第d维的个体极值;为全体粒子中在第d维的全体极值;c1与c2为学习因子,表示粒子向优秀个体学习的能力;r1与r2为在0到1之间的随机数;W为惯性权重,即上一迭代的粒子飞行速度惯性在当代粒子飞行速度的体现。

本文所用的W取值为[15]

wmax为惯性权重的最大值,取值为0.9;wmin为惯性权重的最小值,取值为0.4;k为当前迭代次数;kmax为最大迭代次数。

4 PSO优化Elman神经网络的具体顺序

首先,确定神经网络结构,根据输入、输出、隐含层的节点数与阈值数,确定粒子长度;

第二步,将神经网络中的权值、阈值编码成实数码所表示的个体;

第三步,计算适应度值,在此处适应度的定义为:预测误差值的绝对值和。当得到适应度值后,据此得到个体极值与群体极值;

第四步,根据极值来更新粒子的速度与位置。之后再一次计算适应度值,根据新的适应度值更新个体极值与群体极值。再根据新的个体极值与群体极值来计算粒子新的速度与位置。以此方式不断循环,直到满足所设定的迭代次数为止;

第五步,将满足结束循环条件的最优权值,阈值作为神经网络权值,阈值的初始值,进行神经网络训练。

从性能上考虑,相比于BP神经网络,在神经网络结构中增加了承接层结构,储存了上一时刻隐含层的输出,加强了对于动态信息的处理能力。粒子群优化Elman神经网络,通过粒子群的全局寻优,从而缓解了神经网络容易陷入局部极小值的问题[16]。

5 PSO-Elman神经网络对于装舱模型的参数选择

首先,需要考虑的是针对挖泥船种类繁多的工况数据,选择哪些作为控制输入、状态输入与输出。这里选择的是将进舱密度、进舱流量作为状态输入值,而将船速、耙头对地角度、溢流桶高度这三个值作为控制输入值,将装舱体积与装舱质量作为输出值,从而构建了神经网络所需要的输入、输出值。

其次,确定网络的结构与所需的参数。对于本文所指的耙吸挖泥船装舱模型,输入节点有5个,输出节点有2个。隐含层节点数为11个。那么权值总共有11*5+11*2=77个,隐含层阈值11个,输出层阈值有2个,所以粒子长度是90。种群规模设置为60,算法迭代次数设置为100,学习因子都设为1.5。Vmax设为1,Vmin设为-1。Wmax设为0.9,Wmin设为0.4。神经网络最大训练次数设置为1000。

6 对于装舱质量、装舱体积的验证

根据长江口的一份耙吸挖泥船的工作数据,其中包含了进舱流量、进舱密度、溢流桶高度、耙头对地角度、船速、装舱质量、装舱体积等工况数据。这里有4组数据,选取3组进行神经网络的训练,选取一组进行数据的预测比较。本文的目的在于证明PSO优化的Elman神经网络,相比于没优化的El⁃man神经网络,对于装舱模型的构建要更精确。所以将PSO优化的Elman神经网络输出的装舱质量、装舱体积,与未优化的Elman神经网络的装舱质量、装舱体积,和工况数据中的真实装舱质量,装舱体积进行比较。

图3是PSO优化的适应度曲线,可以看出,随着迭代次数的增加,适应度值不断降低,并趋于稳定。

图3 适应度曲线

图4 、图5分别是PSO优化的Elman神经网络输出的装舱质量、装舱体积,与未优化的Elman神经网络的装舱质量、装舱体积,和真实装舱质量、装舱体积进行的比较曲线。可以看出,运用PSO优化的Elman神经网络相比于未优化的Elman神经网络,其输出的装舱质量、装舱体积更加接近于真实值。

图4 装舱质量比较(采样间隔30s)

图5 装舱体积比较(采样间隔30s)

图6 、图7则是PSO优化的Elman神经网络输出的装舱质量、装舱体积,与未优化的Elman神经网络的装舱质量、装舱体积,相对于真实值的每一时刻的误差绝对值曲线。可以看出,运用PSO优化的Elman神经网络相比于未优化的Elman神经网络,预测的性能更加优秀。

图6 装舱质量误差比较(采样间隔30s)

图7 装舱体积误差比较(采样间隔30s)

也可以通过比较两种预测方法的误差绝对值之和与真实值之和的比值,来判断哪种方法更加优秀。

式中,sim(i)为i时刻的预测值;true(i)为i时刻的真实值;abs为求其绝对值。

表1 2种算法的Error1数值对比

表1通过数值比较,可以看出,经过PSO优化的Elman神经网络输出的装舱质量、装舱体积的误差要更小,精确程度更好。

7 结语

运用Elman神经网络模型构建了耙吸挖泥船装舱模型,实现对于装舱质量、装舱体积的预测。通过粒子群算法(PSO)对Elman神经网络进行优化,减少了预测误差,提高了精确程度,更好地构建了耙吸挖泥船的装舱模型。

猜你喜欢

挖泥船权值适应度
改进的自适应复制、交叉和突变遗传算法
一种融合时间权值和用户行为序列的电影推荐模型
地球表面的编辑器
全球挖泥船市场图谱
启发式搜索算法进行乐曲编辑的基本原理分析
新一代挖泥船旗舰“浚洋1”建成投产
财务风险跟踪评价方法初探
基于洪泛查询的最短路径算法在智能交通系统中的应用
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
定位桩式液压抓斗挖泥船施工方法