基于深度神经网络学习的建立船舶重量计算模型的方法与流程

文档序号:17186258发布日期:2019-03-22 21:23阅读:248来源:国知局
基于深度神经网络学习的建立船舶重量计算模型的方法与流程

本发明涉及基于深度神经网络学习的建立船舶重量计算模型的方法,属于基于深度神经网络学习的建立船舶重量计算模型的方法的创新技术。



背景技术:

传统的船舶重量计算都是根据经验采用“粗放”的估计计量方法,其对造船产商与购买商都有失公允,在一定程度上违背了价值规律,不利于整个行业的创新突破及有秩序的快速发展。传统的船舶重量计算方法无法估计建造船只的钢材、器械设备的需求量,根据对部分造船厂的调查研究发现,每艘船只建造完成后都会产生巨大的资源浪费,这无疑给造船商带来了巨额的资金浪费和社会资源的浪费。而基于深度神经网络学习的船舶重量计算模型利用最新的科技成果能精准的预测船舶的重量及相关部件的重量,其需要的硬件资源几乎为零,主要是利用软件资源进行算法开发,可以有效的解决传统计量方法资金、资源浪费等问题。

dnn含有多个隐含层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类。当前多数分类、回归等学习方法为浅层结构算法,其局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约。dnn可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。

20世纪80年代末期,用于人工神经网络的反向传播算法(也叫backpropagation算法或者bp算法)发明,其可以让一个人工神经网络模型从大量训练样本中学习统计规律,从而对未知事件做预测。这种基于统计的机器学习方法比起过去基于人工规则的系统,在很多方面显出优越性。这个时候的人工神经网络实际是一种只含有一层隐含层节点的浅层模型。

20世纪90年代,各种各样的浅层机器学习模型相继被提出,例如支撑向量机(svm,supportvectormachines)、boosting、最大熵方法等。这些模型的结构基本上可以看成带有一层隐含层节点(如svm、boosting),或没有隐含层节点。这些模型无论是在理论分析还是应用中都获得了巨大的成功。相比之下,由于理论分析的难度大,训练方法又需要很多经验和技巧,这个时期浅层人工神经网络反而相对沉寂。

2006年,加拿大多伦多大学教授、机器学习领域的泰斗geoffreyhinton和他的学生ruslansalakhutdinov在《科学》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。dnn作为深度学习的一种技术方法,其突破了传统浅层人工神经网络的局限性,伴随着现在gpu技术的迅猛发展和大数据浪潮的兴起,dnn学习技术被广泛应用在语音识别、自然语言处理、图像处理及其他相关领域的应用。



技术实现要素:

本发明的目的在于考虑上述问题而提供一种基于深度神经网络学习的建立船舶重量计算模型的方法。本发明解决了船舶业对船舶质量“粗放型”估算引起巨大的材料浪费及售价偏低等经济损失的问题,有利于促进船舶业快速发展和经济效益的提高。不仅能实现对船舶重量的计算,还能实现对其他巨大型物件重量的计算。

本发明的技术方案是:本发明的基于深度神经网络学习的建立船舶重量计算模型的方法,包括如下步骤:

1)船舶进行整体受力分析;

2)以单个气囊为研究对象建立数学模型;

3)利用dnn学习技术建立变量预测算法模型;

4)模型求解与分析。

本发明利用超静力原理及相关力学知识对船舶进行整体受力分析,选取众多支撑船舶的气囊中的任意一个为研究对象,建立应力与应变、气压平衡、力学平衡等相关数学模型,本发明对已知的气压大数据进行数据挖掘,建立dnn学习模型,用该模型训练一组已知少量数据的未知变量,最终对变量实现准确预测。本发明是一种方便实用的基于深度神经网络学习的建立船舶重量计算模型的方法。

附图说明

图1为本发明单个气囊形变状态示意图;

图2为本发明深度神经网络模型结构设计的流程图;

图3为本发明采用改进的梯度下降算法进行训练的流程图;

图4为本发明实现过程的总体流程图。

具体实施方式

实施例:

本发明的基于深度神经网络学习的建立船舶重量计算模型的方法,包括如下步骤:

1)船舶进行整体受力分析;

2)以单个气囊为研究对象建立数学模型;

3)利用dnn学习技术建立变量预测算法模型;

4)模型求解与分析。

