BP神经网络遥感水深反演算法的改进

2017-03-07 09:55邱振戈朱述龙曹彬才
测绘通报 2017年2期
关键词:改进型水深权值

曹 斌,邱振戈,朱述龙,曹彬才

(1. 上海海洋大学海洋科学学院,上海 201306; 2. 信息工程大学,河南 郑州 450001)

BP神经网络遥感水深反演算法的改进

曹 斌1,邱振戈1,朱述龙2,曹彬才2

(1. 上海海洋大学海洋科学学院,上海 201306; 2. 信息工程大学,河南 郑州 450001)

针对BP神经网络遥感水深反演算法(简称传统BP算法)的缺点,提出了改进型BP神经网络遥感水深反演算法(简称改进型BP算法),其基本原理是在模型训练过程中反复运用粒子群算法对BP神经网络的权值和阈值进行优化以弥补传统BP算法的不足。试验表明:改进型BP算法的训练迭代收敛速度明显快于传统BP算法,浅水区的水深反演精度优于传统BP算法,且学习算法对初始权值和阈值不敏感。

遥感水深反演;传统BP算法;粒子群算法;改进型BP算法;权值和阈值优化

BP神经网络是采用误差逆向传播算法训练得到模型参数的多层前馈人工神经网络,由于BP神经网络对非线性映射关系有很强的逼近能力,因此经常作为非线性遥感水深反演模型使用[1-9]。这种以BP神经网络作为像元光谱特征与对应水深值非线性映射关系的遥感水深反演算法,即为BP神经网络遥感水深反演算法(简称传统BP算法)。

但传统BP算法也存在许多问题,如学习算法收敛速度较慢、学习算法对初始权值和阈值比较敏感等。这些问题的存在,既影响模型的学习训练效率,也影响遥感水深反演结果的质量。

传统BP算法存在的问题主要与BP算法学习过程有关,即由学习算法寻求最优权值和阈值的能力不足导致的,而这种能力不足可以通过引进其他优化算法来弥补。由于粒子群算法是一种高性能优化算法,因此将粒子群算法与BP神经网络遥感水深反演算法结合起来,充分运用粒子群算法的全局优化能力去弥补传统BP算法的不足,进而解决传统BP算法存在的问题。下面先简要说明传统BP算法存在问题,然后重点介绍提出的改进型BP神经网络遥感水深反演算法(简称改进型BP算法),最后通过试验来检验改进型BP算法的实际效果。

1 传统BP算法及存在问题

对于多光谱遥感水深反演,传统BP算法通常采用如图1所示三层神经网络作为像元光谱特征与对应水深值的非线性映射关系。其中,输入层各节点主要负责接收外界输入信息(像元的光谱特征),并将其直接传送给中间层各节点,它本身不对外部输入数据进行处理。中间层各节点主要对输入层传送来的数据进行处理后传送至输出层。输出层节点主要对中间层传送来的数据进行处理后向外界输出结果(像元的水深值)。

图1 BP神经网络遥感水深反演模型

传统BP算法的网络权值采用误差逆向传播算法学习训练得到。学习训练由信息正向传播和误差反向传播两个过程交替进行来完成,当网络输出与期望结果之间的误差很小或学习次数达到规定上限时,学习训练过程结束,输出网络的权值和阈值。

传统BP算法存在的主要问题如下:

(1) 收敛速度慢。由于BP神经网络的一个或几个可调参数(权值或阈值)对所有节点的输出都有影响,因此在网络学习过程中,每次改变输入都要对网络所有权值进行调整,从而导致网络学习效率不高。另外,当节点输出接近0或1时,相关权值调整效果不明显,这也是导致网络学习收敛速度十分缓慢的重要原因。

(2) 学习训练算法对网络初始权值和阈值(即节点处理模型中的偏置)比较敏感。初始权值和阈值不同,学习结果往往会收敛到不同的极小值,从而导致每次学习训练结果不一致。

2 传统BP算法的改进

传统BP算法存在的问题,既影响网络权值的学习训练效率,也影响反演结果的质量(包括精度和可靠性)。为了改善BP算法的性能,本文运用粒子群算法的全局优化能力,在模型训练过程中反复利用粒子群算法对BP神经网络权值和阈值进行优化,来弥补BP算法的不足。

