APP下载

基于BP神经网络的GNSS-R海面风速反演

2019-12-27高涵白照广范东栋

航空学报 2019年12期
关键词:海面时延反演

高涵,白照广,范东栋

航天东方红卫星有限公司,北京 100094

利用全球导航卫星反射(Global Navigation Satellite System Reflections,GNSS-R)信号技术进行遥感探测,是近年来海洋遥感中热门的技术手段。GNSS-R技术以导航卫星的L波段信号作为遥感探测量,利用导航信号的直射与反射信号反演风速、土壤湿度等地表参数。具有遥感精度高、不受天气环境影响、全天时全天候工作的特点。

利用GNSS反射信号对反射面物理特征参数进行反演的思想最早源于1993年。Martin-Neira 提出了利用海面反射的GPS信号进行测高的概念,称为“PAssive Reflectometry and Interferometry System(PARIS)”,指出利用多颗卫星的反射信号同时对多个散射点进行测量,可以实现高时间和高空间分辨率的观测[1]。Garrison等通过不同海况下的机载试验,验证了海面散射信号携带有海面粗糙度的相关信息[2-3],2000年,Zavorotny和Voronovich以双基雷达方程为基础,采用Kirchhoff近似几何光学方法建立了GNSS海面散射信号时延-多普勒二维功率模型[4-6],奠定了利用散射信号反演海面风场的理论基础。2013年,Rodriguez-Alvarez等基于机载试验结果,利用时延-多普勒相关功率波形(Delay-Doppler Mapping,DDM)观测量与风速关系的经验模型反演海面风速[7]。2014年,Clarizia等提出的基于最小方差的风速估计器反演方法,反演均方根误差为1.65 m/s[8]。Wang和Yang等利用神经网络校正获取风速反演均方根误差(RMSE)为1.95 m/s[9-11]。

人工智能的进化算法(Evolutionary Algorithm,EA)是20世纪80年代中期以来人们受自然规律启发,以生物进化的思想和原理为依据,在计算机上实现的具有进化机制的随机化计算模型,特别适用于变量间关系复杂、耦合度高难以直接数学描述的应用场景,智能算法有很多经典应用模式,在环境科学、遥感数据处理[12-13]海面风场反演和战场态势估计[14]中有着众多成功应用。

本文针对传统GNSS-R海面风速反演算法中因反演观测量利用不充分、输入参量冗余导致反演精度低和泛化程度不足的问题[15],提出了基于多观测量的BP神经网络海面风速反演方法,首先通过与风速的相关关系确定反演观测量,经过选择输入数据使反演算法具有高反演效能和多风速段泛化能力。然后将GNSS-R卫星高度角、散射系数等与海面风速相关的观测量作为样本输入神经网络,设定激励函数,根据试验结果调整网络节点权值,以风速的RMSE最小为标准,建立用于风速反演的最优前馈网络。最后利用训练好的网络预测海面风速。选取合适的观测量作为输入,可以有效提升反演精度,减少反馈误差,高效准确地反演海面风速。本文采用Tanh函数作为激励函数,具有高鲁棒性、快速收敛的特性[16]。采用Adam优化算法提高模型收敛速度[17-18]。试验证明采用神经网络可以有效地高精度反演海面风速。在20 m/s以内风速反演精度为1.21 m/s,在20~45 m/s的风速反演精度为2.54 m/s,与传统方法相比精度提升30%和37.1%。

1 GNSS-R风速反演特征量

本文研究利用GNSS-R信号反演海面风速。导航卫星反射信号的时延功率、GNSS-R卫星高度角等参量与风速存在对应关系,根据该对应关系由接收信号反推对应海面风速。地面获取的GNSS-R卫星数据包含大量观测量,以CYGNSS卫星为例,L1数据包含130个观测量。其中与风速反演相关的观测量有8个[19-21],分别为归一化双基雷达散射截面σ0、时延相关曲线前沿斜率(Leading Edge Slope,LES)、时延相关曲线后沿斜率(Trailing Edge Slope,TES)、镜面反射点位置、GNSS-R卫星高度角θ、散射面积(Scatter Area)、时延-多普勒相关功率均值、有效面积(Effective Area)。以上8个观测量均与海面风速直接或间接相关[22],下面详细介绍3个与风速相关的特征量,仿真参数设置如表1所示。

1) 归一化双基雷达散射截面