本发明基于深度神经网络学习的建立船舶重量计算模型的方法,基于相关的力学、气压学的相关原理知识,对气囊变形过程进行细微分析,得出较精准的数学模型;本发明对已知的气压大数据进行数据挖掘,建立dnn学习模型,用该模型训练一组已知少量数据的未知变量,最终对变量实现准确预测。

区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐含层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。

上述基于深度神经网络学习的船舶重量计算模型内容

1.船舶进行整体受力分析

fn=fgcosγ(1)

fl=fgsinγ+ff(2)

fl:为钢绳的牵引力

fg:为船的重力

ff:为船与气囊之间的摩擦力

fn:气囊对船的支持力

γ:为船所在斜面与水平面的夹角

通过对船舶进行整体力学分析,理论上我们可以得出船重。由力传感器可以粗约的测出钢绳的牵引力(船下水之前放在一个斜面上,需要钢绳拉住船,防止其滑入水中)fl,斜面的夹角γ已知,摩擦力ff可以通过实验测出摩擦系数。故在理论上可行,但在实验中会发现刚绳的牵引力存在较大的误差,摩擦力可能在不同阶段存在着不同的形式,且小实验和现实中的船舶下水会存在很明显的接触面、受力、气囊的变形情况的差异。因此我们只能通过船舶整体分析在宏观上了解船重。

为了更精确的测量出船重,本发明采用微观方式进行研究,对支撑所有船舶的气囊进行单独研究,然后利用材料力学中的超静力学原理进行整体分析船重。

2.以单个气囊为研究对象建立数学模型

取单个气囊为研究对象进行受力分析,本发明将气囊受力情况简化为两个节点,即气囊的初始状态,气囊的最佳变形状态(模型变量预测值所在状态)。

船与气囊之间的相关力学分析

初始状态气囊为圆柱体,直径为d;承载压缩后工作高度为h;压缩变形量为d-h;横截面受压接触段长度为b;非接触段圆弧半径为r;对应的圆心角为α;内部气体压强为p;承载压强为n,即p2;承载时囊体的伸张变形在轴向为δl;原始长度为l;变形后长度为l+δl;

径向伸张变形量为δr。

假设初始充气状态横截面为规则圆形,充气后非接触部分近似为二次曲线以圆弧替代(如图1所示),则有:

充气前后周长变化:

πd=2b+2αr+δr(4)

初始状态下的体积:

充气后变形状态的体积:

由接触面积和压强可以得到支反力,即为气囊对船的支持力:

fn=nb(l+δl)=p2b(l+δl)(7)

式中:s1为初始面积;s2为变形状态时的面积。

对气囊中的气压进行分析

理想气压状态方程:

pvm=c(m取1,1.3,1.4)(8)

pv=nθt(n为物质的量,t为绝对温度,θ为常数)(9)

对气囊形变对应的应力与应变分析

设气囊沿轴向的应力为σx,沿气囊直径方向的径向应力为σy,气囊是一种橡胶材料,根据材料力学的知识气囊变形可归为弹性力学问题,查阅相关手册可得弹性模量e=210mpa。

气囊的轴向应力为:

气囊的径向应力为:

气囊的轴向线应变为:

气囊的径向线应变为:

式中μ取常数。

3.利用深度神经网络dnn学习技术建立变量预测算法模型

通过对2中的数学模型变形,可知该模型是一个已知三个方程式和四个未知变量(分别为h、r、b、α)的问题,因此我们需要采用一种技术手段根据已知的大量气压数据来对未知的某一变量进行预测。由于气压的变化和四个未知变量都是气囊形变的数字表达形式,因此本发明大胆采用近几年取得巨大最新突破的深度神经网络(dnn)技术对变量进行精准预测。

本发明利用深度神经网络dnn学习技术建立模型包括深度神经网络模型结构设计及训练方法设计。

深度神经网络的模型结构主要包括网络层数、输入层节点数、隐含层节点数等的设计,其模型设计流程如图2所示:

网络层数的确定

由于本发明利用的数据来自于近几十个甚至上百个精密气囊传感器,在近1个小时内连续采集到的数据,据粗略计算数据达上万个。故需要较多的隐含层数量来减少网络结构复杂度,即初设隐含层为5层,共7层网络模型。

输入层节点数

输入层节点数取决于输入向量的维数。从问题中提炼出一个抽象模型,形成输入输出空间,即可设定输入层节点数。

隐含层节点数