粒子群算法(particle swarm optimization,PSO)是Kennedy等在1995年提出的一种基于迭代的优化算法[10],它先将寻优问题初始化为一组随机解,再通过迭代逐步找到最优解。由于粒子群算法具有优化能力强、收敛速度快、鲁棒性好、简单易实现等特点,将它与BP神经网络算法配合使用,用于人工神经网络权值和阈值(包括初始权值和阈值、学习过程中的权值和阈值)优化,能有效弥补BP神经网络算法的不足,提高BP神经网络算法的学习训练效率和反演成果质量[11-14]。

改进型BP算法就是将粒子群算法与BP神经网络遥感水深反演算法(即传统BP算法)结合起来使用的一种新算法,其流程如图2所示。

图2 改进型BP算法的流程

下面以传统BP模型初始网络权值和阈值优化为例,详细给出该算法的具体步骤如下:

(1) 根据BP模型的权值和阈值数目,确定粒子群算法搜索空间的维数D。针对图1所示的三层BP神经网络,假如输入层节点数为l,隐层节点数为m,输出层节点数为1,则该神经网络的权值和阈值总数目为l×m+m+m×1+1。由于是对传统BP模型的权值和阈值进行优化,因此粒子群算法搜索空间的维数D=l×m+m+m×1+1。

(2) 设置粒子群算法的参数。粒子数M=30;学习因子c1≈c2≈2.05;最大限制速度Vmax=1;速度继承因子ω采用线性递减惯性权重策略[15-16];r1和r2为均匀分布在[0,1]之间的两个随机数。

(3) 初始化每个粒子的位置和速度。对于每个粒子,利用随机数函数rand( ),生成D个0~1之间的随机数并将其作为该粒子初始位置的各个分量值,即

(1)

每个粒子的初始速度为

(2)

(4) 分别按照式(3)和式(4)初始化每个粒子的个体最优解Pi和粒子群最优解Pg

(3)

Pg=P1

(4)

(5) 令迭代次数计数器k=0。

(8) 按照式(5)和式(6)更新每个粒子的速度和位置

(5)

(6)

(9) 若未找到粒子群最优解Pg且迭代次数未达到规定上限,则k=k+1并转到步骤(6);否则停止迭代,输出粒子群最优解Pg。

(10) 将粒子群最优解Pg作为BP模型的初始权值和阈值,代入BP模型进行学习训练,得到优化后的BP模型。

(11) 利用优化后的BP模型,求解各个反演点的水深值。

3 试验与分析

为了验证改进型BP算法的实际效果,设计了两个试验。第一个试验主要检验改进型BP算法的学习效率和反演结果精度。第二个试验主要检验改进型BP算法对模型参数(即初始权值和阈值)的敏感性。

3.1 试验数据情况

试验数据为海南省三沙市甘泉岛地区的遥感影像和实测水深数据。遥感影像为WorldView-2卫星2014年4月2日获取的4个标准谱段的多光谱遥感影像,分别为蓝色波段B1(450~510 nm)、绿色波段B2(510~580 nm)、红色波段B3(630~690 nm)、近红外波段B4(770~895 nm)。实测水深数据取自该地区同时期水深图,经过配准和重采样处理后已转化为图像上对应像素的水深值。卫星影像及试验所用的500个训练样本点和719个检查点在影像上的分布情况如图3所示。

由于采用波段比值可以减少海水类型和海底底质对反演精度的影响[5],因此本文试验不是直接采用样本点的光谱数据作为反演模型的输入,而是先对蓝(B1)、绿(B2)、红(B3)和近红外波段(B4)两两求比值,得到B1/B2、B1/B3、B1/B4、B2/B3、B2/B4、B3/B4共6个比值,再对6个比值作PCA变换,取变换结果的前3个分量作为反演模型的输入数据。

图3 试验区的卫星影像和实测水深点

3.2 模型结构说明

试验中,改进型BP算法和传统BP算法都采用图1所示的BP神经网络遥感水深反演模型。其中,输入层节点数为3,对应上述6个比值经PCA变换后的前3个分量。输出层节点数为1,激活函数都为线性函数,输出值为像素点的水深值。隐层节点数通过反复试验确定为11,激活函数为Sigmoid函数。两种算法训练过程中,当迭代次数大于5000或迭代过程中前后两次网络输出值的差小于0.001m时,停止训练,输出训练结果(即网络的权值和阈值)。

改进型BP算法与传统BP算法的区别在于:传统BP算法仅采用误差逆向传播算法训练得到网络权值;而改进型BP算法在采用误差逆向传播算法训练网络权值的同时,还采用粒子群算法对网络权值和阈值进行优化。

3.3 训练效率和反演精度试验

