賀圣平,王會(huì)軍,李華,趙家臻
① 南京信息工程大學(xué) 氣象災(zāi)害教育部重點(diǎn)實(shí)驗(yàn)室/氣象災(zāi)害預(yù)報(bào)預(yù)警與評(píng)估協(xié)同創(chuàng)新中心,江蘇 南京 210044;② 卑爾根大學(xué) 地球物理研究所,挪威 卑爾根 5020;③ 中國(guó)科學(xué)院 大氣物理研究所 竺可楨-南森國(guó)際研究中心,北京 100029;④ 中國(guó)科學(xué)院 氣候變化研究中心,北京 100029
*聯(lián)系人,E-mail:hshp@mail.iap.ac.cn
1956年,McCarthy et al.(1956)提出了人工智能的概念;三年之后,Samuel (1959)提出實(shí)現(xiàn)人工智能的方式——機(jī)器學(xué)習(xí)。隨后,人工智能經(jīng)歷了兩個(gè)騰飛的時(shí)代:即20世紀(jì)60到70年代和20世紀(jì)80年代。盡管如此,人工智能并未取得令人滿意的成就,先后于20世紀(jì)70年代末、90年代初經(jīng)歷了兩次“人工智能寒冬”。盡管人工智能的發(fā)展起伏跌宕,作為人工智能的一個(gè)分支和實(shí)現(xiàn)人工智能的一個(gè)途徑,機(jī)器學(xué)習(xí)(尤其是算法的更新)的發(fā)展卻從未間斷,逐漸發(fā)展成一門涉及概率論、統(tǒng)計(jì)學(xué)、逼近論等的交叉學(xué)科。近年來,隨著計(jì)算機(jī)硬件設(shè)施性能的顯著提升、研究數(shù)據(jù)的大量增長(zhǎng)且存儲(chǔ)成本的大幅降低以及算法的明顯改進(jìn),機(jī)器學(xué)習(xí)尤其是深度學(xué)習(xí)再次進(jìn)入大眾的視野并取得了一系列的成功。一些經(jīng)過大量數(shù)據(jù)訓(xùn)練的機(jī)器模型能夠?qū)π聰?shù)據(jù)做出精準(zhǔn)的預(yù)測(cè),如自動(dòng)駕駛、圖像識(shí)別、語(yǔ)音識(shí)別等都是機(jī)器學(xué)習(xí)的成功應(yīng)用(Huntingford et al.,2019)。
人類一直致力于理解并預(yù)測(cè)世界的變化,其中最成功的例子就是數(shù)值天氣預(yù)報(bào),如今其對(duì)北半球500 hPa位勢(shì)高度場(chǎng)3~5 d的預(yù)報(bào)技巧已高達(dá)90%以上(Bauer et al.,2015)。然而,季節(jié)尺度上的氣候預(yù)測(cè)以及更長(zhǎng)時(shí)間尺度的氣候預(yù)估,依然是巨大的挑戰(zhàn)(Hantson et al.,2016)。在深入理解氣候系統(tǒng)變化機(jī)制的驅(qū)動(dòng)下,地球系統(tǒng)的觀測(cè)數(shù)據(jù)、再分析資料以及數(shù)值模擬數(shù)據(jù)在過去40 a里飛速增長(zhǎng)。尤其是第五階段(CMIP5)和第六階段國(guó)際耦合模式比較計(jì)劃(CMIP6),為氣候變化、氣候預(yù)測(cè)和氣候預(yù)估研究提供了數(shù)千萬(wàn)億字節(jié)量級(jí)的數(shù)據(jù)資源(Stockhause and Lautenschlager,2017)。如何從“大數(shù)據(jù)”中充分地提取有用的信息并獲取新的知識(shí),對(duì)傳統(tǒng)分析方法構(gòu)成了新的挑戰(zhàn)。機(jī)器學(xué)習(xí)和人工智能則帶來了新的契機(jī)。機(jī)器學(xué)習(xí)可以從地球系統(tǒng)“大數(shù)據(jù)”中發(fā)現(xiàn)并提取新的相互關(guān)聯(lián)信號(hào),比如某個(gè)關(guān)鍵區(qū)的海溫信息可以提高陸地某區(qū)域未來數(shù)月的氣候預(yù)測(cè)技巧;在此基礎(chǔ)上,人工智能實(shí)現(xiàn)為社會(huì)提供極端天氣和極端氣候事件的自動(dòng)化預(yù)警(Huntingford et al.,2019)。
如今,機(jī)器學(xué)習(xí)逐漸與氣候預(yù)測(cè)和天氣預(yù)報(bào)相結(jié)合,相關(guān)領(lǐng)域涌現(xiàn)了一大批創(chuàng)新性的研究成果。Ham et al.(2019)利用深度神經(jīng)網(wǎng)絡(luò)對(duì)ENSO指數(shù)構(gòu)建了機(jī)器預(yù)測(cè)模型,結(jié)果顯示深度學(xué)習(xí)預(yù)測(cè)模型對(duì)ENSO提前7~21個(gè)月的預(yù)測(cè)技巧高于當(dāng)前大部分動(dòng)力氣候預(yù)測(cè)模型。淺層神經(jīng)網(wǎng)絡(luò)機(jī)器模型也可以較好地分辨中部型和東部型ENSO事件(Toms et al.,2020)。此外,機(jī)器學(xué)習(xí)也可以應(yīng)用到天氣預(yù)報(bào)業(yè)務(wù)中(門曉磊等,2019)。Weyn et al.(2019)利用卷積神經(jīng)網(wǎng)絡(luò)(深度學(xué)習(xí))構(gòu)建了500 hPa位勢(shì)高度格點(diǎn)場(chǎng)的機(jī)器預(yù)報(bào)模型,其提前3 d的預(yù)報(bào)技巧明顯勝過動(dòng)力正壓渦度模型,盡管其表現(xiàn)依然遜色于當(dāng)前業(yè)務(wù)型的數(shù)值天氣預(yù)報(bào)系統(tǒng)。卷積神經(jīng)網(wǎng)絡(luò)機(jī)器模型也可預(yù)測(cè)天氣尺度的鋒面系統(tǒng)(Lagerquist et al.,2019)。深度學(xué)習(xí)模型還可以在不給定任何閾值的情況下,自動(dòng)識(shí)別極端天氣事件(Liu et al.,2016)。此外,機(jī)器學(xué)習(xí)可以用來減小未來氣候預(yù)估的不確定性(匡志遠(yuǎn)等,2020)。
隨著氣候變化及其負(fù)面影響的日益加劇(P?rtner et al.,2019),提高氣候預(yù)測(cè)的能力也變得愈加重要和急迫。然而,這對(duì)于當(dāng)前的動(dòng)力氣候預(yù)測(cè)模型依然是一個(gè)嚴(yán)峻的挑戰(zhàn)。機(jī)器學(xué)習(xí),在高性能計(jì)算機(jī)、“大數(shù)據(jù)”和先進(jìn)算法的支持下,為提高氣候預(yù)測(cè)的技巧提高了新的思路和契機(jī)。本文將圍繞梯度下降、神經(jīng)網(wǎng)絡(luò)的構(gòu)建以及深度學(xué)習(xí)的框架簡(jiǎn)要介紹機(jī)器學(xué)習(xí)的基本原理;最后介紹深度學(xué)習(xí)應(yīng)用到東亞冬季氣溫預(yù)測(cè)的實(shí)例。
20世紀(jì)50年代,約翰·麥卡錫等發(fā)起了達(dá)特矛斯夏季人工智能研究計(jì)劃(McCarthy et al.,1956),探討自動(dòng)計(jì)算機(jī)、神經(jīng)網(wǎng)絡(luò)等議題;“人工智能”的概念由此誕生?!叭斯ぶ悄堋敝荚谫x予計(jì)算機(jī)“思考”的能力,是指實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)能夠執(zhí)行通常需要人類智力才能完成的任務(wù)的理論和開發(fā)。顯然,“人工智能”是一個(gè)涵蓋范圍比較廣的概念或者統(tǒng)稱。早期的“人工智能”主要是通過硬編碼實(shí)現(xiàn),即基于人類已有的知識(shí)體系,人工設(shè)計(jì)代碼程序,從而完成對(duì)人類具有挑戰(zhàn)的任務(wù)。例如,IBM設(shè)計(jì)的電腦棋手“深藍(lán)”,就是將國(guó)際象棋規(guī)則完全形式化后,再通過硬編碼描述給計(jì)算機(jī);“深藍(lán)”于1997年5月11日打敗了國(guó)際象棋世界冠軍加里·卡斯帕羅夫。然而,隨著實(shí)際應(yīng)用要求的提高以及人類認(rèn)知體系的局限性,硬編碼的“人工智能”的瓶頸開始凸顯:它并不能解決更為復(fù)雜的問題。為了彌補(bǔ)硬編碼對(duì)人類認(rèn)知體系要求較高的弊端,科學(xué)家提出了一種新的構(gòu)建“人工智能”的思路,即實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)從大數(shù)據(jù)集中總結(jié)、歸納信息的特點(diǎn),也就是機(jī)器學(xué)習(xí)。雖然機(jī)器學(xué)習(xí)依然需要通過編碼來實(shí)現(xiàn),但它有一個(gè)明顯區(qū)別于傳統(tǒng)硬編碼方式的特點(diǎn):在執(zhí)行任務(wù)的初期,計(jì)算機(jī)并未給定解決該問題的具體規(guī)則(例如“深藍(lán)”已知的國(guó)際象棋規(guī)則),而是采用大量的數(shù)據(jù)、通過某種算法不斷地“訓(xùn)練”計(jì)算機(jī),同時(shí)使用某一種損失函數(shù)衡量計(jì)算機(jī)的學(xué)習(xí)效果、并通過優(yōu)化算法調(diào)整“訓(xùn)練”的方向;通過反復(fù)的迭代計(jì)算,最終使得計(jì)算機(jī)具備解決問題的最優(yōu)方案或規(guī)則(即參數(shù),見第二節(jié))。這樣,“訓(xùn)練”好的機(jī)器就可以投入到實(shí)際應(yīng)用,如人臉識(shí)別、語(yǔ)音識(shí)別系統(tǒng)等都是機(jī)器學(xué)習(xí)的成果。可見,算法是機(jī)器學(xué)習(xí)的核心,神經(jīng)網(wǎng)絡(luò)就是其中的經(jīng)典算法之一。而深度學(xué)習(xí),就是利用層次更多(即深度的含義)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)機(jī)器學(xué)習(xí)。
機(jī)器學(xué)習(xí)可以分為監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)(Dougherty et al.,1995)。本文主要圍繞監(jiān)督學(xué)習(xí)展開討論。監(jiān)督學(xué)習(xí)的特點(diǎn)是,每一個(gè)“訓(xùn)練數(shù)據(jù)”都有明確的輸出期望值(即“標(biāo)簽數(shù)據(jù)”)。為了簡(jiǎn)單明了地解釋機(jī)器的“學(xué)習(xí)”過程,以最簡(jiǎn)單的線性回歸為例,展示如何不斷地“訓(xùn)練”機(jī)器、最終獲取線性回歸方程參數(shù)(即斜率θ1和截距θ2)的過程。構(gòu)建一個(gè)線性函數(shù):y=2.5x+3.5+δ(x=1,2,3,…,20);其中δ表示符合隨機(jī)正態(tài)分布的噪音數(shù)據(jù),x與y之間的映射關(guān)系如圖1a的散點(diǎn)圖所示。從機(jī)器學(xué)習(xí)的角度,x稱為“訓(xùn)練數(shù)據(jù)”,y即為“標(biāo)簽數(shù)據(jù)”(表1)。
表1 “訓(xùn)練數(shù)據(jù)”稱為x,“標(biāo)簽數(shù)據(jù)”y以及噪音數(shù)據(jù)δ
(1)
其中:m表示數(shù)據(jù)集的個(gè)數(shù)。由于“訓(xùn)練數(shù)據(jù)”x和“標(biāo)簽數(shù)據(jù)”y都是已確定的數(shù)據(jù)集,不確定的僅僅是參數(shù)θ1和截距θ2;因此,損失函數(shù)實(shí)際上是關(guān)于θ1和θ2的函數(shù),記為f(θ1,θ2);為便于描述,將參數(shù)表述為向量的形式Θ(θ1,θ2)。換言之,“訓(xùn)練”機(jī)器的最終目標(biāo)就轉(zhuǎn)化為:調(diào)整參數(shù)Θ、使得f(Θ)的值達(dá)到最小。
Θ1=Θ0-α×f(Θ)|Θ0。
(2)
若Θ1不是f(Θ)達(dá)到最小值的參數(shù),則繼續(xù)沿著導(dǎo)函數(shù)的反方向調(diào)整參數(shù)、得到新的參數(shù)Θ2,即:
Θ2=Θ1-α×f(Θ)|Θ1。
(3)
因此,損失函數(shù)可表示為:
(4)
其中:m為每一個(gè)數(shù)據(jù)集的個(gè)數(shù),即20,常數(shù)1/2是為了后續(xù)求導(dǎo)函數(shù)的時(shí)候不再有多余的常量;損失函數(shù)的導(dǎo)函數(shù)則為:
。
(5)
首先,隨機(jī)給定計(jì)算機(jī)初始參數(shù)Θ0(20,-20),與“訓(xùn)練數(shù)據(jù)”X和“標(biāo)簽數(shù)據(jù)”Y(表1)一起代入公式(4)和公式(5),可以求出損失函數(shù)及其導(dǎo)數(shù):
f(20,-20)=17 934.65,
(2 264.65,160.25)。
同時(shí),將機(jī)器的“學(xué)習(xí)”效率α設(shè)置為0.01,根據(jù)公式(2),機(jī)器將參數(shù)更新為:
(-2.646,-21.603)。
圖1 散點(diǎn)表示“訓(xùn)練數(shù)據(jù)”x與“標(biāo)簽數(shù)據(jù)”y的映射關(guān)系,紅線表示機(jī)器學(xué)習(xí)的線性擬合結(jié)果(a);機(jī)器學(xué)習(xí)迭代計(jì)算線性擬合參數(shù)的過程(b);機(jī)器學(xué)習(xí)中“梯度下降”的過程(c)Fig.1 (a) Scatters indicate the mapping relationship between the ‘train data’ x and ‘labeled data’ y,the red line indices the linear fitting by machine linear;(b) the updating of weights along the iteration;(c) the gradient descent of machine learning
當(dāng)然,上述只是“訓(xùn)練”機(jī)器的過程。機(jī)器學(xué)習(xí)的最終目標(biāo)是:用“訓(xùn)練”好的機(jī)器(即完成了參數(shù)的優(yōu)化)針對(duì)機(jī)器從未接觸過的新數(shù)據(jù)(通常稱為“測(cè)試數(shù)據(jù)”)展開預(yù)測(cè)。將在第三節(jié)和第四節(jié)中詳細(xì)闡述。
線性回歸是氣候預(yù)測(cè)和氣候變化研究中常見的方法。當(dāng)然,不需要通過機(jī)器學(xué)習(xí),也可以快速地計(jì)算線性回歸函數(shù)。但是,在實(shí)際研究和應(yīng)用過程中,經(jīng)常面對(duì)的是大量的觀測(cè)和數(shù)值模擬數(shù)據(jù)。由于氣候系統(tǒng)的復(fù)雜性,數(shù)據(jù)之間可能存在某種非線性關(guān)系;上述基于線性關(guān)系構(gòu)建的機(jī)器學(xué)習(xí)模型將失去作用。這時(shí),深度學(xué)習(xí)則能發(fā)揮巨大的優(yōu)勢(shì);而深度學(xué)習(xí)則是以神經(jīng)網(wǎng)絡(luò)為框架,通常包括一層輸入層、若干隱藏層和一層輸出層。每一個(gè)神經(jīng)層都包含若干個(gè)神經(jīng)元(實(shí)際上代表的是包含某一個(gè)具體數(shù)據(jù)的節(jié)點(diǎn))。輸入層負(fù)責(zé)接收“訓(xùn)練數(shù)據(jù)”或者“測(cè)試數(shù)據(jù)”,輸出層負(fù)責(zé)導(dǎo)出“預(yù)測(cè)數(shù)據(jù)”。隱藏層的主要功能則是通過大量的參數(shù)、連接輸入層和輸出層。利用輸出層的“預(yù)測(cè)數(shù)據(jù)”和已知的“標(biāo)簽數(shù)據(jù)”可以構(gòu)建損失函數(shù),再通過優(yōu)化器減小損失函數(shù)并調(diào)整參數(shù)。當(dāng)損失函數(shù)達(dá)到最小值的時(shí)候,則鎖定參數(shù),即完成機(jī)器的“訓(xùn)練”(見第2節(jié))。此處的關(guān)鍵問題是:輸入層、隱藏層和輸出層之間是通過何種方式實(shí)現(xiàn)神經(jīng)元之間的連接呢?答案是:矩陣的乘法。
為簡(jiǎn)單起見,先構(gòu)建一個(gè)淺層的神經(jīng)網(wǎng)絡(luò):一層輸入層,包含一個(gè)神經(jīng)元節(jié)點(diǎn);兩層隱藏層,分別包含4個(gè)和5個(gè)神經(jīng)元節(jié)點(diǎn);一層輸出層,包含一個(gè)神經(jīng)元節(jié)點(diǎn)(圖2a)。我們將從矩陣乘法的角度,逐步解析神經(jīng)元之間的連接方式。
圖2 一個(gè)淺層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(a);解析神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖(b)Fig.2 (a) A shallow neural network;(b) illustrating the architecture of neural network
1)輸入層到第一層隱藏層
2)第一層隱藏層到第二層隱藏層
3)第二層隱藏層到輸出層
輸出層只有一個(gè)預(yù)測(cè)值p1,因此只需構(gòu)建一個(gè)五行、一列的新參數(shù)矩陣μ即可實(shí)現(xiàn)第二層隱藏層與輸出層神經(jīng)元之間的連接(圖2b)。
完成構(gòu)建上述神經(jīng)網(wǎng)絡(luò)之后,可以將批量的“訓(xùn)練數(shù)據(jù)”集(假設(shè)有n個(gè)樣本)輸入神經(jīng)網(wǎng)絡(luò),即可得到n個(gè)“預(yù)測(cè)數(shù)據(jù)”集;結(jié)合對(duì)應(yīng)的n個(gè)“標(biāo)簽數(shù)據(jù)”,則可得到關(guān)于ω,θ和μ的損失函數(shù)f(ω,θ,μ)。然后,通過優(yōu)化器不斷減小損失函數(shù)同時(shí)更新參數(shù)ω,θ和μ(圖2b;可參見第四節(jié))。值得注意的是,為了探索隱藏層與其前、后層之間的非線性關(guān)系,神經(jīng)網(wǎng)絡(luò)會(huì)在隱藏層引入一個(gè)非線性的“激勵(lì)函數(shù)”;這也是神經(jīng)網(wǎng)絡(luò)算法相對(duì)線性模型更為優(yōu)越的原因(Specht,1991)。
圖3 神經(jīng)網(wǎng)絡(luò)擬合非線性函數(shù)以及采用不同“激勵(lì)函數(shù)”的效果(a;藍(lán)線表示真實(shí)函數(shù)的曲線;散點(diǎn)表示在真實(shí)函數(shù)基礎(chǔ)上疊加隨機(jī)噪音的數(shù)據(jù);黃色、紅色分別表示采用tanh、relu“激勵(lì)函數(shù)”的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)結(jié)果);(b),(c)分別表示tanh、relu “激勵(lì)函數(shù)”Fig.3 (a)Non-linear fitting by neural network with different activation functions;the blue curve indicates the ‘true’ curve of non-linear function;scatters indicate the non-linear function f(θ)=sin(3.5 cos(2.5θ)) overlapped by random noise;the yellow and red curves are results of machine learning with activation function of tanh and relu,respectively;(b) and (c) illustrate the activation function of tanh and relu,respectively
為了直觀展示神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果,首先構(gòu)建了一個(gè)非線性函數(shù)y’=sin(3.5×cos(2.5θ)),θ為-1到1之間的300個(gè)等間距數(shù)據(jù),即“訓(xùn)練數(shù)據(jù)”集;y’與θ之間的函數(shù)曲線如圖(3a)藍(lán)線所示;在該非線性函數(shù)上疊加一定的隨機(jī)噪音,從而得到300個(gè)“標(biāo)簽數(shù)據(jù)”y。θ與y之間的映射結(jié)果如圖3a散點(diǎn)所示。構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò),包含一層輸入層、2層隱藏層(分別包含16個(gè)神經(jīng)元)和一層輸出層。將“訓(xùn)練數(shù)據(jù)”θ輸入神經(jīng)網(wǎng)絡(luò),在隱藏層中使用雙曲正切(hyperbolic tangent function,tanh)激勵(lì)函數(shù)(圖3b);當(dāng)機(jī)器經(jīng)歷6 000次迭代計(jì)算后,機(jī)器“學(xué)習(xí)”到的輸出值如圖3a黃線所示,此時(shí)損失函數(shù)的值為0.01??梢?神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)對(duì)于解決非線性問題有較好的表現(xiàn)。當(dāng)采用修正線性單元(Rectified linear unit,relu)“激勵(lì)函數(shù)”(圖3c)時(shí),機(jī)器經(jīng)歷6 000次迭代之后的輸出值為圖3a的紅線,此時(shí)損失函數(shù)的值為0.052。
卷積神經(jīng)網(wǎng)路(Convolutional Neural Network,CNN)是在普通神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了一個(gè)或者多個(gè)卷積層(convolutional layer)和池化層(pooling layer;包括最大池化和平均池化等(Goodfellow et al.,2016)。卷積的過程是:首先隨機(jī)給定一個(gè)卷積核(convolutional kernel),也就是一個(gè)權(quán)重矩陣,其維數(shù)與被卷積的數(shù)據(jù)相同、但水平分辨率更小;卷積核按照自身分辨率的大小、以固定的步長(zhǎng)從被卷積數(shù)據(jù)中提取數(shù)據(jù)子集,并與之對(duì)應(yīng)相乘、再求總和;直至完成對(duì)所有數(shù)據(jù)的檢索。為了考慮數(shù)據(jù)的非線性,卷積之后的數(shù)據(jù)會(huì)再經(jīng)過一個(gè)“激勵(lì)函數(shù)”,最終的輸出結(jié)果將進(jìn)入池化層(參看圖4中的“第一步”)。
圖4 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)Fig.4 The architecture of convolutional neural network
池化(以最大池化為例):是以規(guī)定的水平分辨率(比如2×2的格點(diǎn))、按照規(guī)定的步長(zhǎng)檢索卷積層的輸出數(shù)據(jù),每次檢索都輸出該格點(diǎn)范圍內(nèi)的最大值;直至完成對(duì)所有數(shù)據(jù)的檢索(參看圖4中的“第二步”)。需要指出的兩點(diǎn)是:
1)圖4中只使用了一個(gè)卷積核,因此卷積之后的數(shù)據(jù)依然是二維。實(shí)際上,可以采用多個(gè)不同的卷積核對(duì)數(shù)據(jù)進(jìn)行卷積;每一個(gè)卷積核都按照以上過程對(duì)數(shù)據(jù)進(jìn)行卷積。因此,當(dāng)所有卷積核完成卷積過程后,輸出的數(shù)據(jù)水平分辨率明顯減小,同時(shí)也會(huì)增加一個(gè)維度(等于卷積核的數(shù)目)。
2)圖4中只有一個(gè)卷積層和一個(gè)池化層。實(shí)際應(yīng)用中,可以有多次重復(fù)上述卷積、池化過程;即池化之后的數(shù)據(jù)再經(jīng)歷卷積、池化。卷積核、卷積層和池化層的數(shù)目需要根據(jù)具體問題以及試驗(yàn)效果進(jìn)行調(diào)整。
將池化之后的數(shù)據(jù)轉(zhuǎn)換為一維數(shù)據(jù),再輸入到普通神經(jīng)網(wǎng)絡(luò)的輸入層,即可完成卷積神經(jīng)網(wǎng)絡(luò)的構(gòu)建(參看圖4中的“第三步”)。
卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)在計(jì)算機(jī)視覺(如圖片分類識(shí)別)、自然語(yǔ)言處理等方面取得了巨大成功(Goodfellow et al.,2016;Huntingford et al.,2019)。氣候預(yù)測(cè)研究和應(yīng)用也經(jīng)常使用二維或三維數(shù)據(jù)。因此,從理論上講,卷積神經(jīng)網(wǎng)絡(luò)完全可以應(yīng)用到氣候預(yù)測(cè)領(lǐng)域中。另外,氣候系統(tǒng)觀測(cè)數(shù)據(jù)和數(shù)值模擬數(shù)據(jù)的大量豐富,為機(jī)器學(xué)習(xí)提供了充足的訓(xùn)練數(shù)據(jù)。
為了嘗試將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到氣候預(yù)測(cè),本文采用卷積神經(jīng)網(wǎng)絡(luò)方法,利用第五階段耦合模式比較計(jì)劃(CMIP5)的歷史模擬數(shù)據(jù),針對(duì)東亞冬季逐月的氣溫指數(shù)構(gòu)建了機(jī)器預(yù)測(cè)模型;然后利用歷史觀測(cè)數(shù)據(jù)輸入該訓(xùn)練好的機(jī)器預(yù)測(cè)模型,對(duì)東亞冬季逐月氣溫的歷史觀測(cè)時(shí)間序列展開回報(bào)試驗(yàn)。研究數(shù)據(jù)、建模方法和回報(bào)結(jié)果如下。
21個(gè)氣候模式的歷史模擬數(shù)據(jù)取自CMIP5,時(shí)段為1861—2005年;變量包括表面氣溫T2m、海表溫度SST和0~300 m平均的海洋溫度T300(https://esgf-node.llnl.gov/projects/cmip5/)。動(dòng)力氣候模式CanCM4i的歷史回報(bào)試驗(yàn)結(jié)果取自:https://iridl.ldeo.columbia.edu/SOURCES/.Models/.NMME/。觀測(cè)數(shù)據(jù)包括:1)美國(guó)國(guó)家環(huán)境預(yù)測(cè)中心(NCEP)的全球海洋數(shù)據(jù)同化系統(tǒng)(GODAS)的海溫資料(https://psl.noaa.gov/data/gridded/data.godas.html;Behringer and Xue (2004)),時(shí)段為1982—2018年;2)歐洲中長(zhǎng)期預(yù)報(bào)中心再分析資料(ERA5)中的表面氣溫T2m,時(shí)段為1982—2018年(C3S,2017)。為了節(jié)省機(jī)器的訓(xùn)練時(shí)間,CMIP5和GODAS的SST和T300均插值為5°×5°的水平分辨率,范圍為60°S~60°N,0°~360°;即格點(diǎn)分辨率為24(緯向)×72(經(jīng)向)。
1) 構(gòu)建機(jī)器“訓(xùn)練數(shù)據(jù)”Train_data,“標(biāo)簽數(shù)據(jù)”Labeled_data和“測(cè)試數(shù)據(jù)”Test_data(表2)
首先,將所有數(shù)據(jù)中的T2m、SST和T300均轉(zhuǎn)化為距平場(chǎng)(減去相應(yīng)數(shù)據(jù)時(shí)段的氣候態(tài)),CMIP5、GODAS和ERA5中的距平場(chǎng)分別記為CMIP_SSTA,CMIP_T300A,CMIP_T2mA,GODAS_SSTA,GODAS_T300A,ERA5_T2mA。計(jì)劃針對(duì)東亞冬季逐月(即12月、1月和2月)提前1個(gè)月展開預(yù)測(cè),預(yù)報(bào)因子為前期連續(xù)3個(gè)月的SST和T300的距平場(chǎng)。
表2 機(jī)器模型及其相應(yīng)的“訓(xùn)練數(shù)據(jù)”(Train_data)、“標(biāo)簽數(shù)據(jù)”(Labeled_data)、“測(cè)試數(shù)據(jù)”(Test_data)和“預(yù)測(cè)值”(Prediction)
為了檢驗(yàn)機(jī)器預(yù)測(cè)模型的預(yù)測(cè)效果,進(jìn)一步計(jì)算了1982—2017年12月、1983—2018年1月以及1983—2018年2月東亞某區(qū)域(100°~140°E,10°~30°N,)ERA5_T2mA的區(qū)域平均值,分別記為ERA5_T2m_Dec、ERA5_T2m_Jan和ERA5_T2m_Feb。值得注意的是,為了盡可能獲得足夠大的訓(xùn)練數(shù)據(jù)樣本,使用CMIP5歷史模擬試驗(yàn)的全時(shí)段數(shù)據(jù),導(dǎo)致訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)在時(shí)段上有一定的重疊。然而,考慮到CMIP5耦合模式模擬的氣候年際變率與觀測(cè)結(jié)果之間的相關(guān)系數(shù)非常弱,因此上述重疊不會(huì)對(duì)機(jī)器學(xué)習(xí)的預(yù)測(cè)效果產(chǎn)生明顯的影響。
2)卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)包含3個(gè)卷積層和2個(gè)最大池化層,最后一級(jí)卷積層與普通神經(jīng)網(wǎng)絡(luò)全連接;該普通神經(jīng)網(wǎng)絡(luò)包含一個(gè)隱藏層。第一個(gè)卷積層的卷積核大小為8×4的格點(diǎn)分辨率,第二和第三個(gè)卷積層的卷積核大小均為4×2的格點(diǎn)分辨率;最大池化層以2×2的格點(diǎn)分辨率從卷積層中檢索最大值。為了獲得更為客觀的預(yù)測(cè)結(jié)構(gòu),嘗試了兩個(gè)不同數(shù)目(即30和50)的卷積核和隱層神經(jīng)元,如C30H50表示擁有30個(gè)卷積核和50個(gè)隱層神經(jīng)元的卷積神經(jīng)網(wǎng)絡(luò);依次類推。同時(shí),每個(gè)卷積神經(jīng)網(wǎng)絡(luò)都采用了10個(gè)不同是初始權(quán)重進(jìn)行訓(xùn)練,并展開相應(yīng)的回報(bào)試驗(yàn)。
圖5顯示了卷積神經(jīng)網(wǎng)絡(luò)機(jī)器模型提前一個(gè)月回報(bào)的東亞冬季12月、1月和2月的氣溫指數(shù),分別記為Pre_T2m_Dec、Pre_T2m_Jan、Pre_T2m_Feb。結(jié)果顯示,卷積神經(jīng)網(wǎng)絡(luò)集合平均的回報(bào)結(jié)果Pre_T2m_Dec、Pre_T2m_Jan、Pre_T2m_Feb與12月、1月、2月的觀測(cè)結(jié)果ERA5_T2m_Dec、ERA5_T2m_Jan、ERA5_T2m_Feb間的相關(guān)系數(shù)分別為0.77、0.82和0.70。同時(shí),回報(bào)指數(shù)的幅度與觀測(cè)也比較接近。值得注意的是,不同數(shù)目的卷積核、不同數(shù)目的隱藏層神經(jīng)元的卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果差異并不大。但是,不同初始場(chǎng)(圖5陰影所示)之間的預(yù)測(cè)結(jié)果差異明顯。
圖5 采用卷積神經(jīng)網(wǎng)絡(luò),利用前期連續(xù)3個(gè)月的海表溫度異常、0~300 m的海洋熱含量異常(0°~360°,60°S~60°N)提前1個(gè)月預(yù)測(cè)的1982/83—2017/18年12月(a)、1月(b)、2月(c)東亞某區(qū)域(100°~140°E,10°~30°N)氣溫異常(紅色曲線表示觀測(cè)結(jié)果;其他曲線表示搭配不同數(shù)目的卷積核(C)和隱藏層(H)的卷積神經(jīng)網(wǎng)絡(luò)的集合平均預(yù)測(cè)結(jié)果,如C50H30表示卷積神經(jīng)網(wǎng)絡(luò)包含50個(gè)卷積核和30個(gè)隱藏層,以此類推;藍(lán)色曲線表示卷積神經(jīng)網(wǎng)絡(luò)中所有集合的平均預(yù)測(cè)結(jié)果、并疊加集合平均的誤差(±1 標(biāo)準(zhǔn)差))Fig.5 Ensemble-mean time series of (a)December 1982—2017,(b)January 1983—2018,(c)February 1983—2018 aera-averaged (10°—30°N,100°—140°E) T2m anomalies for one-month-lead hindcast using convolutional neural network(CNN) model(blue solid curves) as well as the corresponding observed time series (red curves).Other curves represent results of CNN model with different numbers of convolutional filters and hidden layers;for example,C50H30 indicates the CNN model with 50 convolutional filters and 30 hidden layers,and so on;shading indicates ±1 standard deviation of 40 ensemble members
神經(jīng)網(wǎng)絡(luò)的加深可以一定程度上提高機(jī)器的預(yù)測(cè)能力;例如,圖6a和6b中C50H50的回報(bào)效果略好于C50H30。但是,當(dāng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)達(dá)到一定的深度時(shí),通過控制初始場(chǎng)以尋求神經(jīng)網(wǎng)絡(luò)全局最優(yōu)參數(shù)變得尤為重要。例如,針對(duì)同樣的機(jī)器預(yù)測(cè)模型,采取不同的初始參數(shù)訓(xùn)練機(jī)器(圖6:C50H50),得到的回報(bào)結(jié)果與觀測(cè)的相關(guān)系數(shù)在不同集合之間相差可達(dá)0.2左右。
圖6 計(jì)算數(shù)據(jù)與圖5相同,但顯示的是卷積神經(jīng)網(wǎng)絡(luò)中每一個(gè)集合的預(yù)測(cè)結(jié)果與觀測(cè)結(jié)果的相關(guān)系數(shù);紅色柱狀為集合平均的結(jié)果;水平虛線表示通過95%信度檢驗(yàn)的臨界值;(a)、(b)、(c)分別表示12月、1月和2月的預(yù)測(cè)效果Fig.6 Dataset are the same as Fig.5,but for the correlation coefficients of each ensemble members with the observation in (a)December,(b)January,and (c)February;the red bar indicates the results of ensemble mean in each CNN model;the horizontal dashed line indicates the value at 95% confidence level
需要強(qiáng)調(diào)的是,深度學(xué)習(xí)模型的回報(bào)效果優(yōu)于氣候動(dòng)力模型的回報(bào)結(jié)果。如圖7所示,深度學(xué)習(xí)模型提前一個(gè)月回報(bào)的東亞某區(qū)域(100°~140°E,10°~30°N)1月氣溫的40個(gè)集合回報(bào)試驗(yàn)與觀測(cè)結(jié)果之間的相關(guān)系數(shù)為0.5~0.8,均通過95%的信度檢驗(yàn);同時(shí)也高于動(dòng)力模式CanCM4i回報(bào)結(jié)果與觀測(cè)之間的相關(guān)系數(shù)(0.42)。另外,深度學(xué)習(xí)模型提前2~3個(gè)月回報(bào)的東亞某區(qū)域(100°~140°E,10°~30°N)1月氣溫技巧也普遍高于動(dòng)力模式的回報(bào)效果。
值得注意的是,盡管上述例子表明機(jī)器學(xué)習(xí)可以應(yīng)用到短期氣候預(yù)測(cè)中。但并不意味著,給定機(jī)器任意的“大數(shù)據(jù)”就可以建立表現(xiàn)良好的氣候預(yù)測(cè)模型。為了建立預(yù)測(cè)技巧較高的機(jī)器學(xué)習(xí)氣候預(yù)測(cè)模型,需要充分了解“大數(shù)據(jù)”背后的氣候動(dòng)力學(xué)。換而言之,氣候動(dòng)力學(xué)指導(dǎo)建立機(jī)器學(xué)習(xí)模型,對(duì)于充分發(fā)揮機(jī)器學(xué)習(xí)在氣候預(yù)測(cè)中的潛力至關(guān)重要。例如,采用與圖5b同樣的機(jī)器學(xué)習(xí)思路、分別針對(duì)低緯度(100°~140°E,0°~20°N)和中緯度(100°~140°E,30°~50°N)1月的平均氣溫建立回報(bào)模型,集合平均的回報(bào)結(jié)果與觀測(cè)結(jié)果的相關(guān)系數(shù)分別為0.89和0.33(圖8)。其中的主要原因可能是,相對(duì)于中高緯度的氣候,低緯度的氣候受熱帶和副熱帶海溫的影響更加明顯(圖9)。本文機(jī)器學(xué)習(xí)預(yù)測(cè)模型中的預(yù)測(cè)因子主要是60 °S~60 °N的海表溫度異常和0~300 m的海洋熱含量異常。從氣候動(dòng)力學(xué)的角度理解,本文的機(jī)器學(xué)習(xí)預(yù)測(cè)模型更適合中低緯度的氣候預(yù)測(cè)。如果要建立中高緯度氣候的機(jī)器學(xué)習(xí)預(yù)測(cè)模型,則需要更多地考慮中高緯度氣候系統(tǒng)的影響,如歐亞積雪、北極海冰、極渦等(賀圣平等,2016;He et al.,2020)。需要強(qiáng)調(diào)的是,盡管線性回歸分析表明東亞低緯度的氣溫異常與全球部分地區(qū)的海溫存在顯著的統(tǒng)計(jì)聯(lián)系,但是基于海溫構(gòu)建的線性回歸模型對(duì)東亞氣溫的回報(bào)結(jié)果遠(yuǎn)遠(yuǎn)不如機(jī)器學(xué)習(xí)的回報(bào)效果(圖略)。進(jìn)一步表明機(jī)器學(xué)習(xí)在探索非線性過程方面的明顯優(yōu)勢(shì)。
在機(jī)器學(xué)習(xí)蓬勃發(fā)展之際,本文圍繞機(jī)器學(xué)習(xí)之監(jiān)督學(xué)習(xí)的基本原理、通過線性和非線性以及深度學(xué)習(xí)的機(jī)器學(xué)習(xí)例子,解析機(jī)器學(xué)習(xí)在氣候預(yù)測(cè)中的潛在應(yīng)用。
首先,通過介紹機(jī)器學(xué)習(xí)獲取線性擬合函數(shù)參數(shù)的簡(jiǎn)單例子,解析了機(jī)器學(xué)習(xí)中“訓(xùn)練數(shù)據(jù)”、“標(biāo)簽數(shù)據(jù)”和“損失函數(shù)”的意義,展示了機(jī)器學(xué)習(xí)如何通過“梯度下降”算法減小損失函數(shù)并更新和優(yōu)化參數(shù)、并最終得到合理的線性擬合直線的過程(圖1)。
其次,從矩陣乘法的角度,解析了神經(jīng)網(wǎng)絡(luò)輸入層至隱藏層再到輸出層之間的搭建思路(圖2);并以非線性數(shù)據(jù)集為例子,展示了神經(jīng)網(wǎng)絡(luò)機(jī)器模型擬合非線性函數(shù)曲線的例子,同時(shí)也比較了采用不同“激勵(lì)函數(shù)”的神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果(圖3)。
圖7 卷積神經(jīng)網(wǎng)絡(luò)中每一個(gè)集合提前1個(gè)月、2個(gè)月和3個(gè)月回報(bào)的東亞某區(qū)域(100°~140°E,10°~30°N)1月氣溫與觀測(cè)結(jié)果間相關(guān)系數(shù)的盒須圖(紅點(diǎn)表示動(dòng)力模式CanCM4i回報(bào)結(jié)果與觀測(cè)之間的相關(guān)系數(shù);水平虛線表示通過95%信度檢驗(yàn)的臨界值)Fig.7 Boxplot for correlation coefficients of observation with each ensemble member’s hindcast with one month,two months,and three months in advance;red dot indicate the correlation between the observation and the hindcast by CanCM4i;the horizontal dashed line indicates the value at 95% confidence level
之后,解析了深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)的基本框架,包括卷積核的作用、卷積層和池化層的工作過程,以及池化層如何連接到普通神經(jīng)網(wǎng)絡(luò)(圖4)。最后,介紹了如何通過CMIP5“大數(shù)據(jù)”、利用卷積神經(jīng)網(wǎng)絡(luò)搭建東亞冬季逐月氣溫的預(yù)測(cè)模型,并利用觀測(cè)數(shù)據(jù)展開回報(bào)試驗(yàn)(圖5、圖6和圖7)。同時(shí),討論了氣候動(dòng)力學(xué)知識(shí)指導(dǎo)搭建機(jī)器學(xué)習(xí)預(yù)測(cè)模型的重要性(圖8和圖9)。
圖8 與圖5b類似,1983—2018年1月(100°~140°E,0°~20°N)(a)、(100°~140°E,30°~50°N)(b)區(qū)域平均氣溫異常的預(yù)測(cè)結(jié)果Fig.8 Same as Fig.5(b),but for the hindcast of area-averaged T2m anomalies in January 1983—2018 over (a)0°—20°N,100°—140°E and (b)30°—50°N,100°—140°E
圖9 1983—2018年1月(100°~140°E,0°~20°N)區(qū)域平均(a,b)及(100°~140°E,30°~50°N)區(qū)域平均(c,d)氣溫異常與前期3個(gè)月平均的(12月、11月和10月)海表溫度異常(a,c)、0~300m海洋熱含量異常(b,d)的相關(guān)系數(shù)(陰影),打點(diǎn)區(qū)域表示通過95%信度檢驗(yàn)的值Fig.9 Correlation coefficients(shading) of area-averaged T2m anomalies over (0°—20°N,100°—140°E) in January 1983—2018 with the preceding three months’ mean (October,November,December) (a)sea surface temperature anomalies and (b)oceanic heat content anomalies from surface to 300m;regions with stippling indicate the values significant at 95% confidence level;(c) and (d) are the same as (a) and (b),respectively,but for the area-averaged T2m anomalies over (30°—50°N,100°—140°E) in January 1983—2018
需要指出的是,機(jī)器學(xué)習(xí)已經(jīng)是一門綜合性的學(xué)科,包含了眾多算法,如批量梯度下降法、隨機(jī)梯度下降法、小批量梯度下降法、線性回歸、邏輯回歸、決策樹、樸素貝葉斯、K臨近、學(xué)習(xí)向量化、支持向量機(jī)、隨機(jī)森林等。深度學(xué)習(xí)也只是機(jī)器學(xué)習(xí)的一個(gè)重要分支,其算法包括卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、生成對(duì)抗網(wǎng)絡(luò)和深度強(qiáng)化學(xué)習(xí)。本文只是簡(jiǎn)要介紹了機(jī)器學(xué)習(xí)中的批量梯度下降算法、淺層神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò),旨在初步認(rèn)識(shí)機(jī)器學(xué)習(xí)的原理和作用,為進(jìn)一步深入了解機(jī)器學(xué)習(xí)提供一定的基礎(chǔ)知識(shí)。