归一化双基雷达散射截面σ0是表征GNSS-R前向散射截面特性的特征量,一般来说σ0的值越大,表示海面的粗糙程度越小,即海表面风速越小,反之则风速越大,如图1所示。可以根据σ0反演海面风速[23-26]。

(1)

表1 GNSS-R观测特征量与风速关系仿真参数设置

图1 归一化双基雷达散射截面与风速关系
Fig.1 Correlation between cross-section of normalized double-base radar and wind speed

2) 时延相关曲线前沿斜率

时延相关曲线前沿斜率,表征了散射表面信号能量强度分布特性,LES越大表示海面散射信号强度越强,海面粗糙度越小,则风速越小。如图2所示K1和K2分别表示6 m/s和8 m/s的海面风速下时延相关曲线前沿斜率,K1>K2。

图2 不同风速下时延相关曲线LES差异
Fig.2 LES difference of delay correlation curves at different wind speeds

3) GNSS-R卫星高度角

如式(1)所示,观测量σ0是根据镜面反射点附近区域的相关功率及卫星与反射点空间几何关系推导的,而GNSS-R卫星高度角影响散射区域分布情况与空间分辨率,GNSS-R卫星高度角的变化对于信号功率峰值影响不大,主要影响的是时延,卫星高度角降低,下降沿斜率减小,海面散射区域面积增大,对应风速增大。如图3所示,卫星高度角θ=45°时的下降沿斜率小于θ=60°时的下降沿斜率。

GNSS-R海面风速反演使用大量反演观测量,迭代训练后获取模型参数,建立反演模型。每一个观测量都对最终的反演结果有影响,单独使用一个参数进行反演会造成结果的偏差。尤其在数据量较少的风速段,使用单一观测量的反演系统鲁棒性较差,本文筛选多个与风速相关的观测量作为输入,降低了单一观测量输入造成的反演误差。

图3 不同卫星高度角下时延相关功率曲线下降 沿斜率差异
Fig.3 Difference of slope along slope of delay-related power curves at different satellite elevation angles

2 海面风速反演网络模型

神经网络是在无先验知识条件下,仅通过对网络自身的迭代训练,获得输入与输出之间的映射关系。GNSS-R风速相关观测量较多、数据量较大,部分相关数据与风速对应关系不能通过准确的函数进行描述。本文建立以风速相关观测量为输入,风速为输出的海面风速反演网络模型。通过ECMWF提供的标准风速融合数据对应输入观测量对神经网络进行训练,得到海面风速反演神经网络,利用训练好的网络反演海面风速。

2.1 神经网络的建立

BP网络(Back-Propagation Network)又称反向传播神经网络,模拟人类神经元传递信息,通过样本数据的训练,反向传播预测值,与真实数据对比形成误差通过网络正向传递,不断修正网络的权值和阈值,使误差函数沿负梯度方向下降,逼近期望输出。网络分为3个层次,输入层、隐含层与输出层,其中输入层为一层,模型由GNSS-R各个观测量及真实风速作为输入;隐含层可以为单层或多层;输出为一层,即风速值。模型中的误差函数为

(2)

式中:Y为期望值(真值);f(Xi)为预测值;N为样本总数。学习的最终结果是令误差函数小于给定范围或不再下降。

2.2 激励函数选择

激励函数是在神经元中,输入量经过加权,求和后进入下级前输入的函数,激励函数给神经元引入了非线性的因素,使得神经网络可以逼近任意非线性函数。BP神经网络最常采用的激励函数是Sigmoid函数,用于隐藏层的输出,Sigmoid函数的表达式为f(x)=1/(1+e-x),可以将一个实数映射到(0,1)的范围内,但由于其范围只有正数,因此其梯度延伸方向只有第一和第三象限,训练时会出现Zigzag现象(锯齿形波动),导致模型训练效率降低。

为避免Zigzag现象,本文选择双曲正切函数Tanh,其表达式为f(x)=(ex-e-x)/(ex+e-x),与Sigmoid函数相比,Tanh输出区间在-1~1之间,可以避免Zigzag现象,且其收敛速度比Sigmoid快,可以解决收敛速度过慢的问题,Tanh函数在循环过程中,会不断扩大特征效果,在特征相差明显的时候具有更好的反演效果。

2.3 Adam优化算法

优化算法可以加快神经网络的收敛速度,获得更小的损失函数值,实现对模型的高效训练,传统的优化算法动量梯度下降(Momentum)和RMSProp算法容易陷入局部最优,Adam优化算法同时具有Momentum算法和RMSProp算法的优点。Adam通过计算梯度的一阶矩估计和二阶矩估计为不同的参数设计独立的自适应性学习率,可以基于训练数据迭代更新神经网络权重,当梯度在连续朝同一个方向更新时会增大权重变化量,当梯度更新方向变化时会减小权重变化量。因此可以有效避免网络陷入局部最优并加速网络收敛。