首先利用500个训练样本点的光谱特征和实测水深数据,分别运用传统BP算法和改进型BP算法求解模型参数,得到权值和阈值不完全相同的2个神经网络模型。为了评价两种算法的学习训练效率,分别记录两种算法的训练迭代次数,结果见表1。

表1 两种算法的训练效率和反演精度

然后,分别运用权值和阈值不完全相同的2个神经网络模型,反演719个检查点的水深值。为了衡量两种算法的反演精度,分别计算两种算法对719个检查点的水深反演值与实测值的平均绝对误差,结果见表1。

为了直观反映各检查点的水深反演值与实测值的偏离情况,对每种算法以实测水深值作为平面直角坐标系的横轴、反演水深值作为纵轴,将所有检查点绘制在该坐标系中,得到两种算法的反演值与实测值的偏离情况,如图4所示。

图4

从表1可以看出:传统BP算法的训练迭代次数为2386,迭代次数多,收敛速度慢;而改进型BP算法的训练迭代次数大幅度减少为323,表明其收敛速度明显快于传统BP算法。从表1还可以看出:传统BP算法反演结果的平均绝对误差为0.766 m,而改进型BP算法的平均绝对误差下降为0.732 m,说明改进型BP算法的反演精度总体上略优于传统BP算法。

比较图4(a)和图4(b)可以看出:对于实测水深小于4 m的检查点,改进型BP算法的反演精度普遍优于传统BP算法;对于实测水深大于4 m的检查点,两种算法反演精度大体相当。另外反演值小于实测值的检查点多于反演值大于实测值的检查点。

3.4 初始权值和阈值的敏感性试验

由于改进型BP算法的初始权值和阈值是算法随机生成的,因此可以认为第1次试验与第2次试验的初始权值和阈值是不一样的。下面通过两次试验的结果来观察改进型BP算法对初始权值和阈值的敏感性。

每次试验都是先利用500个训练样本点的光谱特征和实测水深数据,运用改进型BP算法求解网络权值和阈值,然后再运用训练得到的神经网络模型反演719个检查点的水深值。两次试验中719个检查点的平均绝对误差见表2。

表2 改进型BP算法两次试验的反演精度

从表2可以看出:两次试验结果的平均绝对误差仅相差0.006 m(第1次为0.732 m,第2次为0.738 m),相较于遥感水深反演能力,该误差是可以忽略不计的,因此可以认为两次反演结果是一样的,这说明改进型BP算法对初始权值和初始阈值是不敏感的。

4 结论与设想

将粒子群算法与传统BP算法结合起来,在训练过程中反复运用粒子群算法对BP神经网络权值和阈值进行优化,可以弥补传统BP算法的不足。通过理论分析和试验研究,可以得出如下结论:

(1) 改进型BP算法的训练迭代收敛速度明显快于传统BP算法。

(2) 改进型BP算法对神经网络的初始权值和初始阈值不敏感,不会因为初始权值和初始阈值不同而导致训练结果存在明显差异。

(3) 对于较浅水域(文中水深小于4 m)的检查点,改进型BP算法的反演精度明显优于传统BP算法;对于较深水域(文中水深大于4 m)的检查点,两种算法反演精度大体相当。

下一步,课题组将重点研究如何将基于光谱特征的水深反演方法与基于双介质卫星摄影测量的水深立体测量方法[17]结合起来,进一步提高遥感水深测量的精度和可靠性。

[1] 王艳姣, 张鹰. 基于BP人工神经网络的水体遥感测深方法研究[J]. 海洋工程, 2005, 23(4):33-38.

[2] ÖZCELIK C, YALCIN A. Remote Sensing of Water Depths in Shallow Waters via Artificial Neural Networks[J]. Estuarine Coastal & Shelf Science, 2010, 89(1):89-96.

[3] LEE K H, MIZUTANI N, FUJII T. Prediction of Wave Breaking on a Gravel Beach by an Artificial Neural Network[J]. Journal of Coastal Research, 2011, 27(27):318-328.

[4] NAGAMANI P V, CHAUHAN P, SANWLANI N, et al. Artificial Neural Network (ANN) Based Inversion of Benthic Substrate Bottom Type and Bathymetry in Optically Shallow Waters - Initial Model Results[J]. Journal of the Indian Society of Remote Sensing, 2012, 40(1):137-143.

[5] 张振兴, 郝燕玲. 卫星遥感多光谱浅海水深反演法[J]. 中国航海, 2012, 35(1):13-18.

[6] GHOlAMALIFARD M, KUTSER T, ESMAILI-SARI A, et al. Remotely Sensed Empirical Modeling of Bathymetry in the Southeastern Caspian Sea[J]. Remote Sensing, 2013, 5(6):2746-2762.

