?

深度學習水文預報研究進展綜述Ⅰ
——常用模型與建模方法

2022-11-11 01:33歐陽文宇葉磊王夢云孟子文張弛
南水北調與水利科技 2022年4期
關鍵詞:卷積水文神經網絡

歐陽文宇,葉磊,王夢云,孟子文,張弛

(大連理工大學水利工程學院,遼寧 大連 116024)

水文預報是水文學者尋求水文現象時空變化特征及規律、揭示水文現象形成機理的重要手段,也是水旱災害防御、水資源綜合利用等經濟社會發展所必需的重要技術[1]。自20世紀中葉以來,隨著電子計算機的發明和快速發展,通過計算機模擬水文現象形成和變化的“仿真范式”成為水文領域常用科學研究范式,人們在流域以及更大尺度上利用水文模型開展水文預報成為可能[2-3]。然而,任何水文模型只是流域水文形成機理的近似,水文過程受氣象、流域下墊面、人類活動等多重因素的綜合作用,是最復雜的自然現象之一,流域水文模型無法完全反映水文過程形成機理和變化規律。因此,完全依賴基于現有物理定律和數學方程的水文模型,難以準確認識和預報復雜的水文現象[4]。

近數十年來,隨著衛星、航空遙感、雷達等觀測手段的不斷進步,包括水文在內的地球系統科學領域積累了大量數據[5]。這些密集觀測數據本質上是自然現象形成機理和時空變化規律的微分方程在一定初始條件和邊界條件約束下的解[6],其中必然隱藏著自然現象形成機理和時空變化規律。因此,對于復雜的水文現象,若從觀測數據入手,采用逆向思維方式由果及因地分析水文問題,構建基于密集觀測數據的“數據水文學”研究范式[2],則可望突破目前流域水文模型僅憑少量觀測數據和固有模式進行預報的制約,從而揭示更全面的水文過程形成機理和時空變化規律,成為推動水文學發展的重要驅動力。

深度學習正是這樣一類研究如何從大量數據中發現規律、提取知識的領域。深度學習核心是讓計算機自動學習各類算法,對大量樣本數據進行分析并尋求規律,從而對未知數據進行預測。這一過程與水文預報通過分析歷史水文數據獲取規律,并在其基礎上概化模型預測水文過程高度一致,因此深度學習在水文領域獲得廣泛關注[7]。本文主標題命名為“深度學習水文預報研究進展綜述”,旨在表明深度學習與水文預報的有機結合,而不僅局限于深度學習在水文預報中的簡單應用。本文主要面向水文領域研究人員,系統地介紹深度學習水文預報中常見深度學習模型的原理與結構,深度學習水文預報模型一般構建方法以及深度學習與水文物理機制的整合方式。

1 深度學習常見模型簡介

深度學習專指深度神經網絡,是一類將簡單的非線性運算模塊通過多層次網絡結構聯結以學習復雜關系的表征學習方法,屬于機器學習子領域[8]。其多層次網絡一般指“深層”網絡結構,但關于“深層”網絡并沒有明確的定義,通常是指依賴大量數據,有多層、多神經元的神經網絡?!吧顚印本W絡各層次模塊能將其輸入轉化為更高抽象層次的特征,放大輸入中對輸出變化重要的因素,并抑制不相關的變化,實現特征的自動提取,而“淺層”網絡和一般機器學習算法則需要專家經驗和工程技巧設計特征提取器,這也是近年來深度學習模型相比于淺層網絡等算法應用更廣泛的原因之一。深度學習范式多樣、模型種類眾多,背后涉及的數學和計算理論對水文學科研究者來說極富挑戰[9],因此,本節簡要介紹水文預報中常用的深度學習模型結構,為水文研究者了解和掌握適合于水文預報的深度學習模型提供幫助。

1.1 深度前饋網絡

最基礎的深度神經網絡結構是深度前饋網絡,即前饋神經網絡或多層感知機(multilayer perceptron,MLP)[10],它包括輸入層、隱含層和輸出層,每一層神經元和其前后層所有神經元都有連接(即全連接),通過權值表達各神經元的連接強度。前饋的含義是指,信號在神經網絡是單向流動,信號從前一層流向后一層沒有反饋。對每個非輸入層的神經元,計算其上一層所有神經元的帶偏置的線性加權總和,并通過非線性激活函數得到激活值,作為該神經元輸出。常用激活函數包括Sigmoid函數、雙曲正切函數(tanh)、線性整流函數(rectified linear unit,ReLU)等。

