鄭宗生,傅澤平,劉 敏,胡晨雨,盧 鵬,姜曉軼
(1.上海海洋大學(xué) 信息學(xué)院,上海 201306;2.國家海洋信息中心,天津 300171)
臺風(fēng)是一種對人們的生活、生產(chǎn)等帶來較大影響的災(zāi)害性天氣,我國受這一災(zāi)害較為嚴重,它每年給我國東南沿海各省市的工農(nóng)業(yè)生產(chǎn)、交通運輸和人民生命財產(chǎn)安全造成嚴重威脅和巨大損失,所以對臺風(fēng)的準確監(jiān)測和預(yù)報一直是海洋氣象界關(guān)注的熱點。
深度卷積神經(jīng)網(wǎng)絡(luò)的表征學(xué)習(xí)為其在自然語言處理、大氣科學(xué)、物理學(xué),特別是語音識別[1]、機器翻譯[2]、自動汽車駕駛[3]、目標追蹤[4]和生物信息學(xué)[5]等等領(lǐng)域的應(yīng)用提供了算法基礎(chǔ)。深度卷積神經(jīng)網(wǎng)絡(luò)涉及到池化、非線性操作,能通過卷積層疊加連接層的方式完成卷積運算。在圖像處理領(lǐng)域,網(wǎng)絡(luò)可以直接輸入原始圖像,避免因為圖像過度預(yù)處理造成圖像隱含特征丟失的問題。網(wǎng)絡(luò)深度受到行業(yè)的關(guān)注與AlexNet[6]獲得ILSVRC冠軍有直接關(guān)系[7]。VGGNet[8]對19層網(wǎng)絡(luò)深度計算發(fā)現(xiàn),top-5的誤差率降至7.3%。GoogleNet[9]優(yōu)化了算法,將網(wǎng)絡(luò)深度疊加至22層。經(jīng)計算,發(fā)現(xiàn)top-5誤差率降至6.67%。雖然網(wǎng)絡(luò)深度的增加對多層特征的表達起到了促進作用,但會隨之增大模型復(fù)雜度,且會引起網(wǎng)絡(luò)退化[10]。文獻[10]指出,在網(wǎng)絡(luò)深度疊加至某個臨界點后,繼續(xù)增加深度將會造成梯度爆炸或消失,并增大誤差,進而無法滿足訓(xùn)練收斂的標準。He 等[10]將恒等映射引入至神經(jīng)元,并得到殘差網(wǎng)絡(luò),進而使得訓(xùn)練收斂難度有所下降。殘差網(wǎng)絡(luò)可讓深度網(wǎng)絡(luò)變得更加準確,使得超神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度有所提升。
殘差網(wǎng)絡(luò)設(shè)計有跳躍連接的殘差塊,能在深度增加的基礎(chǔ)上緩解梯度消失問題。郭東岳等[11]提出構(gòu)建兩路多尺度卷積殘差網(wǎng)絡(luò),提取路空通話聲紋識別特征更加準確,降低了信道差異帶來的影響。管珊珊等[12]設(shè)計時空圖卷積神經(jīng)網(wǎng)絡(luò),更好的學(xué)習(xí)了骨骼數(shù)據(jù)中的時空信息。徐勝軍等[13]指出,遙感圖像建筑物分割時長受到樹木、道路、電線桿的影響,提取特征難度大。為此,把空洞卷積增大特征提取的感受也逐步地引入到殘差網(wǎng)絡(luò),進而讓特征細節(jié)變得更加豐富,捕捉的范圍擴大。Nibali[14]做了大量的肺結(jié)節(jié)良惡性分類實驗,發(fā)現(xiàn)殘差網(wǎng)絡(luò)的優(yōu)化性較強。Haijun Lei[15]等在HEp-2細胞圖分類中做了算法創(chuàng)新,通過深度殘差網(wǎng)絡(luò)、深度監(jiān)督學(xué)習(xí)算法的聯(lián)合應(yīng)用,發(fā)現(xiàn)可以提取到更為詳細、豐富的判別特征。即使各領(lǐng)域?qū)<揖M行了殘差網(wǎng)絡(luò)改進嘗試,但因該算法的殘差塊存在恒等映射特點,反向傳播的梯度并不會流經(jīng)分支權(quán)重層。所以,必然會出現(xiàn)特征重用現(xiàn)象。衛(wèi)星云圖中的云系無時無刻不在運動,且云系十分復(fù)雜。特別是臺風(fēng)云系的空間邊界,其灰度值也能在短時間實現(xiàn)大范圍變化。此外,臺風(fēng)云圖還表現(xiàn)出了明顯的時序特點。所以,在中高層圖像特征信息提取中,臺風(fēng)云圖的時序變化與螺旋云帶會減少信息的細節(jié)特征,從而無法精準的劃分云系邊界[16-17]。
將多個卷積層嵌入殘差塊分支,在擴展網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上,能減少低效率卷積,保留時序特征提取更為豐富的中高層特征,解決特征重用問題。針對傳統(tǒng)殘差神經(jīng)網(wǎng)絡(luò)對氣象衛(wèi)星云圖進行分類時因數(shù)據(jù)樣本較小造成殘差網(wǎng)絡(luò)參數(shù)冗余,訓(xùn)練開銷大的問題,本文構(gòu)建了一種新的殘差塊結(jié)構(gòu),減少模型參數(shù),降低網(wǎng)絡(luò)復(fù)雜度。最后本文在多個網(wǎng)絡(luò)深度上對傳統(tǒng)殘差網(wǎng)絡(luò)與改進后的寬殘差網(wǎng)絡(luò)進行對比實驗。同時為了驗證模型的泛化性能,在MNIST通用數(shù)據(jù)集上進行殘差網(wǎng)絡(luò)與寬殘差網(wǎng)絡(luò)的驗證試驗。
以日本國立情報學(xué)研究所(national institute of informatics,NII)發(fā)布的數(shù)據(jù)作為自建臺風(fēng)數(shù)據(jù)。這些臺風(fēng)云圖分辨率高,在西北太平洋上空拍攝而成,跟蹤拍攝衛(wèi)星為Himawari-8、GMS-5、GOES-9等,共有8 000多景。參考國際臺風(fēng)分類標準,表1給出了基于臺風(fēng)中心風(fēng)速而劃分的臺風(fēng)級別。
表1 臺風(fēng)等級標準
臺風(fēng)由熱帶低壓而來,并在風(fēng)力、風(fēng)速達到一定級別之后才能形成臺風(fēng)。自建數(shù)據(jù)集共有8 000張,使用了4類標簽,各2 000張。訓(xùn)練集有6 400張,測試集有1 600張,雙方比重為4∶1。因內(nèi)容差異、樣本數(shù)量可導(dǎo)致過擬合,為此對8 000張圖像作了歸一化處理。經(jīng)一系列數(shù)據(jù)擴展技術(shù)(偏移、旋轉(zhuǎn)、翻轉(zhuǎn)、縮放),使樣本數(shù)量得以增加。圖1為部分云圖樣本。
圖1 臺風(fēng)過程
1.2.1 研究方法
殘差網(wǎng)絡(luò)指明了“退化現(xiàn)象”,以殘差單元為基本構(gòu)建層。殘差單元由ReLu層、BN層、Conv層疊加而來。單個參差單元結(jié)構(gòu)可見圖2所示。假設(shè)xl為第l個殘差單元的輸入,則輸出是:
圖2 殘差單元
xl+1=f(xl+F(xl,wl)).
(1)
式中:殘差函數(shù)為F(xl,wl),其相應(yīng)權(quán)重參數(shù)是wl,而f是非線性激活函數(shù)ReLu。
式(1)中,xl和F(xl,wl)具有相同維度。若輸入/輸出通道被改變,二者維度隨之變化。此時,需執(zhí)射ws線性映射維持二者的維度的一致性。
xl+1=f((wlxl+F(xl,wl)).
(2)
F(殘差函數(shù))的形式并不固定。常見的有兩層卷積層,此外也可以將卷積層疊加至三層。
圖3為殘差網(wǎng)絡(luò)標準架構(gòu)。輸入、輸出的流程為:假設(shè)此時向模型輸入1個數(shù)據(jù),那么輸入數(shù)據(jù)將依次流經(jīng)Conv層、ReLu層、BN層,并向相應(yīng)殘差單元發(fā)送處理結(jié)果;重新經(jīng)過BN層、數(shù)個全連接層才能有輸出結(jié)果。
圖3 殘差網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 基于恒等映射的殘差塊
研究結(jié)果表明,在加深模型深度后,因殘差塊存在恒等映射特點,反向傳播的梯度并不會流經(jīng)分支權(quán)重層,無法到達每個殘差單元,使得學(xué)習(xí)效果難以達到理想狀態(tài)。訓(xùn)練發(fā)現(xiàn),獲得有用特征的權(quán)重殘差單元非常少。為了改變這種缺陷,對殘差結(jié)構(gòu)進行改進。即將1個1×1的卷積、2個3×3的卷積加入到恒等映射內(nèi),并按照Conv3×3-Conv3×3-Conv1×1的順序疊加。其中,升維的卷積層為1×1。觀察改進后的結(jié)果可以發(fā)現(xiàn),殘差塊中的卷積層數(shù)量得以增加,容易全面提取出相關(guān)的特征。在特征面增加后,卷積核數(shù)量、卷積層寬度都得到了一定程度的改善。Inception v4、VGG[8]指出,在多數(shù)情況下,小卷積核可帶來更高的識別效率。為此,文中的卷積核尺寸均在3×3以內(nèi)。
網(wǎng)絡(luò)寬度有所加大之后,網(wǎng)絡(luò)訓(xùn)練反向傳播的整個過程中,梯度會以隨機的形式向主或分支通路流入,詳細情況見圖4。在梯度反向傳播時,因分支通路的卷積層數(shù)量偏多,所以分支通路卷積核權(quán)重所能保留的臺風(fēng)在上一過程的圖像特征的數(shù)量也會偏多。加上網(wǎng)絡(luò)記憶的存在,必然會增加時序特征的數(shù)量,并增加學(xué)習(xí)次數(shù),從而使得殘差塊的利用效率得以提高。研究發(fā)現(xiàn),如果網(wǎng)絡(luò)深度達到一定臨界值后擴寬寬度,則有可能出現(xiàn)過擬合,并制約分類效果。綜合考慮后,設(shè)計3種深度較淺寬度較寬的殘差網(wǎng)絡(luò)模型。比較各模型實驗數(shù)據(jù),發(fā)現(xiàn)在深度較淺時,擴寬寬度會隨之增強模型分類性能。
圖4 殘差塊
1.2.3 W-ResNet的構(gòu)建
在同一臺風(fēng)衛(wèi)星云圖中,各強度的螺旋云系特征存在極高的關(guān)聯(lián)相似性[25]。為了提取臺風(fēng)云圖的細微特征,本文基于提出的新殘差塊構(gòu)建W-ResNet模型。為了驗證不同深度對模型性能的影響,構(gòu)建了3種深度的對比網(wǎng)絡(luò)。每卷積一次,圖像會隨之縮小。因文中的灰度圖像尺寸為224×224,考慮到提取的特征圖在維度上的要求,最終確定了16層、19層和25層等3種深度。網(wǎng)絡(luò)結(jié)構(gòu)對照如表2~4所示。
表2 CNN_16,ResNet_16,W-ResNet_16結(jié)構(gòu)
表3 CNN_19,ResNet_19,W-ResNet_19結(jié)構(gòu)
表4 CNN_25,ResNet_25,W-ResNet_25結(jié)構(gòu)
第1層的卷積核為3×3,Stride=2。針對底層特征,擴大提取范圍。然后,通過最大池化層,濾波器的大小為2×2,步長為2進行下采樣。進一步減小特征圖大小,簡化運算復(fù)雜度,然后輸入殘差塊。層數(shù)的增加由殘差塊的數(shù)量決定。通過殘差塊之后連接一個均值下采樣層,以此完成對氣象衛(wèi)星云圖的特征提取。
收集NII數(shù)據(jù),加快模型處理速度,兼顧實驗器材經(jīng)濟性要求,確定了實驗環(huán)境:計算機采用酷睿i5-8600K @3.6GHz CPU,顯卡NIDIA GeForce GTX1050Ti,內(nèi)存16G,系統(tǒng)Win10;實驗框架TensorFlow2.0;編程環(huán)境python3.6。
實驗的主要成分,包括了三個方面:①在自建的臺風(fēng)數(shù)據(jù)集上,分析對不同深度的殘差網(wǎng)絡(luò)以及在與殘差網(wǎng)絡(luò)同等深度下的CNN模型網(wǎng)絡(luò)對臺風(fēng)云圖的等級分類精度的影響;②對于相同深度的殘差網(wǎng)絡(luò),使用新的殘差塊結(jié)構(gòu),與傳統(tǒng)殘差網(wǎng)絡(luò)對臺風(fēng)云圖的分類精度對比;③驗證改進的殘差網(wǎng)絡(luò)有一定的泛化能力,在MNIST數(shù)據(jù)集上對16層的寬殘差網(wǎng)絡(luò)與殘差網(wǎng)絡(luò)做對比實驗。
本實驗建立了6組模型進行對比與分析,其中CNN中分別為16層、19層、25層。對應(yīng)的殘差網(wǎng)絡(luò)使用了主干網(wǎng)絡(luò)及其殘差網(wǎng)絡(luò),層數(shù)為16層、19層、25層。實驗中16層的CNN具有13個卷積層,2個池化層,1個全連接層。19層的具有16個卷積層,2個池化層,1個全連接層。25層的具有22個卷積層,2個池化層,1個全連接層。卷積核尺寸參照VGG網(wǎng)絡(luò)均采用3×3,步長為2的濾波器對臺風(fēng)衛(wèi)星云圖的特征進行提取。訓(xùn)練的參數(shù)設(shè)定是每次實驗迭代了100次,每批為32張,通過引入Adam作為優(yōu)化模型,更新神經(jīng)網(wǎng)絡(luò)權(quán)重的方法。實驗結(jié)果采用最優(yōu)權(quán)值下的結(jié)果,表5中網(wǎng)絡(luò)參數(shù)為網(wǎng)絡(luò)總共使用的參數(shù)個數(shù)。實驗1中3組CNN與3組對應(yīng)層數(shù)的殘差網(wǎng)絡(luò)的對比實驗的詳細參數(shù)以及在自建臺風(fēng)數(shù)據(jù)集的訓(xùn)練和測試精度見表5。
表5 不同深度的CNN與相對應(yīng)深度殘差網(wǎng)絡(luò)的分類性能
通過表5,容易發(fā)現(xiàn)8 000張自建臺風(fēng)云圖上訓(xùn)練出的2類網(wǎng)絡(luò)因為層數(shù)和結(jié)構(gòu)的差異,進而使得訓(xùn)練效果有所不同。CNN模型隨著深度的增加,模型的分類精度首先會有所增加,這證明了適當?shù)脑黾泳W(wǎng)絡(luò)的深度與復(fù)雜度明顯強化了CNN提取到原始臺風(fēng)圖像中不同螺旋云系的差別。但是,隨著深度到達一定程度時,模型的分類測試精度反而降低了。這證明了卷積神經(jīng)網(wǎng)絡(luò)確實存在退化現(xiàn)象。而在殘差網(wǎng)絡(luò)模型中,隨著深度的加深,臺風(fēng)云圖的分類測試精度一直在提高,證明殘差網(wǎng)絡(luò)的確有效的解決了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)隨著深度的增加,分類精度反而會下降,也就是退化問題。通過將相同層數(shù)的殘差網(wǎng)絡(luò)與CNN相比可以看出,16層時殘差網(wǎng)絡(luò)測試精度比CNN高了7.08%,19層時高了5.61%,25層時高了11.35%,證明了相同層數(shù)的CNN與殘差網(wǎng)絡(luò),殘差網(wǎng)絡(luò)在自建臺風(fēng)數(shù)據(jù)集上具有更佳的性能。從網(wǎng)絡(luò)參數(shù)上看16層時殘差網(wǎng)絡(luò)比CNN多了47 520位參數(shù),19層時殘差網(wǎng)絡(luò)卻比CNN少了1 047 776位參數(shù),到了25層時少了4 892 228位參數(shù)。證明了深度越深,殘差網(wǎng)絡(luò)網(wǎng)絡(luò)參數(shù)量比較與CNN的優(yōu)勢越明顯。
針對實驗1中殘差網(wǎng)絡(luò)存在的隨著模型深度加深,模型在反向傳播過程中存在不能保證每個神經(jīng)單元的權(quán)值都被更新的問題,實驗2對比了改進之后的寬殘差網(wǎng)絡(luò)與原殘差網(wǎng)絡(luò)在自建臺風(fēng)數(shù)據(jù)集分類性能。實驗設(shè)置了3個對照組。W-ResNet-16,W-ResNet-19,W-ResNet-25分別與ResNet-16,ResNet-19,ResNet-25對比。實驗的詳細參數(shù)以及在臺風(fēng)自建數(shù)據(jù)集的訓(xùn)練和測試精度詳見表6,其中最優(yōu)模型W-ResNet-19訓(xùn)練過程的loss曲線如圖7所示。
圖7 W-Resnet-19訓(xùn)練loss變化曲線
表6 不同深度的殘差網(wǎng)絡(luò)與寬殘差網(wǎng)絡(luò)的分類性能
對比表5與表6,可以看出殘差網(wǎng)絡(luò)16層訓(xùn)練精度為99.84%,而19層的訓(xùn)練精度為99.79%,有一定程度的下降,而在寬殘差網(wǎng)絡(luò)中16層訓(xùn)練精度為99.84%,19層為99.90%反而有了提升,這是因為使用了本文提出的寬殘差網(wǎng)絡(luò)結(jié)構(gòu),通過分支學(xué)習(xí)到圖像的多維信息,提升了模型的擬合能力。
通過表6,容易發(fā)現(xiàn)16層的寬殘差網(wǎng)絡(luò)相較于16層的原殘差網(wǎng)絡(luò)訓(xùn)練精度相平而測試精度高了1.9%左右,盡管網(wǎng)絡(luò)參數(shù)得以提升,然而這些批次的時間也只增加了1s。19層的寬殘差網(wǎng)絡(luò)比較于原殘差網(wǎng)絡(luò)增加了2.87%。但是,在25層的殘差網(wǎng)絡(luò)增加了相同比例的寬度后,測試精度減少了2.04%,這顯示了完全通過增加寬度也難以達到預(yù)期要求,要增加一定的深度,否則可能會出現(xiàn)過擬合。相比較于原始的殘差網(wǎng)絡(luò)模型,同等深度下,網(wǎng)絡(luò)模型參數(shù)有一定程度的增加,但是訓(xùn)練時間在本文的實驗環(huán)境中每一個批次只增加了1 s至3 s,而精度提升了1.88%至2.87%,改進之后的寬殘差網(wǎng)絡(luò)模型在臺風(fēng)云圖的自建數(shù)據(jù)集上具有更好的性能。這主要是因為改進的寬殘差網(wǎng)絡(luò)模型可以提高模型在殘差單元的利用情況,從而讓模型的性能有所提升,促進了分類的正確性。
本節(jié)將通過使用MNIST數(shù)據(jù)集進行殘差網(wǎng)絡(luò)與寬殘差網(wǎng)絡(luò)對比實驗的方式,驗證改進的殘差塊的泛化性。本節(jié)采用的MNIST數(shù)據(jù)集共50 000張28×28維的阿拉伯數(shù)字手寫樣本輸入到對比網(wǎng)絡(luò)當中,設(shè)置訓(xùn)練條件為迭代80次。實驗結(jié)果如圖8所示。
圖8 MNIST數(shù)據(jù)集上驗證集準確率變化曲線
從圖8中看出,在MNIST數(shù)據(jù)集上做的對比實驗,寬殘差網(wǎng)絡(luò)較于殘差網(wǎng)絡(luò)有更好的訓(xùn)練效果,訓(xùn)練效果也更為穩(wěn)定。在測試集上,寬殘差網(wǎng)絡(luò)的正確率達到98.786%,殘差網(wǎng)絡(luò)達到98.577%,寬殘差網(wǎng)絡(luò)提高了約0.2%,由此可以看出寬殘差網(wǎng)絡(luò)的泛化能力相對較強。
文中提到了一種改進的殘差網(wǎng)絡(luò)臺風(fēng)等級分類方法,通過加寬的方式改進構(gòu)成殘差網(wǎng)絡(luò)的殘差塊,構(gòu)建出一種新的殘差網(wǎng)絡(luò),輔助完成臺風(fēng)強度等級分類,解決了在臺風(fēng)數(shù)據(jù)集樣本小的情況下臺風(fēng)等級分類問題,為臺風(fēng)預(yù)測預(yù)報提供了一種新的決策方法。
1)將原殘差網(wǎng)絡(luò)與CNN 3種源模型在臺風(fēng)自建數(shù)據(jù)上訓(xùn)練、比較。實驗表明,殘差網(wǎng)絡(luò)有效的解決了在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)存在的退化問題,并且分類精度高于CNN。
2)通過加寬網(wǎng)絡(luò)的方式,改進了殘差塊。構(gòu)建同等深度的寬殘差網(wǎng)絡(luò)模型。在臺風(fēng)數(shù)據(jù)集上訓(xùn)練學(xué)習(xí)。實驗表明,寬殘差網(wǎng)絡(luò)分類的性能優(yōu)于原殘差網(wǎng)絡(luò)。
3)文中提出適用于自建臺風(fēng)數(shù)據(jù)集的寬殘差網(wǎng)絡(luò)模型,由于未對數(shù)據(jù)集做更加優(yōu)異的預(yù)處理,如對云圖進行分割、提取螺旋云帶等,或者可能提出的模型并不是網(wǎng)絡(luò)深度和寬度的最佳平衡點。然而,文中提到的加寬殘差塊可用來指導(dǎo)特定領(lǐng)域小樣本數(shù)據(jù)集。在后續(xù)開展的研究里,研究的重點是通過優(yōu)異數(shù)據(jù)集預(yù)處理來找到寬度和深度最好的平衡點,可能會發(fā)揮殘差神經(jīng)網(wǎng)絡(luò)模型在臺風(fēng)等級分類上更好的網(wǎng)絡(luò)性能。