[7] MOHAMED H, MNEGM A, ZAHRAN M, et al. Assessment of Artificial Neural Network for Bathymetry Estimation Using High Resolution Satellite Imagery in Shallow Lakes: Case Study El Burullus Lake[C]∥Proceeding of Eighteenth International Water Technology Conference, Iwtc18 Sharm Elsheikh.[S.l.]:Research Gate,2015.

[8] 樊彦国, 刘金霞. 基于神经网络技术的遥感水深反演模型研究[J]. 海洋测绘, 2015, 35(4):20-23.

[9] 王正, 毛志华, 曾群,等. 基于BP ANN和B算法的黄河口水深遥感比较研究[J]. 华中师范大学学报(自然科学版),2016, 50(1):112-119.

[10] KENNEDY J,EBERHART R. Particle Swarm Optimization[C]∥Proceeding of IEEE International Conference on Neural Networks. Perth:[s.n.],1995:1942-1948.

[11] DEVI S, JAGADEV A K, PATNAIK S. Learning an Artificial Neural Network Using Dynamic Particle Swarm Optimization-Backpropagation: Empirical Evaluation and Comparison[J].Journal of Information and Communication Convergence Engineering,2015,13(2):123-131.

[12] CHATTERJEE S, SARKAR S, HORE S, et al. Particle Swarm Optimization Trained Neural Network for Structural Failure Prediction of Multistoried RC Buildings[J].Neural Computing & Applications, 2016:1-12.

[13] 王刚刚, 廖庆, 徐玉蕊,等. 改进型粒子群优化算法的BP神经网络全息图压缩[J]. 吉林大学学报(信息科学版), 2016, 34(1):147-152.

[14] 杨尚波, 卢小平, 李珵,等. 基于混沌粒子群优化神经网络的GPS高程拟合研究[J]. 测绘通报, 2013(9):5-8.

[15] SHI Y, EBERHART R C. Parameter Selection in Particle Swarm Optimization[C]∥Proceeding of International Conference on Evolutionary Programming VII.[S.l.]:Springer-Verlag, 1998:591-600.

[16] 刘锦萍, 郁金祥. 基于改进的粒子群算法的多元线性回归模型参数估计[J]. 计算机工程与科学, 2010, 32(4):101-105.

[17] 曹彬才,邱振戈,朱述龙,等. 高分辨率卫星立体双介质浅水水深测量方法[J].测绘学报,2016,45(8):952-963.

Improvement of BPANN Based Algorithm for Estimating Water Depth from Satellite Imagery

CAO Bin1,QIU Zhenge1,ZHU Shulong2,CAO Bincai2

(1. College of Marine Sciences, Shanghai Ocean University, Shanghai 201306, China; 2. Information Engineering University,Zhengzhou 450001, China)

BPANN algorithm is commonly used for estimating water depth from satellite imagery. In this paper, an improved BPANN algorithm is presented to overcome some disadvantages of BPANN algorithm. Its principle is that particle swarm optimization (PSO) is used to optimize the weights and thresholds of ANN in the process of training. The experiments show that improved BPANN algorithm has faster convergence speed and better generalization ability, it is not sensitive to initial weights and thresholds, and it can make more accurate results than BPANN algorithm.

estimating water depth from satellite imagery; backpropagation-based artificial neural network algorithm (BPANN algorithm); particle swarm optimization (PSO); improved BPANN algorithm; optimization of initial weights and thresholds

曹斌,邱振戈,朱述龙,等.BP神经网络遥感水深反演算法的改进[J].测绘通报,2017(2):40-44.

10.13474/j.cnki.11-2246.2017.0045.

2016-06-11;

2016-09-11

上海市科委科研基金(14590502200)

曹 斌(1992—),男,硕士生,研究方向为海洋遥感监测。E-mail:caobinalonzo@sina.com 通信作者: 朱述龙。E-mail:zhushulong668@sina.com

P237

A

0494-0911(2017)02-0040-05

猜你喜欢
改进型水深权值
书法静水深流
一种融合时间权值和用户行为序列的电影推荐模型
多波束海底地形水深注记抽稀软件对比
Cr5改进型支承辊探伤无底波原因分析
改进型自抗扰四旋翼无人机控制系统设计与实现
强规划的最小期望权值求解算法∗
程序属性的检测与程序属性的分类
趣图
一种基于单片机的改进型通信开关电源电路设计
基于权值动量的RBM加速学习算法研究