為完成目標變量的預測任務,需要使用樣本數據訓練MLP。首先將樣本數據輸入MLP完成前饋計算得到模型輸出,然后通過損失函數衡量其與目標輸出之間的距離,即損失值,再由MLP調整其網絡權值來減小損失值。模型學習或者訓練就是優化權值使所有樣本總體損失最小。最基礎的模型訓練算法是梯度下降法,梯度下降法首先計算損失值相對于各權值的梯度,然后從當前權值出發沿負梯度方向變化更新權值。由于權值的梯度計算及更新均由輸出層反向逐層傳至輸入層,該算法也稱反向傳播算法。前饋計算和反向傳播算法是包括MLP在內的各類神經網絡的基本運算模式。

MLP很早就應用于水文領域,在降雨、蒸散發、水位、徑流等各類水文變量預測方面都有廣泛應用[11-12]。但MLP的輸入是一系列互相之間沒有連接的神經元在面臨復雜高維輸入時必須將數據展開到低維,破壞了高維輸入結構關系,導致MLP模型難以學習復雜數據模式。因此,目前大多數深度學習并不直接使用MLP作為建模工具,而是將其以基礎模塊的形式嵌入到其他深度學習網絡結構中。

1.2 卷積神經網絡

卷積神經網絡(convolutional neural network,CNN)是一類使用卷積運算代替全連接矩陣乘法的神經網絡[13],是深度學習的代表模型之一。CNN由輸入層、卷積層、池化層、全連接層及輸出層構成,模型結構見圖1。在卷積層中,輸入數據與卷積核執行卷積運算并通過非線性激活函數得到輸出特征圖。特征圖的每個單元都通過卷積核和上一層輸入的局部單元塊建立連接,不同的卷積核生成不同的特征圖。特征圖一般會進一步通過稱為池化的降采樣運算,以合并卷積層檢測的相似局部特征,降低數據量。經過若干層的卷積、池化后,將得到的特征圖依次展開連接成向量,輸入全連接網絡,最終構成完整卷積網絡。

圖1 卷積神經網絡結構Fig.1 The structure diagram of convolutional neural network

通過這種結構設計,CNN克服了MLP難以處理高維復雜時空模式數據的缺點。一方面,CNN待訓練參數是卷積核的各元素值,其數量通常遠小于輸入數據,相比于MLP的全連接矩陣權值,CNN需訓練參數減少,降低了網絡模型復雜度,使得模型更容易訓練。另一方面,每個卷積核單次運算針對的是輸入數據的局部元素,通過多卷積核的卷積運算以及層層抽象,CNN能獲取到一系列輸入數據時空維度局部特征,最后再經過全連接層匯總,從而有效地挖掘高維數據的時空模式[14]。

在水文預報研究中,CNN常應用于涉及圖像等多維數據的復雜建模問題[15-16]。典型地,遙感圖像中水文信息的提取可以使用卷積神經網絡來實現,比如識別極端氣象模式[17];圖像超分辨率處理則可以用于水文網格數據降尺度分析,比如提升降雨數據空間分辨率[18];在水文變量預測中,如果將水文網格數據視為圖像,能利用卷積神經網絡實現預報影響要素空間特征的捕捉提?。?9]。CNN還可用于時間序列建模問題,比如降雨徑流建模中,將時間作為降雨等輸入數據維度之一,可以利用CNN提取時間序列特征用于構建降雨徑流相關關系[20]。

1.3 循環神經網絡

循環神經網絡(recurrent neural network,RNN)是一類通過隱含層循環連接實現網絡動態記憶能力,從而表達時間等序列變化的神經網絡[21],也是深度學習的代表模型之一。RNN同樣包含輸入層、隱含層、輸出層。RNN每時段完成一次前向計算,其中t時段隱含層輸出h t不僅取決于t時段隱含層輸入x t,也和t-1時段的隱含層輸出ht-1有關(圖2),而ht-1的計算又需要ht-2,以此類推,RNN中某一時段的狀態對過去的所有狀態都存在依賴,所以可以將RNN看作所有時段共享權值的神經網絡。RNN能夠構建序列數據之間的映射,但是輸出序列的長度并不要求與輸入序列一致,根據不同需求,可以有一對多、多對一、多對多等多種對應關系[22]。

