1、基于一种混合神经网络的船舶设计摘要 该文深入分析了两种经典前馈神经网络多层感知器和径向基函数网络的基本原理,指出它们分别模拟了生物神经网络不同方面的功能,在此基础上将它们结合起来构造了一种混合结构的神经网络,发挥了二者各自的优点并成功的用于船舶性能的预估。仿真试验表明,这种神经网络的收敛速度和估计的准确度都好于多层感知器。关键词 人工神经网络,反向传播算法,径向基函数网络,船舶设计1 引言人工神经网络是一种具有模拟人类大脑形象思维、联想记忆和信息分布存贮的非线性方法,是目前模式识别和机器学习领域的一个研究热点。其特点是:大规模并行结构、信息的分布式存储和并行处理及良好的自适应性、自组织性和容错
2、性,具有较强的学习、记忆、联想、识别功能等。正是因为具有上述特点,人工神经网络在生物、电子、计算机、数理和工程等众多学科有着非常广泛的应用前景。当前,神经网络的研究已取得多方面的进展和成果1,2,研究者们从不同的角度提出了 BP 网络,RBF 网络、支撑向量机、自组织映射、Hopfield 网络等大量神经网络模型。根据神经网络模型的学习方法,可将现有的神经网络学习算法分为有监督者和无监督者两类。其中,有监督者的模型结构及算法比较简单,主要应用于模式识别及分类领域,典型的算法如 BP 网络算法、RBF 网络算法。传统的 BP 网络算法采用基于误差反向传播的梯度算法;而 RBF 网络利用了差值法的
3、研究成果,采用了前馈的结构,二者都是对真实神经网络不同方面的近似,各有其优缺点。本文在分析了这两种算法基本思想的基础上,将二者结合起来,利用各自的优点构造了一种混合神经网络,并探讨了这种网络在船舶设计上的应用。2 前馈神经网络模型及基本思想2.1 多层感知器神经网络的基本原理这类网络典型的组成分为三部分:由一组感知单元(源节点)组成输入层,一层或多层计算节点的构成的隐含层及由一组计算节点组成的输出层,如图 1 所示。图 1 具有一个隐层的感知器结构多层感知器有如下三个突出特点:网络中的每个神经元模型包含一个非线性激活函数,最常用的是logistic 函数(1)输出。 网络包含一层或多层隐藏神经
4、元。 网络展现出高度的连接性。多层感知器的网络构成大量借鉴了神经生理学的研究成果,其学习算法是一种类似于生物反射机制的基于误差反向传播的梯度算法(BP 算法) ,因此在一定程度上模拟了生物神经元的运行方式。通过训练,多层感知器具有学习数据内部复杂、非线性的生成机制的能力,但其收敛速度比较慢,推广能力较差,易陷入局部极小点,而且网络的能力随突触数量的增多增长缓慢(维数灾) 。2.2 RBF(径向基函数)网络的基本原理除了采用基于神经生理学的学习算法外,前馈型神经网络还可以看作是一个高维空间中的曲线拟合问题。按照这种观点,学习等价于在多维空间中寻找一个训练数据的拟合曲面,使得训练误差达到某种统计意
5、义上的最佳。最基本的 RBF 网络的构成包括三层。输入层由感知单元组成,第二层是网络中仅有的一个隐层,其作用是从输入空间到输出空间进行非线性变换,通常该隐层具有较高的维数,第三层是线性的输出层,如图 2 所示。图 2 径向基函数网络结构是对视神经功能的模拟。RBF 网络可通过 Tikhonov 正则化理论和 Green 函数进行设计,因此学习速度一般远快于多层感知器网络,但也同样存在“维数灾”的问题。3 混合神经网络模型RBF 网络之所以具有分类能力是基于 cover 原理5,该原理可定性表述为:将复杂的模式分类问题非线性地投射到高维空间比投射到低维空间更可能是线性可分的。根据这一原理,本文首
6、先将数据利用径向基函数进行非线性变换,然后再输入一个单隐层感知器进行分类,算法如下 若满足精度要求则结束计算,若不满足要求则按照 BP 算法调整权值。经过不断的迭代学习,直到误差满足规定的误差精度,确定的权系数即为所需的权系数3,4。 4 计算机试验试验一:基于混合神经网络的船舶设计在船舶设计工作中,由于限制条件繁多,特别是“模糊”的概念比较多,经典的确定性程序算法难以完全满足现代的船舶设计工作。因此,人工神经网络自适应和学习能力就非常有吸引力。自神经网络方法被引入船舶工程以来,我国船舶科技工作者在船舶设计方案的优选和排序、船舶操纵性能的综合评判、船舶结构优化设计、船舶结构设计的评估、船舶建造
7、等方面取得了丰硕的成果。本试验的思路是以船舶主尺度参数为输入,利用神经网络对船舶性能进行预测,以此为船舶初步设计提供参考。学习样本是 5 条江海直达货船的船型资料,并选择对船舶性能影响较大的主尺度和主尺度系数作为样本输入数据,分别是:船长 Lbp,船宽 B,吃水 T,型深 D,方型系数Cb,重心高度 Zg 和主机马力 BHP(见表 1,其中 6、7 行的数据作为测试数据) 。期望输出数据、实际输出数据和偏差见表 2,测试结果见表 3。网络中非线性变换层的单元数为 30,感知器隐层单元数为 5,输出层单元数为 2。表 1 样本输入数据样本输入值No.LbpBTDCbZgBHP153.39.242
8、.43.690.7992.95500255.38.642.43.460.8102.77500372.711.372.44.550.8103.64690479.512.452.54.980.8103.98780594.514.772.75.910.8104.731050696.516.713.06.690.8105.351175799.715.633.06.250.8105.001175表 2 训练输出结果期望输出数据实际输出数据偏差No.TsVTsVTsV15.979.735.95749.7413-0.01260.011326.049.785.98219.7914-0.05790.011435.659.835.65399.82410.00390.005945.689.815.70159.81510.02150.005155.749.935.74219.92890.00210.0011表 3 测试输出结果期望输出数据实际输出数据偏差No.TsVTsVTsV16.029.785.9529.8156