基于神经网络的船舶自动舵控制算法研究与分析
李少伟1,王胜正2
(1.江汉大学数学与计算机科学学院, 湖北 武汉 430056;2.上海海事大学商船学院,上海 201306)
摘 要:为了研究不同神经网络模型对船舶自动舵性能的影响,实现了基于不同种类神经网络的自动舵控制系统算法仿真。将影响船舶航行的因素进行量化处理作为神经网络的输入;网络训练样本则来自上海海事大学高级船员考试系统中的记录,并对其中的数据进行优化筛选处理;采用DeepLearnToolBox工具实现对获取的样本进行有监督的训练。通过航行模拟实验可知,相较于传统浅层神经网络,基于深度神经网络的自动舵控制算法具有较小的误差及较高的控制精度,与资深船长的模拟操船误差最小仅为5.2%。关键词:神经网络;自动舵;训练;深度神经网络
中图分类号:U665 文献标识码:A 文章编号:1006—7973(2018)11-0060-04
1引言
随着智能化控制算法的不断涌现,船舶自动舵控制系统已经由传统的PID控制算法逐渐向人工智能控制领域不断发展。特别是随着人工神经网络(Neural Networks,NN)技术的不断突破,为船舶自动控制方法提供了坚实的理论基础。
来自大连海事大学的Xingxing Huo等人[1][2]在基于PID的自动舵控制算法中加入BP神经网络,在一定程度上实现了智能化参数调整,提高了自动舵的环境适应性;澳洲海事大学的Yu-anyuan Wang等人[3][4]在Xingxing Huo等人的基础上,提出了基于径向基函数(Radial Basis Function,RBF)神经网络的PID控制算法,从而进一步加快了算法的训练以及学习速度,同时可以高速处理接收到的并行数据;Wang Minghui以及Yanxiang Wu等人
[5][6]
练每层神经网络形成输入的表示,在此之后,堆栈各层神经网络转换为深度监督前馈神经网络,用梯度下降进行微调。至此,基于DNN的自动舵控制模型理论基础得以建立。
通过对相关文献及专利查找可知,现阶段尚未有国内外相关学者进行基于DNN的船舶自动舵控制方法研究。基于以上原因,本文选取ELAN神经网络以及深度置信网络(Deep Belief Networks,DBN)作为传统神经网络及深度神经网络的代表,分别实现了基于以上模型的船舶自动舵控制算法自动舵控制算法。通过实验,分析比较了不同神经网络模型对自动舵控制系统精度的影响。
2神经网络模型结构
如图1所示的神经元是组成人工神经网络的基本单元,这种单元一般具有多输入单输出的特性。其中,向量X为来自上一层的输入wij表示连接两层神经元i,j之间的权重;bj为第j个神经元的偏置量;yj则表示神经元j的输出。
在其论文中提出了基于模糊神经网络(Fuzzy NN)的船
舶自动舵控制方法。该方法中可以融入人类已知的经验和知识,从而可以进一步提高控制算法的智能水平。同时具备在线学习以及自动参数调整等优势,使得自动舵实用性大为提高;此外,科研人员还针对船舶运动模型进行过自动舵的研究,但由于船舶运动受到环境因素影响较大,因此其实用性大大受限。
现阶段,虽然采用人工神经网络方法来实现船舶自动舵控制系统已取得了一定的成效。但受限于传统神经网络中存在的收敛于局部最小值、梯度扩散以及不适合无标签数据的处理等问题,导致基于神经网络的自动舵算法存在着控制精度不高、环境适应性不强等问题。
深度神经网络(Deep Neural Networks,DNN)模型是对于传统神经网络模型的一种很好的改进与取代,该模型更接近人脑的工作过程,同时更适用于处理类似船舶自动舵控制这样的无标签大数据。2006年,Hinton[8] 等人提出一种训练DNN的方法,称为逐层贪婪算法,开启了学术界和工业界对DNN研究新热潮;文献[9]对深度学习进行了较为全面的综述,提出了贪婪逐层预训练学习过程用于初始化深度学习模型的参数,从底层开始训
[7]
x1w1jwijwnjbj函数等。
上述神经元可以按照一定的规则,组成如图2所示的人工神经网络结构。
…xi∑图 1 神经元结构
fyj…xn相应地,输入与输出之间有如(1)式所示的关系。 (1)
其中f表示激励函数,通常选取sigmoid、tanh以及径向基
60 CWT 中国水运 2018·11
图 2 神经网络结构
2.1 ELAN神经网络结构
如图3所示为ELAN神经网络结构,从图中可以看出,相比普通前馈网络,ELAN神经网络在输入层多出了承接层,并且其输入与隐藏层神经元的输出相关。这种结构起到了一步延时算子的作用,从而以达到记忆的目的,使系统具有适应时变特性的能力,能直接反映动态过程系统的特性[10]。
X1Y1X2X3Y2输入层隐藏层输出层C1……承接层C1图 3 ELAN神经网络结构ELAN神经网络的运算规则由以下四个等式组成。
(2)
(3) (4)
(5)
其中X(k)为网络的输入为,Y(k)为网络输出,Wi,i+1为连接第i层与第i+1层神经元的权值矩阵,Bi为第i层神经元的偏置输入为,C(k)为承接层的输入,Hi(k)、Ho(k)分别为隐藏层的输入输出。等式(1)中的[C(k), X(k)]表示连接向量C(k)与向量X(k)。
2.2 DBN神经网络结构
DBN由若干结构单元堆栈组成,如图4所示,其结构单元通常为RBM[11]。
图 4 DBN结构
对于图4中的任何一个RBM,其结构均是一个两层结构模型,底层是由可见节点v={v1,v2,v3,…vi}组成的可见层,顶层是由隐藏节点h={h1,h2,h3,…hj}组成的隐藏层,
两层之间的节点全连接,每一个连接都有一个权值wij,但处于同一层的节点之间互不连接。同时,可见层与隐藏层均有自己的偏置量,记为a,b。每个神经元的输出有两种,分别为0或者1。如图5所示为RBM模
型示意图。
图 5 RBM模型
3建模与仿真
基于神经网络的自动舵控制系统包含输入与输出两个部分,因此需要建立自动舵输入变量与神经网络输入之间的关系。另外,还要考虑隐藏层数量与节点数量的相关因素,优化网络输出。3.1网络输入参数
影响船舶运动状态的因素很多,在此,根据航海操舵模拟器的设计原理,我们选取如表1所示的、具有较大权重的影响因子,使其作为神经网络的训练输入。
表1 影响船舶航向的主要因素
影响因素(单位)
取值风向(度)0-3599(12位)风力(级)0-12(4位)流向(度)0-3599(12位)流速(节)
0-5(3位)
天气
天气状况与气象台中的分类相对应,
不同的天气对应不同的取值(5位)
交通流量0-10(4位)当前航向(度)0-3599(12位)目标航向(度)0-3599(12位)船速(节)
0-35(6位)
影响船舶运动状态的因素很多,在此,根据航海操舵模拟器的设计原理,选取具有较大权重的影响因子,使其作为神经网络的训练输入,例如风向、风力、流向、流速等。所以数据在输入前全部转换为二进制数值,即取值为0、1。3.2 网络输出参数
自动舵控制系统的功能和作用就是实现舵角的改变,使船舶尽可能稳定地航行在目标航线上,因此,神经网络的输出参
数仅有一个,就是目标舵角。对于普通商船而言,舵角的取值一般在-35°~+35°之间,因此,网络的输出取值定位0~71,采用7位二进制表示。3.3 数据采集
如前文所述,本系统所需的所有样本数据均来源于上海海事大学高级船员考试培训系统,具体的数据记录设备为SMU V型航海操纵模拟器。如图6所示为操纵模拟器数据传输框架示
CWT 中国水运 2018·11 61
意图。图 6 模拟器数据传输框架
从图6可知,ship主机程序通过RS232接口接收船舶操纵人员的指令,并记录操舵信息;通过网络接收来自电子海图的航线信息以及偏航误差;通过网络接口接收来自教练员程序的航行环境数据(风速、流速等)。上述信息根据表1中的方式,转换为NN能够识别的形式。3.4 模型实现方法
本文所涉及到的ELAN神经网络为浅层网络,在MATLAB中已有现成的实现;而DBN为深度神经网络,因此,本文引入DeepLearnToolbox实现其模型[16]。
以Matlab作为模型仿真平台,引入了开源库函数Deep-LearnToolbox,根据不同的模型参数,建立了适用于自动舵控制的DBN模型,节省了开发时间。表2所述为DeepLearnToolbox中关于建立DBN模型所涉及到的相关方法与参数。
表2 函数说明
方法
取值意义dbn/cnnsetup(dbn,x,opts)建立DBN/CNN模型dbn/cnntrain(dbn,x,opts)对DBN/CNN进行训练dbn/cnnunfoldtonn(dbn,outputsize)
将DBN/CNN型
模型转为NN模
nntrain(nn,x,y,opts)
使用有标签的数据对神经网络
进行微调
nntest(nn,x,y)对新的输入信息计算输出数据
3.5 仿真数据分析与比较
仿真实验中的船舶编号为3号,长度179.7米,船宽27.6米,最大吃水9.5米,船型为集装箱船。操船场景为长江口外锚地进港,数据记录时间为500s,船艏向初值为0。如图7所示,本船位于锚地。
图 7 实验场景
62 CWT 中国水运 2018·11
其中人工操舵与自动舵操舵已经分别予以记录,如图8、9所示。
8.1
8.2
8.3图 8 船艏向曲线
图 9 舵角曲线(左为人工操舵/右为DBN控制系统操舵)
图8中,(1)图表示人工操舵曲线;(2)图表示DBN操舵曲线;(3)图表示ELAN操舵曲线。我们选取图8中精度较高的DBN操舵曲线,生成图9所示的舵角曲线。从图8及图9可知,基于ELAN神经网络模型的控制算法与人工操船相比,误差较大。而深度神经网络模型在操船精度上已经非常接近人工操船。为了进一步对误差进行分析,我们选择每秒进行一次
误差记录,记为ei,
单位米,并采用下式(6)(7)得到误差指标。n
E=∑i=0ei(6)
n∑nD=
i=0(ei−E)2
n(7)
其中E表示误差均值,D表示误差的方差。经过计算可得到如表3所示误差数据。
表3 模型误差
模型名称ED人工22.54.6ELAN34.47.2DBN
23.7
5.3
由表3可知,人工操船的误差为22.5,方差为4.6;DBN模型控制系统的操船误差为23.7,方差为5.3。以上数据也进一步说明了,基于DNN模型的自动舵具有较高的精度。
反观现有的相关控制算法,大部分文章的作者仅仅提出了相关的理论,并没有针对相关理论进行验证或仿真验证。例如参考文献[3][4]所涉及的内容;有的文章虽然进行了仿真实验,但实验环境采用固定参数的形式,并且没有相关船舶运动模型作为支撑,例如参考文献[5-8]中的内容,因此其结果并不具备一定的实用价值。
4结语
本文实现了基于浅层和深度神经网络的自动舵控制系统,其代表模型分别为ELAN神经网络和DBN模型,同时以上海海事大学高级船员培训系统所记录的考试培训数据作为训练样本,引入MATLAB以及DeepLearnToolbox开发工具,实现了对模型的仿真验证。
通过实验数据可知,虽然浅层神经网络在自动舵控制算法中有一定的使用价值,但是深度神经网络具有更好的控制精度,在最理想的情况下,其平均误差仅有5.2%,已具备了实船测验的基本条件。
另外,本算法同时也具有一定的不足之处,例如对于下图10所示的会遇场景,本算法暂无法处理,留待后续研究。
图 10 会遇避让
参考文献:
[1] HUO Xing-xing, HU Jiang-qiang, YU Ting. Fuzzy PID
autopilot for ship steering based on stratification and sub fuzzy con-troller[J]. Journal of Dalian Maritime University,2015,39(4):71-74.
[2] 常静.基于BP神经网络的PID在船舶自动舵中的应用与研究[J].舰船科学技术,2017,39(3A):105-107.
[3] Wang Renqiang, Zhao Yuelin, Sun Jianming. Application of Optimized RBF Neural Network in Ship’s Autopilot Design[C]// 2016 IEEE Advanced Information Management, Communicates, Electronic and Automation Control Conference. Xi’an:IEEE
Press,2016:1642-1646.
[4] Yuanyuan Wang, Hung Duc Nguyen, Shuhong Chai and Faisal Khan. Radial Basis Function Neural Network Based Rudder Roll Stabilization for Ship Sailing in Waves[C]// 2015 5th Australian Control Conference. Gold Coast ,Australia:IEEE Press,2015:158-163.
[5] Wang Minghui, Yu Yongquan, Zeng Bi. Study of Intelligent Control System for Ship Autopilot Design[C]// 2009 Eigth IEEE/ACIS International Conference on Computer and Information Sci-ence, Shanghai, China: IEEE Press,2009:701-705.
[6] Yanxiang Wu,Minjie Xue,Pengjie Wu. Study on fuzzy neu-ral network-based ship autopilot[C]//International Conference on Neural Computation, Yantai, China: IEEE Press,2010: 1393-1396.
[7] Kapitanyuk, Yuri A. Optimal controllers for rudder roll damping with an autopilot in the loop[J]. IFAC-PapersOn-Line,2016,49(3):562-567.
[8] HINTON G E,OSINDERO S,TEH Y W. A fast learning algorithm for deep belief nets[J].Neural Computa-tion,2006,18(7):1527-1554.
[9] BENGIO Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2(1):1-127.
[10] 李少伟,陈永生.城市轨道交通客流预测算法设计与仿真[J]. 计算机科学, 2014,41(2):276-279.
[11] 刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研究,2014,34(7):1921-1930,1942.
[12] 周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(6):1230-1253.
[13] LeCun Y, Bottou L, Bengio Y. Gradient-based learn-ing applied to document recognition[J].Proceedings of the IEEE, 2016,86(11):2278-2324.
[14] Gao-Li Gang, Chen Pai Yu, Yu Shi-Meng. Demonstra-tion of convolution kernel operation on resistive cross-point array[J].IEEE Electron Device Letters, 2016,37(7):870-873.
[15] Gu Jiu-Xiang, Wang Zhen-Hua, Jason Kuen. Recent ad-vances in convolution neural networks. arXiv:1512.07108v5,2017.
[16] Rasmus Berg Palm. DeepLearnToolbox-Master[EB/OL].https://github.com/rasmusbergpalm/DeepLearnToolbox, 2012.
基金项目:湖北省教育厅科学研究计划指导性项目(B2018254)
CWT 中国水运 2018·11 63
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务