RNN能用于建模動態系統,但反向傳播計算中梯度的連乘效應會導致梯度消失和爆炸問題,使得其無法處理很長的輸入序列[23],例如當激活函數是Sigmoid函數時,其導數小于1,多個小于1的導數連乘就會導致梯度消失。為解決這一問題,Hochreiter等[24]引入了長短期記憶(long short-term memory,LSTM)神經網絡模型。LSTM建立了稱為“門”的內部處理單元作為記憶模塊來實現序列信息的有效存儲和更新。每個門通過單個Sigmoid激活函數非線性網絡層來實現信息的選擇性通過,門輸出表示信息通過的權重,其輸出范圍為0到1區間,其中,0表示遺忘所有信息,1表示記憶所有信息。LSTM有單元狀態和隱含狀態兩個傳輸狀態,單元狀態隨時間緩慢改變,而不同時刻的隱含輸出可能會很不同[25]。如圖2所示,LSTM借助遺忘門f t、輸入門it和輸出門o t實現對上一時段單元狀態c t-1、隱含層輸出ht-1和本時段輸入x t的記憶和遺忘,其中,f t實現了對c t-1的控制,it確定了獲取多少來自ht-1和xt的輸入信息,兩者的輸出結合決定了如何更新單元狀態得到ct,最后經ot得到輸出。

圖2 循環神經網絡隱含層結構與長短記憶神經網絡循環單元Fig.2 The illustration of hidden layer in recurrent neural network and the unit of long short-term memory neural network

水文預報是典型的時間序列預測問題,且一些變量之間存在較長時期的依賴關系,比如流域退水過程、積雪對徑流的影響等,而LSTM能處理序列內單元之間彼此有復雜關聯的任務,因此在水文領域受到了廣泛關注[26-27]。常見的應用包括降水預報、徑流預報、洪水預報、土壤含水量時空分布預測、地下水位及流量模擬、水庫水位出流預測、水質分析預測等多方面[28]。此外,將多時刻的水文網格數據連接在一起可構成視頻信息,結合CNN和LSTM能構建提取復雜時空特征的深度神經網絡用于水文預報[29]。

1.4 其他深度學習常見范式及模型

通過對大量有標簽的樣本進行學習的方式屬于監督學習范式,而無資料地區往往沒有標簽數據,因此在監督學習范式下難以直接使用上述深度學習模型。如何利用少量標簽或無標簽樣本數據建立可靠模型,對目標變量進行預測正是遷移學習研究關注的問題。遷移學習是運用已存有的知識(源領域)對不同但相關領域(目標領域)問題進行求解的一種機器學習方式[30],將深度學習模型用于遷移學習又被稱作深度遷移學習。最簡單的深度遷移學習方法是深度網絡的預訓練——微調[31],即將已訓練深度學習模型的參數直接遷移至目標領域,再根據目標領域樣本微調神經網絡參數,從而優化模型學習效率避免從零學習。類似地,在水文預報中,區域化方法也能將有資料流域的水文模型參數移植至無資料流域[32]。區域化常見的做法是在有資料流域率定水文模型參數,然后擬合流域屬性與水文模型參數間的關系從而用于無資料流域[33]。將深度遷移學習用于區域化方法研究,基于大數據樣本能構建更準確表達水文共性特征的源領域模型,再通過微調等遷移學習方式使模型更有效學習目標領域任務,有望獲得更好的無資料流域預報性能[34]。

