利用神经网络实现地形面的曲面构造

来源:岁月联盟 作者:刘雪梅 董文胜 姜恩 时间:2010-08-23
摘要:提出用神经方法解决地形面的曲面构造问题,在Back Propagation(简称BP)算法的基础上,吸取了模拟退火算法的优点,神经网络的学习按概率随机接受一个不成功训练值的方法,解决了BP算法容易陷入局部极小点的问题。通过对黄河下游河滩地形面的模拟证明,此方法可解决地形面的曲面构造问题。 

关键词:地形面 自由曲面 神经网络 BP算法 模拟退火 

1 引言 
  在水利及土木工程中经常会遇到地形面,地形面是典型的空间自由曲面,地形面在给出时,往往只给出一些反映地形、地貌特征的离散点,而无法给出描述地形面的曲面方程。然而有时需要对地形面进行描述,或者当给出的地形面的点不完整时,需要插补出合理的点。以往大多用最小二乘法或其它曲面拟合方法如三次参数样条曲面、Bezier曲面或非均匀有理B样条曲面等,这些拟合方法的缺点是:型值点一旦给定,就不能更改,否则必须重新构造表达函数;在构造曲线曲率变化较大或型值点奇异时,容易产生畸变,有时需要人为干预;此外,这些方法对数据格式都有要求。 
  神经网络技术借用基于人类智能(如学习和自适应)的模型、模糊技术方法,利用人类的模糊思想来求解问题,在许多领域优于传统技术。用神经网络进行地形面构造,只要测量有限个点(可以是无序的),不需要其它更多的地形面信息和曲面知识,当地形面复杂或者是测量数据不完整时,用神经网络方法更具优势,而且还可以自动处理型值点奇异情况。 
  本文提出用BP神经网络结合模拟退火算法进行地形面的曲面构造。 
  2 模型与算法的选择 
  为了对地形面进行曲面构造,首先要有一些用于神经网络训练的初始样本点,对所建立的神经网络进行学习训练,学习训练的本质就是通过改变网络神经元之间的连接权值,使网络能将样本集的内涵以联结权矩阵的方式存储起来,从而具有完成某些特殊任务的能力。权值的改变依据是样本点训练时产生的实际输出和期望输出间的误差,按一定方式来调整网络权值,使误差逐渐减少,当误差降到给定的范围内,就可认为学习结束,学习结束后,神经网络模型就可用于地形面的构造。 
  BP网是一种单向传播的多层前向网络。网络除输入输出节点外,还有一层或多层的隐层节点,同层节点中没有任何耦合。输入信号从输入层节点依次传过各隐层节点,然后传到输出节点,每一层节点的输出只影响下一层节点的输出。其节点单元传递函数通常为Sigmoid型。BP算法使神经网络学习中一种广泛采用的学习算法,具有简单、有效、易于实现等优点。但因为BP算法是一种非线性优化方法,因此有可能会陷入局部极小点,无法得到预期结果,为解决BP算法的这一缺点,本文将模拟退火算法结合到BP算法中。 
  模拟退火算法是神经网络学习中另一种被广泛采用的一种学习算法。它的基本出发点就是金属的退火过程和一般组合优化问题之间的相似性。在金属热加工过程中,要想使固体金属达到低能态的晶格,需要将金属升温熔化,使其达到高能态,然后逐步降温,使其凝固。若在凝固点附近,温度降速足够慢,则金属一定可以形成最低能态。对优化问题来说,它也有类似的过程,它的解空间中的每一个点都代表一个解,每个解都有自己的目标函数,优化实际上就是在解空间中寻找目标函数使其达到最小或最大解。 
  (如果将网络的训练看成是让网络寻找最低能量状态的过程,取网络的目标函数为它的能量函数,再定义一个初值较大的数为人工温度T。同时,在网络的这个训练过程中,依据网络的能量和温度来决定联结权的调整量(称为步长)。这种做法与金属的退火过程非常相似,所以被称为模拟退火算法。) 
  模拟退火算法用于神经网络训练的基本思想是,神经网络的连接权值W可看作物体体系内的微观状态,网络实际输出和期望输出的误差e可看作物体的内能,对网络训练的目的就是找到恰当的状态W使其内能e 最小,因此设置一个参数T来类比退火温度,然后在温度T下当前神经网络的e与上次训练的e的差△e,按概率exp(-△e/T)来接受训练权值,减小温度T,这样重复多次,只要T下降足够慢,且T→0,则网络一定会稳定在最小的状态。
  模拟退火算法虽然可以达到全局最优,但需要较长时间,BP算法采用梯度下降方式使收敛速度相对较快。为取长补短,我们将两种算法结合起来,采用BP算法的梯度快速下降方式,同时利用模拟退火算法技术按概率随机接受一个不成功的训练结果,使梯度快速下降过程产生一些随机噪声扰动,从而既保证了网络训练的快速度下降,又保证了训练结果的最优性。  3与学习算法

  3.1网络

  如何选择网络的隐层数和节点数,还没有确切的方法和理论,通常凭经验和实验选取。本文采用的BP网络如图1所示,输入层两个节点,分别输入点的x坐标和y坐标;两层隐层,每层10个节点,输出层一个节点,输出点的z坐标。

  

  3.2 学习算法

  学习算法的具体过程如下:

  

  其中Out_node为输出神经元集合.

  

4实例

  为了检验本文算法的有效性, 我们用本文算法对黄河下游河滩地形面进行曲面构造, 地形面数据按截面给出, 我们用奇数截面上的点为学习, 偶数截面上的点用于检验本算法的精度. 表1给出了测量值z1与本文算法计算结果z2, z2为本算法经过大约3500次迭代的结果. 由这些数据可以看出,本文算法计算出的值与测量值的误差大约在0.02左右. 完全可以满足实际工程要求的精度.

  

  5 结语

  用神经进行地形面的曲面构造, 不必求出曲面的方程, 只需知道有限个点即可, 而且这些点可以是散乱点. 与传统方法相比, 神经网络方法具有很强的灵活性.

  本文将BP算法和模拟退火算法结合起来, 解决了BP算法容易陷入局部极小的致命缺点. 但仍然没有解决BP算法收敛速度慢的缺点.

  NEURAL NETWORK METHOD TO CONSTRUCT TERRAIN SURFACE

   Abstract

  This paper presents an artificial neural network approach to solve the problem of terrain surface construction. This method takes advantage of the global minimum property of Simulated Procedure on the basis of BP algorithm, thus can jump out of the local minimum and converge to the global minimum..This method were validated by simulating bottomland terrain of Yellow River.

  Key words: terrain surface; freeform surface; neural network; BP algorithm; simulated annealing

  

  [1] 王铠,张彩明. 重建自由曲面的神经网络算法[J]. 计算机辅助设计与图形学学报,1998,10(3):193-199

  [2] Gu P, Yan X. Neural network approach to the reconstruction of freeform surfaces for reverse engineering[J]. Computer-Aided design. 1995,27(1):59-64

  [3] 阎平凡,张长水. 人工神经网络与模拟进化计算[M]. 北京:清华大学出版社,2000

图片内容