黄温赟,黄文超,朱陈程,赵新颖*
(1 中国水产科学研究院渔业机械仪器研究所,农业部远洋渔船与装备重点实验室,上海 200092;2 青岛海洋科学与技术国家试点实验室深蓝渔业工程联合实验室,山东 青岛 266237)
联合国粮食及农业组织(FAO)数据表明[1],2019年全球渔船总数量约为460万艘,中国现有作业渔船数量为86万艘[2],庞大的渔船规模使中国沿海、近海的渔业资源及海洋生态环境承受了巨大的压力。自20世纪70年代末,中国近海海洋资源开始出现衰减迹象,为保护渔业资源,实现海洋资源的可持续发展,国家对近海捕捞渔船实行了“双控”制度,即控制船舶总量和控制主机功率总量[3]。为提高鱼货产量,部分渔民在渔船更新或新造过程中,私自更换渔船主机的标牌和说明书,加之渔船监管不到位[4],使得中国渔船出现了“机证不符”“大机小标”的问题,不仅增加了渔船作业的安全隐患,更加大了渔船和渔业资源的管理难度。
针对渔船“机证不符”“大机小标”问题,一些学者从管理层面分析了原因,提出了一系列的对策[2,5-7]。同时,原农业部于2014年1月20日印发《渔船用柴油机型谱与标识管理方法》[8],逐步规范了渔船用柴油机型谱和标识管理,力图逐步破解“大机小标”管理顽疾。
在渔船技术层面,国内学者对“机证不符”“大机小标”问题的研究还很少。王永鼎等[9]对渔船用柴油机型谱数据分析,促进了型谱管理方法和实施细则的合理完善。李胜勇等[10]通过研究典型主机改装前后的标定功率、转速和螺旋桨之间的关系,探索出一种利用螺旋桨轴径判断渔船是否存在“大机小标”现象的方法。
破解现阶段渔船“大机小标”问题的关键,在于对渔船主机功率的预报。渔船主机额定功率的估算属于复杂非线性问题,神经网络技术对于求解非线性问题有着常规方法不可比拟的优势。神经网络技术已经被广泛运用到渔业、渔船生产作业中。王金浩等[11]运用BP神经网络,对渔船航行中的风险等级进行评估,为渔船航行和作业提供了安全保障。郑志辉[12]运用人工神经网络搭建了黄鳍金枪鱼渔情预报模型。杨鲲鹏等[13]运用神经网络模型,探索了一种船舶动力装置综合安全评价模型的实现方法。喻欣[14]运用神经网络模型,对拖网渔船的耐波性能进行了研究。
本研究利用部分渔船样本点,运用神经网络模型,探索出一种利用渔船船型参数估算渔船主机功率的方法,运用该模型能够较准确的估算渔船合理的主机额定功率范围。根据估算功率和渔船标牌功率的差别,可判断渔船是否存在“大机小标”现象。
神经网络是依照大脑神经网络工作原理而建立的一种简单的数学模型[15],由输入层、隐藏层和输出层组成[16],其中,输入层输入的为渔船特征值,输出层输出的为渔船主机功率,隐藏层的作用是处理输入层数据,从而达到对输出层数据准确估算的目的。其结构如图1所示,输入变量(渔船设计水线长、型宽、设计排水量、方形系数、水线面系数和设计航速)X=(x1,x2,···,xn)T从输入层经过隐藏层,在输出层得到网络的响应值(主机额定功率)Y=(y1,y2,···,yn)T。其中每一层网格节点相互独立,且与相邻层的节点连接。
单个神经网络节点的数据流程如图2所示。
任意节点和相邻层节点之间的权值系数为ω1,ω2,···,ωn,则输入Σ可以表示为:
Σ=ω0x0+ω1x1+···+ωnxn
式(1)
式中,x0为初始偏差。
f(·)为节点激活函数,在神经网络领域使用最多的是Tanh函数、Sigmod函数、Relu函数等。
节点的输出值Ο可以表示为:
Ο=f(Σ)=f(ω0x0+ω1x1+···+ωnxn)
式(2)
神经网络模型经过一次正向传播训练得到的结果和实际结果往往相差很大。为了提高模型的估算精度,需要对模型进行不断的迭代修正,即不断的正向-反向传播训练,直到模型训练结果和实际数值相差在设定范围之内,或者迭代步数达到要求[17]。神经网络训练的数学原理[18]如下:
(1)初始化网络。选定网络形式,包括网络层数,每层网络节点个数等。初始化节点之间的权值系数ωij,ωjk,设定网格学习速率和节点激活函数的类型。
(2)计算网络输出值Ok
式(4)
式中,Hj为隐藏层的输出值。
(3)计算误差ek
ek=Yk-Ok(k=1,2,···,m)
式(5)
(4)更新权值系数。根据误差ek,采用梯度下降法得到权值系数ωij,ωjk的更新值。
式(6)
ωjk=ωjk+ηHjek
(j=1,2,···,l,k=1,2,···,m)
式(7)
式中,η为网络学习速率。
(5)正向传播。判断网络输出结果是否满足要求。如果满足要求,则停止迭代,如果没有满足要求,则重复操作该流程。
本研究收集了近60艘拖网渔船参数,包含近海拖网渔船、远洋底拖网渔船和拖虾渔船等,覆盖浙江、江苏、广西和山东等省份。去除重复、无效和木质拖网渔船的样本点,保留数据齐全的42个样本点作为研究对象。
国际上公认的最准确的主机功率预估办法是:运用船舶水池试验[19]方法测量得到船舶阻力,再换算得到主机功率。船体总阻力包括摩擦阻力、兴波阻力及粘压阻力[20],低速船的摩擦阻力占总阻力的70%~80%。根据雷诺定律和傅汝德定律,结合收集到的研究对象参数,选取渔船设计水线长、型宽、设计排水量、方形系数、水线面系数和设计航速6个船舶参数作为神经网络模型的输入变量,主机额定功率作为神经网络模型的输出变量(目标变量)。样本点各个变量的取值范围如表1所示。
表1 渔船样本点参数变化范围Tab.1 Parameter range of fishing boat sample point
由于样本点数据较少,本研究不单独设置验证集。在42个渔船样本点中,随机选取样本点当中的5个样本点作为测试集,用来检验模型的效果;剩余37个样本点作为神经网络预测模型的训练集,训练模型。测试集数据如表2所示。
表2 测试集样本点参数表Tab.2 Parameter list of sample point in test set
本研究采用Python语言,借助Tensorflow模块在Anaconda软件中编程实现。网络结构包含1个输入层,5个隐藏层,1个输出层,每一层的节点个数为6-64-64-64-32-16-1。每层之间的激活函数为Sigmod函数。每层网络均采用归一化操作[21],以提高训练效率,保证较好的训练结果。取估算功率值和实际功率值之间的均方差作为损失函数,网络学习效率设置为0.000 1,设置最大迭代步数为30 000步。
经过神经网络模型训练,最终得到的模型在训练集渔船主机额定功率的绝对平均误差为2.17%,最大绝对误差为5.9%,70%样本点的误差小于3%,该神经网络模型在训练集上的表现较好。训练集样本误差分布如表3所示,每个训练集样本点实际功率与估算功率的对比如图3所示。
表3 训练集样本点误差分布Tab.3 Error distribution of sample points in training set
将测试集的5个样本点数据带入训练好的神经网络模型中,用来评估神经网络模型估算泛化能力。5个测试集样本估算结果的绝对平均误差为11.15%,最大绝对误差为19.53%,最小绝对误差为2.15%。各个测试集样本点实际功率和估算功率误差如表4和图4所示。
表4 测试集样本点估算功率与实际功率误差Tab.4 Error between predicted power and actual power of sample points in test set
本模型基本可以根据设计水线长、型宽、设计排水量、方形系数、水线面系数及设计航速等6个船舶参数来估算主机功率,从结果来看,误差均值约为11%,最大值约为20%,存在着一定的误差,分析原因如下:
1)实际船舶主机额定功率的数值具有复杂性、非规律性和非连续性特征。复杂性指本次研究采用的样本数据包含国内南北海区多种渔船,船型参数接近而航行海域不一样的船舶,其选用的主机功率根据不同主机品牌也会有差异,从而造成了主机功率估算的误差;非规律性在于相当一部分渔船主机功率的选定都不仅仅基于船舶航行的经济性,还需兼顾功率指标及渔民使用需求,有些船型参数较大的船只选用的主机功率会偏小,而船型参数较小的船只选用的主机功率可能会偏大;非连续性指渔船主机额定功率的数值非连续,主机额定功率估算问题具有多分类问题的性质,故用连续性回归模型分析的误差会偏大。
2)从模型对训练集样本点和测试集样本点的估算误差结果来看,模型对训练集样本点的估算精度较高,对测试集样本点的估算精度较低,该神经网络模型存在过拟合现象。过拟合现象的出现可能和没有设置验证集数据、总体样本点数据太少有关。
3)考虑到模型对训练集样本点和测试集样本点的估算误差大小,且实际中渔船主机额定功率选定具有一定范围性的特征,该神经网络模型的整体表现能够满足实际应用的要求。
本研究从目前中国渔船存在的“大机小标”现象出发,运用神经网络技术,提出了一种根据船型参数估算渔船主机额定功率的方法,估算精度基本可以满足甄别“大机小标”需要,能够用来辅助判断渔船是否存在“大机小标”、“机证不符”的问题。
接下来的工作将从如下3个方面进行拓展,以期取得更好的估算效果:1)与一般的神经网络回归问题相比,渔船主机额定功率估算更具复杂性和非规律性,需要优化神经网络算法,提高精确度;2)本研究由于样本点数据偏少,后期研究需要提高样本数;3)本模型算法是基于样本点对其他船主机功率进行预估,样本点数据的准确性会直接影响预测模型的精准性,样本点的遴选需要结合渔船的船机桨匹配设计计算及船模试验进行数据验证。