與監督學習以及遷移學習不同,非監督學習沒有待預測的目標變量,它通過提取無標簽數據特征挖掘數據背后潛在模式,以尋找可描述數據的模型和規律[10]。盡管不直接針對待預測目標變量建模,但利用非監督學習進行數據降維和特征提取能消除變量中的不重要因素,保留其中關鍵信息,在此基礎上再與監督學習模型結合能更有效實現預報目標。傳統機器學習算法常與主成分分析結合用于水文預報,通過主成分分析進行數據降維和特征提取從而提高預報精度[35]。深度網絡結構有更強的自學習能力,更適合于處理含高維復雜時空輸入數據的預報任務。堆疊自編碼器(stacked auto-encoder,SAE)是一類常見的非監督學習深度神經網絡。SAE基于自編碼器,利用相同神經元個數的輸入層和輸出層以及更少神經元的隱含層的特殊結構來迫使神經網絡在減少特征的前提下在輸出中復現輸入,從而實現信息壓縮[36]。比如在洪水淹沒預測中,編碼提取淹沒圖特征后,再以該特征為輸出,以降雨等驅動因子為輸入,構建循環神經網絡用于預報特征,再對特征解碼可得到預報淹沒圖[37]。

2 深度學習水文預報模型構建方法

數據驅動模式研究思路下,研究人員首先收集整理數據,然后建立模型和訓練,在此基礎上測試評估模型,并運用解釋方法從中提取符合數據規律和易于理解的假說,再基于合理假說進一步收集數據建立模型評估,重復此過程直到模型精度達到預期[38]。因此,深度學習模型構建通常包括數據收集處理、模型構建和訓練、模型測試與解釋等環節。近些年,水文氣象數據監測的高速發展使得降雨徑流建模方面的研究成果比較突出,因此本節以該問題為例,討論深度學習用于水文預報的一般建模方法。

2.1 數據收集處理

模型構建的第一步是針對目標系統的輸入輸出收集整理數據。在降雨徑流預報研究中,大樣本水文研究(large-sample hydrology)[39]為深度學習奠定了較好的數據基礎。大樣本水文研究涉及的流域眾多且包含了廣泛的水文條件,因此能夠提供可靠的結論避免偶然結果。大樣本水文數據集正在快速發展,比如美國“大樣本研究的流域屬性和氣象數據集(catchment attributes and meteorology for largesample studies,CAMELS)”已經成為眾多水文研究的基 礎 數 據[7,40],衍 生 的CAMELS-智 利、CAMELS-巴西、CAMELS-英國、CAMELS-澳大利亞等也在擴充這一集合[41-44]。這些數據集包括降雨、徑流、地表氣溫等重要水文氣象時間序列,多年平均降雨量、流域土地利用類型及所占面積比例等水文氣候和地理環境屬性。在降雨徑流建模中,通常以徑流作為模型輸出、其他變量作為模型輸入。

模型訓練前通常需要對數據進行前處理。為了評估模型在現有樣本外數據上的預測性能,即泛化能力,需要將數據分為訓練集和測試集,依托訓練集完成模型訓練,并在測試集上測試模型性能作為對模型泛化能力的估計。模型除了可訓練參數外,通常還具有一系列需要人工設定的參數,即超參數,比如神經網絡層數、每層神經元個數等。因此,還需從訓練集中劃分出一部分作為驗證集評價模型訓練效果,從而進行超參數比選,防止直接使用測試集選擇超參數而造成信息泄露,影響對模型泛化能力的估計。針對輸入輸出數據,一般還需進行歸一化處理使訓練過程中梯度下降算法能更好地收斂[10]。

2.2 模型構建和訓練

數據收集處理后,根據水文過程記憶性特點,可選擇能挖掘序列中數據間關系特點的神經網絡建模,常用的如CNN或LSTM等。水文預報對精度和預見期都有要求,因此通常需要建立多時段輸出模型以延長預見期,比如多對多模式的LSTM[45]。當輸入輸出變量時段長度不一致時,比如輸入中含有歷史觀測徑流,輸出目標為多時段未來徑流,還可應用編碼解碼結構類的模型[46],將輸入序列編碼到上下文向量后再傳遞給解碼器以轉換為時序輸出以靈活處理不同時段長度的輸入輸出。