一般较多的隐含层节点数可以带来更好的性能,但可能导致训练时间过长,采用经验公式根据实际情况进行计算:

1)k为样本数,m为隐含层神经元个数,n为输入层神经元个数。

2)m=log2n,n为输入层神经元个数;

输出层神经元的个数同样需要根据从实际问题中得到抽象模型来确定。

传递函数的选择:本发明采用sigmoid函数,即s型函数,同时将输出值限制在(0,1)或者(-1,1)之间。

训练方法的选择:本发明采用改进的梯度下降算法进行训练,具体流程如图3所示:

本发明首先通过传感器采集数据,将数据从云端提取,然后对数据进行归一化处理,将取收集到的90%的传感器数据输入到设计好的算法模型中训练算法,取10%的数据去测试算法,然后将某一未知变量的初值输入到使用算法中得到其预测值。

对每一个训练样本x,设置对应的输入激活ax-1,设计基于梯度下降的反向传播算法:

11)输入训练样本的集合,将原原始数据归一化;

12)前向传播:对每个l=1,2,3,…,l计算zx,l=wlax,l-1+bl和ax,l=σ(zx,l);

13)输出层误差:δx,l:计算向量

14)反向传播误差:对每个l=l-1,l-2,…,2计算δx,l=((wl+1)tδx,l+1)⊙σ(z′x,l);

15)代价函数的梯度:

16)梯度下降:对每个1=l-1,l-2,...,2根据更新权值和偏置;|

在编程中需循环迭代梯度下降,为了更好的确定学习率η,采用murtata的自适应算法实现自动调整学习率,提高算法的泛化能力。

算法的改进:

虽然dnn具有强大的从少数样本集中学习数据集本质特征的能力等优势,但由于其隐含层较多,将很容易导致学习速度下降很快或者很慢,当数据不足时也易过拟合,因此引入两个关键技术来弥补这几个方面的不足。

1.由于本算法的神经元是通过改变权重和偏置,并以一个代价函数偏导数和决定的速度学习,实际上这些偏导数很小,因此引入交叉熵代价函数。

对权值求偏导,得:

化简可得:

通过上式可知权重学习的速度受到(σ(z)-y)影响,也就是受输出中的误差控制。

同理:

2.利用规范化来解决dnn的过拟合问题:

对二次代价函数规范化:

简化为:

这两部分之间相对的重要性就由λ的值来控制:λ越小,就偏向于最小化原始代价函数c0,反之,倾向于小的权重。

对梯度算法,求偏导后偏置的梯度下降学习规则不会发生变化,权重学习规则为:

称为权重衰减。

为了进一步防止过拟合问题发生,使用提前停止来确定训练的迭代期数量,这里需要引入一个优化参数,该参数可以通过不断重复小型数据实验得到。

4.模型求解与分析

通过对上述(1)-(13)式进行相关简化及变形可得如下方程组,由前三个方程式可知含有四个未知变量,由上述dnn算法模型可以预测出其中一未知量的值,即可通过matlab求解以下方程。

πd-2b+2αr+δr=0

fn-p2b(l+δl)=0

通过模型的求解可知,本发明所建立的模型,只要通过传感器采集到充气整个阶段的气压数据和相关参数的初始值,就能精准的测量船舶的重量。

本发明是一种基于深度神经网络学习的船舶重量计算模型,包括船舶与所有气囊的接触进行整体受力分析和构建数学模型并求解。对船舶受力分析采用从整体到个体的研究方法,先对船舶整体研究,再取单个气囊为研究对象,建立力学模型和理想气压状态模型等数学模型,通过对模型的分析,将求船重的问题转化为利用dnn学习技术对未知变量进行预测的问题。

深度神经网络学习算法其包含多个隐含层,具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画。采用有监督学习的梯度下降误差反向传播算法进行权值调整,通过不断的实验测试,最终实现对未知变量的精确预测。通过预测值求解数学模型中的其他未知变量,从而计算出单个气囊的承压力,由超静力定理可知,所有气囊所受承压力之和即为船舶的重力。本发明解决了船舶业对船舶质量“粗放型”估算引起巨大的材料浪费及售价偏低等经济损失的问题,有利于促进船舶业快速发展和经济效益的提高。同时充分地将目前发展日益成熟的深度学习和神经网络算法与传统行业相结合,不仅能实现对船舶还能对其他巨大型物件重量计算。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1