at=θft(ξ)

(3)

式中:at为网络中的任意参数ξ第t次迭代时的梯度值。

(4)

式中:lt为梯度的一阶力矩;st为梯度的二阶力矩;β1和β2为超参数,用于修正一阶和二阶力矩估计。修正公式为

(5)

式中:l′t和s′t为修正过的一阶和二阶力矩。参数更新公式为

(6)

式中:ε=10-8为平滑项;η为学习率。

3 观测数据处理

利用神经网络的进行反演是从大量不同的待训练数据中提取特征数据。网络本身无法对输入数据进行筛选和剔除,为满足模型的泛化能力和反演效率,需要对数据进行选择,避免由于输入数据冗余导致反演效率低下或泛化能力差,在输入前还需要消除量纲影响,对样本数据进行归一化处理。

3.1 数据选择

3.1.1 数据去冗余

在神经网络反演中输入变量的选取对预测结果精准度有很大影响。如果输入变量之间相关性过低则很难找到一个合适的模型来拟合数据,而训练数据观测项之间太过相似则容易使得模型陷入平坦、训练效率低下[27-28]。根据香农信息熵理论,如果随机变量取值为Xk(k∈R*)时,其概率为PXk,则Xk的信息熵定义为

YXk=-∑(PXklog2(PXk))

(7)

根据定义当系统输入变量相关性强时,信息熵较低,反演训练效率低。文中使用CYGNSS星载数据,单星每秒生成4组反演特征数据,单星平均空间分辨率为0.082°×0.082°,而同化数据对于同一观测区海面风速真实同化数据空间分辨率为0.25°×0.25°[29],CYGNSS数据中存在大量共反演点的数据,这些数据在神经网络反演过程中形成输入高相关性,是需要剔除的冗余数据。去冗余标准按照信噪比最大原则,即选择反演区域中信噪比最强的反演点观测量P作为输入数据

P=Max{DDM_SNR}SSP

(8)

式中:P为反演特征量;SSP为空间分辨率0.25°×0.25°的风速反演单位区域;DDM_SNR为在SSP内所有特征量值点的信噪比。

3.1.2 数据泛化采样

神经网络的输入样本质量对网络泛化能力有直接影响[30],本文用主动学习机制对数据进行选择采样,保证输入数据集的泛化能力。对输入数据集共864 000组观测量及与之对应的真实风速数据按风速段分类,如表2所示。

去冗余后总数据量为76 118组,以数据比例最低的风速高于20 m/s的数据作为采样标准,对该段风速进行全采样,对其他3个区间风速随机采样,使4个风速段数据量相同,保证网络的泛化能力。风速低于20 m/s时风速反演均方根误差为3个区间反演均方根误差的均值。

表2 数据采样列表Table 2 Data sampling list

3.2 数据归一化

数据归一化后能提高神经网络梯度下降的求解速度,并且消除量纲影响,本文采用离差标准化方法对归一化双基雷达散射截面、时延相关曲线前沿斜率、时延相关曲线后沿斜率等8个输入变量进行归一化处理,设第i个输入变量Pi={pi1,pi2,…,pin}(i=1,2,……,8),对第j个变量的离差标准化公式为

(9)

式中:max(Pi)为第i个输入变量的最大值;min(Pi)为第i个输入变量的最小值。

4 海面风速反演流程

基于BP神经网络的海面风速反演,步骤为:

步骤1筛选GNSS-R接收数据中与海面风速相关的观测量,以欧洲中尺度天气中心(ECMWF)的风速数据作为对应真实值,经过去冗余和数据泛化两个步骤建立输入观测量数据库,在数据库中分别选取一定数量的数据作为训练集和测试集,在训练集中选取部分数据作为验证数据。

步骤2确定网络层数与各层节点数,将训练集中的数据输入构建好的神经网络中,基于Adam优化算法调整网络权值,将输出风速与真值对比,计算反演精度,当精度或循环次数达到预设要求结束训练,得到风速反演的网络模型。

步骤3将验证集中的数据输入到训练好的网络中,计算反演精度,若精度达到模型预设要求,进入步骤4,否则返回步骤2。

步骤4将测试集中目标观测值输入到训练好的网络模型中,计算反演精度,评价反演效果。