建模后即可開始訓練模型,深度學習模型訓練樣本較多,通常不會直接對所有樣本一次性執行梯度下降運算,而是將樣本分成一系列小批次(minibatch),并使用隨機梯度下降算法或進一步改進的Adam、Adelta等算法[47-48]完成各小批次的梯度下降計算。一次遍歷所有小批次的訓練過程稱為代(epoch),訓練通常會執行多代。小批次數和代數等也是神經網絡訓練中的超參數,最簡單的超參數優化方式是網格搜索法,即手動設置多組可行的超參數組合,并從中選擇驗證集損失最小的,其他自動優化方法包括隨機搜索、貝葉斯優化等[49]。

訓練中,通常會使用正則化(regularization)方法防止模型過擬合[50]。模型過擬合是指訓練中不區別對待數據中的噪聲和正常數據,導致模型過度擬合訓練集數據輸入輸出關系。此時雖然模型能在訓練數據上獲得低偏差性能,但同時會有高方差缺點,即性能不穩定、泛化能力弱。常見正則化方法包括范數正則化、Dropout等。范數正則化在模型損失函數中增加包含模型參數權值范數的懲罰項,比如L2范數正則化對應權值平方項,梯度下降更新權值時會減去帶系數的權值項,即權值衰減。Goodfellow等[10]指出經過權值衰減,學習算法能收縮增加預測方差特征的權重,從而減小模型預測方差,有效防止過擬合。Dropout會在訓練時直接將部分神經元的激活值或者連接權值設置為0,神經元置0的概率稱為Dropout率。使用Dropout方法時,由于輸入中每項都可能在訓練期消失,因此最終輸出不能只依賴一兩個輸入,而須分散其權重并關注所有輸入,從而使神經網絡對輸入變化不過分敏感來獲取更好的泛化能力。除了模型訓練過程外,Gal等[51]還指出,在訓練后的神經網絡中應用Dropout預測時,可將丟棄不同神經元的網絡視為來自所有可用模型空間的蒙特卡羅樣本,這一過程被稱為蒙特卡羅Dropout,能為水文預報中的不確定性量化等研究提供有力工具[52]。

神經網絡訓練多采用集成(ensemble)學習的方式。神經網絡模型訓練后可能陷入局部最優,所以不同的初始化權重會得到不同性能模型,如果僅訓練一組權重,預測時可能得到不良結果。集成學習能結合來自多個神經網絡模型的預測,以減少預測方差,提升模型性能[53]。目前最簡單常用的集成訓練方式之一是在同一數據集上訓練具有相同網絡結構和不同初始隨機權重的網絡集合,然后使用每個模型進行預測,最后取預測的平均值作為實際預測結果。

2.3 模型測試與解釋

模型訓練完畢后就可用于推斷,即在新樣本數據輸入條件下進行預測。訓練后的模型不再執行梯度下降運算,因此深度學習能很快完成預測,有極高的預測效率。衡量模型泛化能力就是評價模型在測試集上的預測結果。通常用擬合度和誤差等統計指標進行評價,常用指標包括平均絕對誤差、均方根誤差、相對偏差、Nash-Sutcliffe效率系數、Kling-Gupta效率系數、峰值徑流相對偏差及低流量相對偏差等[54-55],通常綜合使用它們以判斷模型性能。

除了模型測試外,對于模型內部工作機制的理解也是評價模型的關鍵,此過程能幫助進一步了解水文規律,增強模型使用者對于深度神經網絡的信任。深度學習模型解釋方法有很多且有不同的分類體系[56],目前在水文預報相關研究中結果反推類的方法使用較多,比如層次相關傳播(layer-wise relevance propagation,LRP)、SHapley Additive exPlanation(SHAP)、置換特征重要性(permutation feature importance,PFI)等[57-59];通過構建簡潔模型來幫助理解復雜深度學習模型也是一種常見方法,比如local interpretable model-agnostic explanations(LIME)[60]。此外,可視化網絡神經元激活值或聯結權值等也是理解深度學習內部運行規律的有效手段,比如對CNN卷積核及生成特征圖的可視化分析[61]。

3 深度學習與物理機制的整合方法

