王穎超柳青青李洪平趙 紅
(1.中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島266100;2.青島大學(xué) 商學(xué)院,山東 青島266100;3.中國(guó)海洋大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,山東 青島266100)
海表面鹽度(Sea Surface Salinity,SSS)在研究海洋循環(huán)、氣候變化和全球水循環(huán)中均發(fā)揮著不可取代的作用,因此研究SSS至關(guān)重要[1]。2009年,歐洲航天局發(fā)射了SMOS(Soil Moisture and Ocean Salinity)衛(wèi)星,該衛(wèi)星是一顆專門用來研究土壤濕度與海洋鹽度的衛(wèi)星[2-3];2011年,美國(guó)國(guó)家宇航局和阿根廷國(guó)家空間活動(dòng)委員會(huì)共同發(fā)射了Aquarius/SAC-D衛(wèi)星,為海表鹽度的進(jìn)一步研究提供了重要數(shù)據(jù)源[4-5]。但是,目前這些衛(wèi)星已經(jīng)達(dá)到使用年限。我國(guó)將計(jì)劃于2022年發(fā)射海表鹽度衛(wèi)星,為我國(guó)海表鹽度衛(wèi)星的研究提供新思路。
SMOS衛(wèi)星搭載的L波段微波輻射計(jì),能夠?qū)崿F(xiàn)對(duì)海表鹽度和土壤濕度的大范圍、全天候?qū)崟r(shí)觀測(cè)[6]。為了獲取高精度海表鹽度,學(xué)者們對(duì)其做了大量的研究和評(píng)估。例如:Kolodziejczyk等[7]提出了一種降低SMOS系統(tǒng)誤差的方法,通過調(diào)整駐留線和軌道方向之間的SSS相對(duì)變化,提高了海表鹽度的探測(cè)精度;而Boutin等[8]在2018年糾正了他的方法,其修正的靠近陸地的SMOS海表鹽度與SMAP測(cè)量的海表鹽度更加一致;金旭辰等[9]基于SMOS數(shù)據(jù),采用廣義相加模型和偏最小二乘法分析了水溫對(duì)海表鹽度的影響,在平均水溫約16℃時(shí)的SSS均方根誤差(Root Mean Square Error,RMSE)約為0.9,在平均水溫23℃時(shí)的RMSE約為0.7,在平均水溫30℃時(shí)的RMSE約為0.4;Boutin等[10]針對(duì)遠(yuǎn)離海岸的寬闊海域,將SMOS衛(wèi)星的升軌鹽度數(shù)據(jù)與ARGO浮標(biāo)鹽度數(shù)據(jù)進(jìn)行比較,結(jié)果表明,SMOS衛(wèi)星在寬闊海域的精度可以達(dá)到0.3~0.5;Yin等[11]通過修正正演模型,將風(fēng)場(chǎng)和降雨的影響最小化,從而提高鹽度的反演精度;Zhao等[12]利用多元線性回歸的方法來預(yù)測(cè)海表鹽度,其預(yù)測(cè)的鹽度值與WOA13的RMSE值為0.21,提高了海表鹽度的觀測(cè)精度。
機(jī)器學(xué)習(xí)相關(guān)算法的應(yīng)用領(lǐng)域越來越廣泛,神經(jīng)網(wǎng)絡(luò)、K-means算法和遺傳算法等也被引用于海表鹽度的反演模型中。BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)作為人工神經(jīng)網(wǎng)絡(luò)中的一種,其計(jì)算過程由正向和反向組成,通過不斷的迭代將誤差降為最低,其優(yōu)點(diǎn)較多,自適應(yīng)性、自組織性、良好的學(xué)習(xí)能力、良好的聯(lián)想能力、良好的容錯(cuò)能力和抗干擾能力。同時(shí),BP神經(jīng)網(wǎng)絡(luò)在理論和性能方面都已經(jīng)成熟,并具有很強(qiáng)的非線性映射能力。除此之外,其網(wǎng)絡(luò)結(jié)構(gòu)具有可調(diào)節(jié)性,可根據(jù)研究的實(shí)際情況對(duì)隱藏層的數(shù)量進(jìn)行調(diào)節(jié),以達(dá)到研究的預(yù)期目標(biāo)[13]。
本文綜合考慮海表面溫度、亮溫(包括水平和垂直兩個(gè)方向的數(shù)據(jù)值)、波高、主波長(zhǎng)、蒸發(fā)量和風(fēng)速等因素對(duì)海表鹽度的影響,采用BP神經(jīng)網(wǎng)絡(luò)方法建立了一種新型的海表鹽度預(yù)測(cè)模型。對(duì)比分析本模型計(jì)算所得的海表鹽度值(SSS0)和SMOS衛(wèi)星level 2(簡(jiǎn)稱L2)級(jí)的3個(gè)粗糙度模型鹽度產(chǎn)品(SSS1,SSS2,SSS3)與ARGO實(shí)測(cè)鹽度值(SSSARGO),以期為發(fā)射的海表鹽度衛(wèi)星提供技術(shù)儲(chǔ)備。
本文使用2種SMOS衛(wèi)星數(shù)據(jù),即L1C級(jí)別的亮度溫度數(shù)據(jù)和歐洲中期預(yù)報(bào)中心提供的輔助數(shù)據(jù)(ECMWF數(shù)據(jù)),選取2015年5月12—31日的南半球海域衛(wèi)星數(shù)據(jù),入射角選擇42°~43°。
ARGO浮標(biāo)采用一種沉浮式的自律式拉格朗日環(huán)流剖面觀測(cè)浮標(biāo),測(cè)量海水溫度、海水鹽度和海流參數(shù)等多種海洋數(shù)據(jù)。本文利用ARGO浮標(biāo)數(shù)據(jù)第一層(5 m)的鹽度值,為了與SMOS數(shù)據(jù)進(jìn)行時(shí)間與空間上的匹配,本文同樣也使用2015年5月南半球的海表鹽度數(shù)據(jù)。數(shù)據(jù)來源于網(wǎng)站http:∥www.ARGO.org.cn/。此數(shù)據(jù)為經(jīng)過國(guó)際上普遍認(rèn)可的對(duì)ARGO數(shù)據(jù)處理模式,處理后可直接應(yīng)用[14]。
對(duì)于SMOS L1C級(jí)數(shù)據(jù),需要通過SMOS衛(wèi)星L1C級(jí)數(shù)據(jù)反演至L2級(jí)鹽度數(shù)據(jù)所使用的數(shù)據(jù)處理軟件L2OS(L2 Ocean Salinity Operational Processor)進(jìn)行處理,輸出水滴密集度、主波長(zhǎng)和海表溫度等參數(shù)信息。軟件主要包括預(yù)處理程序、主程序、后置處理和正演模型四部分。其中,預(yù)處理程序主要用于反演前對(duì)亮溫?cái)?shù)據(jù)進(jìn)行異常值檢測(cè),去除受到射頻干擾、太陽(yáng)反輝區(qū)或者其他不明來源的外來污染的異常值,并且L1C級(jí)亮溫?cái)?shù)據(jù)的初始化工作也在預(yù)處理程序中進(jìn)行。首先,對(duì)于下載的Zip文件進(jìn)行解壓獲得“.DBL”和“.HDR”文件,該文件儲(chǔ)存了該條帶內(nèi)所有網(wǎng)格點(diǎn)的編號(hào)、經(jīng)緯度信息等;然后,修改軟件配置文件里涉及的數(shù)據(jù)版本信息并檢查數(shù)據(jù)的經(jīng)緯度,生成Job order配置文件,每組數(shù)據(jù)對(duì)應(yīng)一個(gè)配置文件;最后即生成OTT文件,并將OTT文件加入到L2OS中,輸出參數(shù)信息。為了節(jié)約程序運(yùn)行時(shí)間,只需對(duì)存在ARGO浮標(biāo)的SMOS網(wǎng)格進(jìn)行處理。此軟件源于歐空局SMOS衛(wèi)星官方網(wǎng)站https:∥smos.argans.co.uk/。
將SMOS衛(wèi)星L1C數(shù)據(jù)和ECMWF輔助數(shù)據(jù)與ARGO實(shí)測(cè)數(shù)據(jù)進(jìn)行時(shí)間和空間上的匹配,并去除NAN無效數(shù)據(jù)。時(shí)間上,匹配的最大時(shí)間間隔為1天;空間上,按照SMOS數(shù)據(jù)的網(wǎng)格點(diǎn)進(jìn)行匹配。除此之外,對(duì)同一入射角對(duì)應(yīng)的不同亮溫值進(jìn)行求平均值處理,而對(duì)相同的天、小時(shí)、網(wǎng)格點(diǎn)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。隨后,按照同樣的匹配原則將其L2級(jí)數(shù)據(jù)進(jìn)行匹配。在2015年5月12—18日時(shí)間范圍內(nèi),共匹配有效數(shù)據(jù)1021組,并將此數(shù)據(jù)集作為本次研究的建模數(shù)據(jù);在2015年5月19—31日時(shí)間范圍內(nèi),共匹配有效數(shù)據(jù)2055組,將此數(shù)據(jù)集作為新模型的驗(yàn)證數(shù)據(jù)集。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種,該網(wǎng)絡(luò)模型主要包括三部分:輸入層、隱藏層和輸出層。在建模過程中,為了提高精度可以設(shè)置多個(gè)隱藏層并給其設(shè)定傳遞函數(shù)。BP神經(jīng)網(wǎng)絡(luò)包括2個(gè)方向的傳播,先是信號(hào)的正向傳播(圖1a),信號(hào)到達(dá)輸出層后,若網(wǎng)絡(luò)輸出值與期望值有偏差,則計(jì)算損失函數(shù)并進(jìn)行誤差信號(hào)的反向傳播(圖1b)。由于層與層之間通過權(quán)重和偏置來連接,因此反向傳播是通過不斷地迭代來調(diào)整每一層各個(gè)神經(jīng)單元的權(quán)重系數(shù)和偏置值,從而使得損失函數(shù)最小,直到達(dá)到所限定的迭代次數(shù)或者規(guī)定的誤差為止。
圖1 BP神經(jīng)網(wǎng)絡(luò)組成及原理Fig.1 Composition and schematic of BP neural network
BP神經(jīng)網(wǎng)絡(luò)的計(jì)算公式:
利用匹配的1021組數(shù)據(jù)進(jìn)行建模,由于不同參數(shù)的數(shù)值有很大差異,所以為了避免大數(shù)據(jù)淹沒小數(shù)據(jù)的情況發(fā)生,利用mapminmax對(duì)數(shù)據(jù)進(jìn)行歸一化處理。經(jīng)過不斷的試驗(yàn),最終選定了隱藏層為5層,且確定正向傳播時(shí)每一層的神經(jīng)元節(jié)點(diǎn)數(shù)分別為9,5,5,4和3,對(duì)應(yīng)的每一隱藏層的傳遞函數(shù)分別為tansig,tansig,tansig,tansig和purelin,訓(xùn)練函數(shù)選擇trainrp函數(shù)。除此之外,我們將模型的最大訓(xùn)練次數(shù)設(shè)為1000次,目標(biāo)精度設(shè)為0.00001,學(xué)習(xí)率為0.00001。該模型訓(xùn)練1021組數(shù)據(jù)用時(shí)4 s,迭代602次,利用該模型得到的權(quán)值和偏置矩陣如表1所示。
表1 模型輸出的各層權(quán)值和偏置Table 1 Weight and offset of the model output
利用匹配的2055組數(shù)據(jù)作為模型的驗(yàn)證數(shù)據(jù)集,并按照與本文中模型建立相同的數(shù)據(jù)處理方法對(duì)驗(yàn)證數(shù)據(jù)集進(jìn)行處理。利用式(1)、式(2)及表1中模型輸出的權(quán)值和偏置矩陣進(jìn)行計(jì)算。可得南半球海表鹽度(SSS0)和SSS3以及ARGO的鹽度值SSSARGO,將其對(duì)比(圖2)(隨機(jī)抽取1000組數(shù)據(jù)展示),結(jié)果表明,SSS0與ARGO實(shí)測(cè)值更為接近,精度更高。
在模型驗(yàn)證部分,本文分別計(jì)算了SMOS的3個(gè)粗糙度模型鹽度產(chǎn)品(SSS1,SSS2,SSS3)和本模型(SSS0)與ARGO實(shí)測(cè)鹽度值SSSARGO的誤差,結(jié)果表明,SSS1,SSS2,SSS3與SSSARGO的誤差值在[-1,1]的數(shù)據(jù)分別占總數(shù)的47%,49%和49%;SSS0與SSSARGO的誤差值在[-1,1]的數(shù)據(jù)約占總數(shù)的80%;由此可知,本模型極大提高了海表鹽度的預(yù)測(cè)精度。進(jìn)一步計(jì)算了SSS0,SSS1,SSS2,SSS3與SSSARGO的均方根誤差(RMSE)和平均絕對(duì)誤差(Mean Absolute Error,MAE),如表2所示,結(jié)果表明:SSS0與SSSARGO的RMSE和MAE都遠(yuǎn)小于其他3個(gè)鹽度產(chǎn)品。
圖2 ARGO實(shí)測(cè)鹽度數(shù)據(jù)與SSS0,SSS3的對(duì)比Fig.2 Comparison between SSS0,SSS3 and SSSARGO
表2 SSS0,SSS1,SSS2,SSS3與ARGO實(shí)測(cè)鹽度值(SSSARGO)的誤差Table 2 The error of SSS0,SSS1,SSS2,SSS3 and ARGO(SSSARGO)measured salinity value
圖3 SSS0,SSS1,SSS2,SSS3與SSSARGO的誤差對(duì)比Fig.3 Comparison of errors between SSS0,SSS1,SSS2,SSS3 and SSSARGO
由于SMOS的3個(gè)粗糙度模型得出的鹽度值極為相似,因此將SSS3作為SMOS粗糙度模型的代表鹽度值。本文分別計(jì)算了SSS0,SSS1,SSS2,SSS3與SSSARGO的誤差值。隨機(jī)抽取驗(yàn)證數(shù)據(jù)中的1000組數(shù)據(jù)進(jìn)行分析,可見SSS1,SSS2,SSS3與ARGO浮標(biāo)鹽度值之間誤差較大,其誤差分布范圍較廣,而SSS0與SSSARGO誤差值卻集中分布在0附近,這表明二者之間誤差較小(圖3);分析SSS0,SSS3與SSSARGO的誤差,可得其空間分布結(jié)果(圖4),選取太平洋中部(20°×20°)海域;統(tǒng)計(jì)SSS0,SSS3與SSSARGO的誤差(圖5)可知,SSS0與SSSARGO的誤差值多集中在0附近,而SSS3與SSSARGO的誤差值分布較廣,該結(jié)果表明SSS0與SSSARGO誤差最小。
圖4 SSS0,SSS3與SSSARGO的誤差空間分布Fig.4 The spatial distribution of the error between SSS0,SSS3 and SSSARGO
圖5 SSS0,SSS3與SSSARGO的誤差分布Fig.5 The distribution of the error between SSS0,SSS3 and SSSARGO
海表鹽度在研究海洋循環(huán)、氣候變化和全球水循環(huán)中都起著不可取代的作用,由于海表鹽度觀測(cè)受諸多因素的干擾且數(shù)據(jù)處理過程較為繁瑣,難以得到十分精確的數(shù)據(jù)結(jié)果,因此提高海表鹽度的預(yù)測(cè)精度尤為關(guān)鍵。本文通過BP神經(jīng)網(wǎng)絡(luò)的方法對(duì)海表鹽度進(jìn)行建模,得到了一個(gè)全新的海表面鹽度預(yù)測(cè)模型。本模型與SMOS的3個(gè)粗糙度模型鹽度產(chǎn)品相較,精度更高。
在未來的研究中,我們將繼續(xù)嘗試機(jī)器學(xué)習(xí)的其他方法來建立預(yù)測(cè)模型,爭(zhēng)取建立一個(gè)精度更高的海表鹽度預(yù)測(cè)模型,為我國(guó)2022年即將發(fā)射的海表鹽度衛(wèi)星做貢獻(xiàn)。