高涵,白照廣,范東棟
航天東方紅衛星有限公司,北京 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%。
本文研究利用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所示??梢愿鶕?反演海面風速[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
神經網絡是在無先驗知識條件下,僅通過對網絡自身的迭代訓練,獲得輸入與輸出之間的映射關系。GNSS-R風速相關觀測量較多、數據量較大,部分相關數據與風速對應關系不能通過準確的函數進行描述。本文建立以風速相關觀測量為輸入,風速為輸出的海面風速反演網絡模型。通過ECMWF提供的標準風速融合數據對應輸入觀測量對神經網絡進行訓練,得到海面風速反演神經網絡,利用訓練好的網絡反演海面風速。
BP網絡(Back-Propagation Network)又稱反向傳播神經網絡,模擬人類神經元傳遞信息,通過樣本數據的訓練,反向傳播預測值,與真實數據對比形成誤差通過網絡正向傳遞,不斷修正網絡的權值和閾值,使誤差函數沿負梯度方向下降,逼近期望輸出。網絡分為3個層次,輸入層、隱含層與輸出層,其中輸入層為一層,模型由GNSS-R各個觀測量及真實風速作為輸入;隱含層可以為單層或多層;輸出為一層,即風速值。模型中的誤差函數為
(2)
式中:Y為期望值(真值);f(Xi)為預測值;N為樣本總數。學習的最終結果是令誤差函數小于給定范圍或不再下降。
激勵函數是在神經元中,輸入量經過加權,求和后進入下級前輸入的函數,激勵函數給神經元引入了非線性的因素,使得神經網絡可以逼近任意非線性函數。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函數在循環過程中,會不斷擴大特征效果,在特征相差明顯的時候具有更好的反演效果。
優化算法可以加快神經網絡的收斂速度,獲得更小的損失函數值,實現對模型的高效訓練,傳統的優化算法動量梯度下降(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.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
數據歸一化后能提高神經網絡梯度下降的求解速度,并且消除量綱影響,本文采用離差標準化方法對歸一化雙基雷達散射截面、時延相關曲線前沿斜率、時延相關曲線后沿斜率等8個輸入變量進行歸一化處理,設第i個輸入變量Pi={pi1,pi2,…,pin}(i=1,2,……,8),對第j個變量的離差標準化公式為
(9)
式中:max(Pi)為第i個輸入變量的最大值;min(Pi)為第i個輸入變量的最小值。
基于BP神經網絡的海面風速反演,步驟為:
步驟1篩選GNSS-R接收數據中與海面風速相關的觀測量,以歐洲中尺度天氣中心(ECMWF)的風速數據作為對應真實值,經過去冗余和數據泛化兩個步驟建立輸入觀測量數據庫,在數據庫中分別選取一定數量的數據作為訓練集和測試集,在訓練集中選取部分數據作為驗證數據。
步驟2確定網絡層數與各層節點數,將訓練集中的數據輸入構建好的神經網絡中,基于Adam優化算法調整網絡權值,將輸出風速與真值對比,計算反演精度,當精度或循環次數達到預設要求結束訓練,得到風速反演的網絡模型。
步驟3將驗證集中的數據輸入到訓練好的網絡中,計算反演精度,若精度達到模型預設要求,進入步驟4,否則返回步驟2。
步驟4將測試集中目標觀測值輸入到訓練好的網絡模型中,計算反演精度,評價反演效果。
步驟5輸入未知風速區域GNSS-R觀測量,利用訓練好的模型反演該區域海面風速,驗證算法魯棒性。
根據反演需求,建立如圖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。
不同的神經網絡結構會造成反演效果的差異,決定網絡結構的主要因素是網絡層數和各層網絡節點數,本文采用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.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
1) 本文分析了GNSS-R觀測量,采用神經網絡算法解決了多個相關觀測量輸入條件下海面風速反演問題。
2) 設計了基于BP神經網絡的海面風速反演模型,對輸入數據進行去冗余與泛化采樣處理,采用Tanh激活函數和Adam算法優化網絡學習速度,并根據反演結果優化調整了網絡結構,使得網絡可以高效準確地反演海面風速。
3) 利用神經網絡可以有效反演海面風速,通過與傳統單輸入量方法對比,證明該反演方法具有更高的反演精度和較好的魯棒性。