深度學習已經被廣泛應用于各學科,尤其在水文這類過程仍未被完全理解的領域,它展示了從數據挖掘角度認識物理過程規律的潛力,但仍面臨一系列挑戰:深度學習需要在大量數據條件下學習訓練,在水文領域,大量流域屬于無資料或者缺資料地區;隨著氣候變化和人類活動等影響,水文規律非平穩性也使得現有數據條件下的數據驅動模型不能具備良好的外延性,即泛化能力;良好的預報不僅包括性能上的優越,模型能否符合一般物理規律,能否具備良好的可解釋性,以及能否有助于科學知識發現等都是水文研究者關心的問題?;谖锢頇C制的模型通常具有較好的解釋性和物理一致性,對數據的依賴程度相對較低,能起到與深度學習模型互補的效果,因此,近年來物理機制與數據驅動模型融合的新范式受到了廣泛的重視,并顯示出了推動科學問題研究的潛力[62],在水文預報中也有望通過整合現存大量基于物理機制的水文模型與深度學習模型來推動相關研究進展。本節將物理機制與深度學習模型整合的方法分為物理機制模型中融入深度學習和物理機制指導的深度學習兩大類展開介紹。

3.1 物理機制模型中融入深度學習

3.1.1 替代物理機制模型中間過程

復雜水文過程的物理機制建模中,部分子模塊采用基于人為經驗或簡化的概念性公式,制約了模型精度。因此,可以考慮分解物理過程,針對性能較差的子模塊,構建深度學習模型并予以替代,作為原模型的一部分,由此來結合深度學習直接從數據挖掘變量關系與物理機制模型物理一致性強的優點。替代的神經網絡模型可在訓練后耦合到物理機制模型中(離線模式),也可先與物理機制模型耦合再整體訓練(在線模式)。離線模式下神經網絡模型已訓練后,運行時只需實現神經網絡的前饋計算;在線模式下則需在深度學習框架下重寫物理機制模型以實現自動微分,從而順利完成深度神經網絡和物理機制整合后模型的參數訓練。值得注意的是,自動微分是一類用于自動計算函數導數的計算機程序技術[63]。在自動微分實現之前,需手動推導目標函數對自變量的導數計算公式,然后再編程實現,這給復雜的神經網絡具體實現帶來了很大困難;而自動微分將函數計算處理為導數表達式已知的基本運算組成的運算軌跡,然后依據鏈式法則即可完成梯度計算。

除了使用神經網絡替代物理過程子模塊外,利用神經網絡學習模型參數也是一種耦合方式,稱為參數學習[64]。在該方式下,首先構建神經網絡模型挖掘輸入數據和物理機制模型參數的關系,再利用學習到的模型參數進行計算,從而構建參數率定和模型計算一體的物理機制模型。參數學習必須以在線模式實現,因此必須在深度學習框架下重寫物理機制模型。相比于傳統的參數率定方式,借助深度學習梯度下降算法的并行實現,參數學習易擴展為并行計算,計算效率更優。另一方面,參數學習合并了輸入與模型參數間映射關系構建和參數率定過程,能直接作為一種區域化方法。相比于傳統參數區域化方法,基于大量流域和深度學習構建的模型參數空間可能具備更好的普適性,結合遷移學習更有潛力應用于無資料流域的水文預報。

3.1.2 學習物理機制模型預報誤差

使用深度學習模型學習物理機制模型預報誤差規律來改善預報能力,是物理機制與深度學習整合中較早出現的方式。流域水文模型發展多年,處于現有理論技術條件下的相對成熟階段,誤差校正是提高現有水文模型精度的有效方式[65]。目前誤差校正方法大多基于誤差自身統計規律進行修正,然而由于模型預報誤差源自模型輸入、結構、參數等多方面,規律十分復雜,企圖通過誤差數據自身分析找到規律,并進行校正的想法難以實現,需要探究誤差產生的背后機制,通過有效考慮誤差產生因素的時空動態信息,才能達到較好的誤差校正效果。深度學習能有效考慮各類相關信息以幫助識別、理解誤差模式及其產生的背后機制,從而幫助模型校正,并指導模型乃至理論的改進[19]。深度學習誤差校正通常以物理機制模型預報誤差作為模型訓練目標,以影響誤差的各類時空動態信息為輸入構建神經網絡模型,在學習誤差規律后可在預測階段用于對預報結果的校正。

3.2 物理機制指導的深度學習

3.2.1 指導深度學習模型損失函數設計