步骤5输入未知风速区域GNSS-R观测量,利用训练好的模型反演该区域海面风速,验证算法鲁棒性。

5 实验分析

5.1 建立神经网络模型

根据反演需求,建立如图4的3层BP神经网络模型,图4中:X1,X2,……,X8为网络的输入观测量,f1,f2,……,fn均为激励函数。本文采用的数据集来源于CYGNSS-01星和ECMWF的小时级风速数据,为避免数据偶然误差,分别选取两段间隔7天的连续数据组成反演数据集,数据集信息见表3。

图4 神经网络拓扑结构
Fig.4 Neural network topology structure

表3 输入数据集信息Table 3 Information for inversion data set

数据集中包括归一化双基雷达散射截面、时延相关曲线前沿斜率、时延相关曲线后沿斜率、镜面反射点位置、GNSS-R卫星高度角、散射面积、时延-多普勒相关功率均值、有效面积和ECMWF海面风速共9维数据,各项数据比例相同,样本规模为864 000。经过去冗余筛选后得到76 118个数据,将数据打乱后,随机抽取其中80%作为训练集,20%作为测试集,抽取500组数据作为结果验证数据。网络迭代次数N=5 000,网络学习率η=0.003 5,超参数β1=0.9,β2=0.999。

5.2 网络结构选取

不同的神经网络结构会造成反演效果的差异,决定网络结构的主要因素是网络层数和各层网络节点数,本文采用3层的前馈神经网络,输入层维数由输入参数数量确定,待确定的是中间层网络节点数量,为使风速反演结果更加准确,利用ECMWF真实风速数据,将风速分为20 m/s以下的低风速段和20 m/s以上的高风速段,利用数据集中分出20%测试集数据,分别进行不同网络结构模型试验,如图5所示验证集中风速均方根误差,在网络隐含层节点数N=17时,高低风速段均获得最佳的反演效果,因此确定隐含层节点数为17。

图5 测试集反演风速和同比风速RMSE随隐含层 节点数目的变化
Fig.5 Variation of RMSE of test set inversion wind speed and year-on-year wind speed with number of hidden nodes

5.3 风速反演结果与模型鲁棒性验证

采用5.2节所示的神经网络结构,利用Adam优化算法进行网络学习训练,随机选取筛选后数据库中的数据,将其中的80%作为测试集,20%作为训练集,进行3次训练后,得到3次反演风速均方根误差如表4所示。3次反演网络输入样本数量相同,样本不同,3次反演风速误差结果接近,证明使用该神经网络模型进行风速反演具有鲁棒性。

表4 不同数据集模型风速反演结果列表

为进一步验证反演方法的鲁棒性,选取样本数据库以外的新数据集,经过步骤1中数据处理去冗余和泛化过程后形成验证数据集,如表5所示。

将验证数据集输入上文5.2节训练好的神经网络中,将神经网络反演模型反演结果与同比LES方法和时延多普勒相关功率均值(DDMA)方法[19-22]反演结果对比如图6所示。如图可以看出无论在≤20 m/s的低风速段还是>20 m/s的高风速段,利用神经网络反演风速结果均优于传统单观测量的反演方法LES方法和DDMA方法,两组验证结果如图6(a)和图6(b)所示。

表5 鲁棒性验证数据集Table 5 Robust verification data set

图6 神经网络反演风速结果与LES和DDMA方法 反演结果的RMSE对比图
Fig.6 RMSE comparison of neural network inversion wind speed results and LES and DDMA methods inversion results

6 结 论

1) 本文分析了GNSS-R观测量,采用神经网络算法解决了多个相关观测量输入条件下海面风速反演问题。

2) 设计了基于BP神经网络的海面风速反演模型,对输入数据进行去冗余与泛化采样处理,采用Tanh激活函数和Adam算法优化网络学习速度,并根据反演结果优化调整了网络结构,使得网络可以高效准确地反演海面风速。

3) 利用神经网络可以有效反演海面风速,通过与传统单输入量方法对比,证明该反演方法具有更高的反演精度和较好的鲁棒性。

猜你喜欢

海面时延反演
反演对称变换在解决平面几何问题中的应用
海面床,轻轻摇
第六章 邂逅“胖胖号”
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
基于低频软约束的叠前AVA稀疏层反演
基于自适应遗传算法的CSAMT一维反演
海面上的“一千座埃菲尔铁塔”
FRFT在水声信道时延频移联合估计中的应用