水文預報涉及多維時空變量及其相互間復雜關系,在數據受限的情況下直接利用標準深度學習模型可能無法找到通用規律[62]。損失函數是神經網絡梯度下降算法的優化目標,通過將物理機制納入損失函數,能夠約束模型得到符合物理規律的輸出,起到模型正則化作用。這種正則化有效縮小了參數搜索空間,為少樣本下的深度學習提供可能,同時保障了遵循物理規律的深度學習模型有更好外延性[66]。常見的物理機制指導的損失函數構建方式包括基于物理方程的等式約束和利用變量單調性等的不等式約束:等式約束構建和損失計算一致,在違反等式條件時給予懲罰;不等式約束可以使用Re-LU等函數轉換為具體損失值[67]。

3.2.2 指導深度學習模型參數初始化

深度學習模型訓練前需要初始化,典型的做法是隨機生成,但是不良的初始化對神經網絡的訓練不利,若加入物理機制指導模型初始化,能加速神經網絡訓練,提高樣本利用效率[62,66]。典型的做法:利用輸入數據驅動未率定的物理機制模型生成一系列樣本,然后預訓練深度學習模型,在此基礎上利用真實輸入輸出數據進行訓練[68];或先利用觀測數據率定物理機制模型,再利用隨機生成器等生成一系列隨機數據輸入物理機制模型獲取模擬樣本來預訓練深度學習模型[69]。這類通過初始化幫助模型訓練的方法和遷移學習相似。在遷移學習中,用有限訓練數據進行微調以適應目標任務之前,先在一個擁有大樣本數據的相關任務上預訓練模型,再將該模型權值作為已包含相關信息的初始狀態,從而獲取比隨機初始化更接近所需任務的理想參數[70]。因此,使用基于物理機制的模型模擬數據來預訓練深度學習模型,能減少數據匱乏的影響,起到數據增強的效果。

3.2.3 指導深度學習模型結構設計

根據物理機制設計深度學習模型,將規則直接編碼入神經網絡是一類更直接的整合方式,能得到更具物理規則一致性結果,增強模型可解釋性。構建這類新的深度學習模型結構,需要結合水文領域實際問題特點[62,66],比如水文模型中物理方程常以時序形式給出,可以直接根據模型表達式寫出神經網絡前向計算公式并嵌入到循環神經網絡結構中作為模型循環基本單元[71]。因為標準深度學習模型只能利用高度復雜的連接結構提取抽象隱含變量,所以其可解釋性有限,而這種在深度學習架構中添加物理方程,能得到有物理意義的變量,從而使模型具備可解釋性。此外,水文學中典型的如系統整體質量守恒對應的水量平衡、能量守恒對應的熱平衡等,如果能顯式或隱式地將這些規律寫入神經網絡,那么深度學習模型會具有更好的外延性[72]。

4 結 語

近年來深度學習開啟了新一輪水文數據驅動模型的研究熱潮,本文概念性地介紹了水文預報中常用的卷積神經網絡、長短記憶神經網絡等深度學習模型,給出了模型相應的典型應用場景,并討論了深度學習用于水文預報建模時的基本構建方法。由于水文預報研究人員不僅僅從技術層面關心模型預報性能,還關注深度學習模型結果的可解釋性、外延性及物理一致性等,因此整合深度學習與基于物理機制模型的研究受到了越來越多的關注,本文按照物理機制模型中融入深度學習和物理機制指導的深度學習兩種方式討論了其基本方法,并指出了這類方法潛在的優點。本文初步歸納總結基于深度學習的水文預報涉及的基本概念與方法,可為了解近期深度學習水文預報研究進展提供充分背景知識。

猜你喜歡
卷積水文神經網絡
基于全卷積神經網絡的豬背膘厚快速準確測定
基于神經網絡的船舶電力系統故障診斷方法
基于人工智能LSTM循環神經網絡的學習成績預測
基于圖像處理與卷積神經網絡的零件識別
MIV-PSO-BP神經網絡用戶熱負荷預測
淺議互聯網技術在水文檔案管理中的應用
基于深度卷積網絡與空洞卷積融合的人群計數
三次樣條和二次刪除相輔助的WASD神經網絡與日本人口預測
卷積神經網絡概述
江西省水文文化建設的思考
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合