鄭宗生,傅澤平,劉 敏,胡晨雨,盧 鵬,姜曉軼
(1.上海海洋大學 信息學院,上海 201306;2.國家海洋信息中心,天津 300171)
臺風是一種對人們的生活、生產等帶來較大影響的災害性天氣,我國受這一災害較為嚴重,它每年給我國東南沿海各省市的工農業生產、交通運輸和人民生命財產安全造成嚴重威脅和巨大損失,所以對臺風的準確監測和預報一直是海洋氣象界關注的熱點。
深度卷積神經網絡的表征學習為其在自然語言處理、大氣科學、物理學,特別是語音識別[1]、機器翻譯[2]、自動汽車駕駛[3]、目標追蹤[4]和生物信息學[5]等等領域的應用提供了算法基礎。深度卷積神經網絡涉及到池化、非線性操作,能通過卷積層疊加連接層的方式完成卷積運算。在圖像處理領域,網絡可以直接輸入原始圖像,避免因為圖像過度預處理造成圖像隱含特征丟失的問題。網絡深度受到行業的關注與AlexNet[6]獲得ILSVRC冠軍有直接關系[7]。VGGNet[8]對19層網絡深度計算發現,top-5的誤差率降至7.3%。GoogleNet[9]優化了算法,將網絡深度疊加至22層。經計算,發現top-5誤差率降至6.67%。雖然網絡深度的增加對多層特征的表達起到了促進作用,但會隨之增大模型復雜度,且會引起網絡退化[10]。文獻[10]指出,在網絡深度疊加至某個臨界點后,繼續增加深度將會造成梯度爆炸或消失,并增大誤差,進而無法滿足訓練收斂的標準。He 等[10]將恒等映射引入至神經元,并得到殘差網絡,進而使得訓練收斂難度有所下降。殘差網絡可讓深度網絡變得更加準確,使得超神經網絡訓練速度有所提升。
殘差網絡設計有跳躍連接的殘差塊,能在深度增加的基礎上緩解梯度消失問題。郭東岳等[11]提出構建兩路多尺度卷積殘差網絡,提取路空通話聲紋識別特征更加準確,降低了信道差異帶來的影響。管珊珊等[12]設計時空圖卷積神經網絡,更好的學習了骨骼數據中的時空信息。徐勝軍等[13]指出,遙感圖像建筑物分割時長受到樹木、道路、電線桿的影響,提取特征難度大。為此,把空洞卷積增大特征提取的感受也逐步地引入到殘差網絡,進而讓特征細節變得更加豐富,捕捉的范圍擴大。Nibali[14]做了大量的肺結節良惡性分類實驗,發現殘差網絡的優化性較強。Haijun Lei[15]等在HEp-2細胞圖分類中做了算法創新,通過深度殘差網絡、深度監督學習算法的聯合應用,發現可以提取到更為詳細、豐富的判別特征。即使各領域專家均進行了殘差網絡改進嘗試,但因該算法的殘差塊存在恒等映射特點,反向傳播的梯度并不會流經分支權重層。所以,必然會出現特征重用現象。衛星云圖中的云系無時無刻不在運動,且云系十分復雜。特別是臺風云系的空間邊界,其灰度值也能在短時間實現大范圍變化。此外,臺風云圖還表現出了明顯的時序特點。所以,在中高層圖像特征信息提取中,臺風云圖的時序變化與螺旋云帶會減少信息的細節特征,從而無法精準的劃分云系邊界[16-17]。
將多個卷積層嵌入殘差塊分支,在擴展網絡結構基礎上,能減少低效率卷積,保留時序特征提取更為豐富的中高層特征,解決特征重用問題。針對傳統殘差神經網絡對氣象衛星云圖進行分類時因數據樣本較小造成殘差網絡參數冗余,訓練開銷大的問題,本文構建了一種新的殘差塊結構,減少模型參數,降低網絡復雜度。最后本文在多個網絡深度上對傳統殘差網絡與改進后的寬殘差網絡進行對比實驗。同時為了驗證模型的泛化性能,在MNIST通用數據集上進行殘差網絡與寬殘差網絡的驗證試驗。
以日本國立情報學研究所(national institute of informatics,NII)發布的數據作為自建臺風數據。這些臺風云圖分辨率高,在西北太平洋上空拍攝而成,跟蹤拍攝衛星為Himawari-8、GMS-5、GOES-9等,共有8 000多景。參考國際臺風分類標準,表1給出了基于臺風中心風速而劃分的臺風級別。

表1 臺風等級標準
臺風由熱帶低壓而來,并在風力、風速達到一定級別之后才能形成臺風。自建數據集共有8 000張,使用了4類標簽,各2 000張。訓練集有6 400張,測試集有1 600張,雙方比重為4∶1。因內容差異、樣本數量可導致過擬合,為此對8 000張圖像作了歸一化處理。經一系列數據擴展技術(偏移、旋轉、翻轉、縮放),使樣本數量得以增加。圖1為部分云圖樣本。

圖1 臺風過程
1.2.1 研究方法
殘差網絡指明了“退化現象”,以殘差單元為基本構建層。殘差單元由ReLu層、BN層、Conv層疊加而來。單個參差單元結構可見圖2所示。假設xl為第l個殘差單元的輸入,則輸出是:

圖2 殘差單元
xl+1=f(xl+F(xl,wl)).
(1)
式中:殘差函數為F(xl,wl),其相應權重參數是wl,而f是非線性激活函數ReLu。
式(1)中,xl和F(xl,wl)具有相同維度。若輸入/輸出通道被改變,二者維度隨之變化。此時,需執射ws線性映射維持二者的維度的一致性。
xl+1=f((wlxl+F(xl,wl)).
(2)
F(殘差函數)的形式并不固定。常見的有兩層卷積層,此外也可以將卷積層疊加至三層。
圖3為殘差網絡標準架構。輸入、輸出的流程為:假設此時向模型輸入1個數據,那么輸入數據將依次流經Conv層、ReLu層、BN層,并向相應殘差單元發送處理結果;重新經過BN層、數個全連接層才能有輸出結果。

圖3 殘差網絡結構
1.2.2 基于恒等映射的殘差塊
研究結果表明,在加深模型深度后,因殘差塊存在恒等映射特點,反向傳播的梯度并不會流經分支權重層,無法到達每個殘差單元,使得學習效果難以達到理想狀態。訓練發現,獲得有用特征的權重殘差單元非常少。為了改變這種缺陷,對殘差結構進行改進。即將1個1×1的卷積、2個3×3的卷積加入到恒等映射內,并按照Conv3×3-Conv3×3-Conv1×1的順序疊加。其中,升維的卷積層為1×1。觀察改進后的結果可以發現,殘差塊中的卷積層數量得以增加,容易全面提取出相關的特征。在特征面增加后,卷積核數量、卷積層寬度都得到了一定程度的改善。Inception v4、VGG[8]指出,在多數情況下,小卷積核可帶來更高的識別效率。為此,文中的卷積核尺寸均在3×3以內。
網絡寬度有所加大之后,網絡訓練反向傳播的整個過程中,梯度會以隨機的形式向主或分支通路流入,詳細情況見圖4。在梯度反向傳播時,因分支通路的卷積層數量偏多,所以分支通路卷積核權重所能保留的臺風在上一過程的圖像特征的數量也會偏多。加上網絡記憶的存在,必然會增加時序特征的數量,并增加學習次數,從而使得殘差塊的利用效率得以提高。研究發現,如果網絡深度達到一定臨界值后擴寬寬度,則有可能出現過擬合,并制約分類效果。綜合考慮后,設計3種深度較淺寬度較寬的殘差網絡模型。比較各模型實驗數據,發現在深度較淺時,擴寬寬度會隨之增強模型分類性能。

圖4 殘差塊
1.2.3 W-ResNet的構建
在同一臺風衛星云圖中,各強度的螺旋云系特征存在極高的關聯相似性[25]。為了提取臺風云圖的細微特征,本文基于提出的新殘差塊構建W-ResNet模型。為了驗證不同深度對模型性能的影響,構建了3種深度的對比網絡。每卷積一次,圖像會隨之縮小。因文中的灰度圖像尺寸為224×224,考慮到提取的特征圖在維度上的要求,最終確定了16層、19層和25層等3種深度。網絡結構對照如表2~4所示。

表2 CNN_16,ResNet_16,W-ResNet_16結構

表3 CNN_19,ResNet_19,W-ResNet_19結構

表4 CNN_25,ResNet_25,W-ResNet_25結構
第1層的卷積核為3×3,Stride=2。針對底層特征,擴大提取范圍。然后,通過最大池化層,濾波器的大小為2×2,步長為2進行下采樣。進一步減小特征圖大小,簡化運算復雜度,然后輸入殘差塊。層數的增加由殘差塊的數量決定。通過殘差塊之后連接一個均值下采樣層,以此完成對氣象衛星云圖的特征提取。
收集NII數據,加快模型處理速度,兼顧實驗器材經濟性要求,確定了實驗環境:計算機采用酷睿i5-8600K @3.6GHz CPU,顯卡NIDIA GeForce GTX1050Ti,內存16G,系統Win10;實驗框架TensorFlow2.0;編程環境python3.6。
實驗的主要成分,包括了三個方面:①在自建的臺風數據集上,分析對不同深度的殘差網絡以及在與殘差網絡同等深度下的CNN模型網絡對臺風云圖的等級分類精度的影響;②對于相同深度的殘差網絡,使用新的殘差塊結構,與傳統殘差網絡對臺風云圖的分類精度對比;③驗證改進的殘差網絡有一定的泛化能力,在MNIST數據集上對16層的寬殘差網絡與殘差網絡做對比實驗。
本實驗建立了6組模型進行對比與分析,其中CNN中分別為16層、19層、25層。對應的殘差網絡使用了主干網絡及其殘差網絡,層數為16層、19層、25層。實驗中16層的CNN具有13個卷積層,2個池化層,1個全連接層。19層的具有16個卷積層,2個池化層,1個全連接層。25層的具有22個卷積層,2個池化層,1個全連接層。卷積核尺寸參照VGG網絡均采用3×3,步長為2的濾波器對臺風衛星云圖的特征進行提取。訓練的參數設定是每次實驗迭代了100次,每批為32張,通過引入Adam作為優化模型,更新神經網絡權重的方法。實驗結果采用最優權值下的結果,表5中網絡參數為網絡總共使用的參數個數。實驗1中3組CNN與3組對應層數的殘差網絡的對比實驗的詳細參數以及在自建臺風數據集的訓練和測試精度見表5。

表5 不同深度的CNN與相對應深度殘差網絡的分類性能
通過表5,容易發現8 000張自建臺風云圖上訓練出的2類網絡因為層數和結構的差異,進而使得訓練效果有所不同。CNN模型隨著深度的增加,模型的分類精度首先會有所增加,這證明了適當的增加網絡的深度與復雜度明顯強化了CNN提取到原始臺風圖像中不同螺旋云系的差別。但是,隨著深度到達一定程度時,模型的分類測試精度反而降低了。這證明了卷積神經網絡確實存在退化現象。而在殘差網絡模型中,隨著深度的加深,臺風云圖的分類測試精度一直在提高,證明殘差網絡的確有效的解決了傳統卷積神經網絡隨著深度的增加,分類精度反而會下降,也就是退化問題。通過將相同層數的殘差網絡與CNN相比可以看出,16層時殘差網絡測試精度比CNN高了7.08%,19層時高了5.61%,25層時高了11.35%,證明了相同層數的CNN與殘差網絡,殘差網絡在自建臺風數據集上具有更佳的性能。從網絡參數上看16層時殘差網絡比CNN多了47 520位參數,19層時殘差網絡卻比CNN少了1 047 776位參數,到了25層時少了4 892 228位參數。證明了深度越深,殘差網絡網絡參數量比較與CNN的優勢越明顯。
針對實驗1中殘差網絡存在的隨著模型深度加深,模型在反向傳播過程中存在不能保證每個神經單元的權值都被更新的問題,實驗2對比了改進之后的寬殘差網絡與原殘差網絡在自建臺風數據集分類性能。實驗設置了3個對照組。W-ResNet-16,W-ResNet-19,W-ResNet-25分別與ResNet-16,ResNet-19,ResNet-25對比。實驗的詳細參數以及在臺風自建數據集的訓練和測試精度詳見表6,其中最優模型W-ResNet-19訓練過程的loss曲線如圖7所示。

圖7 W-Resnet-19訓練loss變化曲線

表6 不同深度的殘差網絡與寬殘差網絡的分類性能
對比表5與表6,可以看出殘差網絡16層訓練精度為99.84%,而19層的訓練精度為99.79%,有一定程度的下降,而在寬殘差網絡中16層訓練精度為99.84%,19層為99.90%反而有了提升,這是因為使用了本文提出的寬殘差網絡結構,通過分支學習到圖像的多維信息,提升了模型的擬合能力。
通過表6,容易發現16層的寬殘差網絡相較于16層的原殘差網絡訓練精度相平而測試精度高了1.9%左右,盡管網絡參數得以提升,然而這些批次的時間也只增加了1s。19層的寬殘差網絡比較于原殘差網絡增加了2.87%。但是,在25層的殘差網絡增加了相同比例的寬度后,測試精度減少了2.04%,這顯示了完全通過增加寬度也難以達到預期要求,要增加一定的深度,否則可能會出現過擬合。相比較于原始的殘差網絡模型,同等深度下,網絡模型參數有一定程度的增加,但是訓練時間在本文的實驗環境中每一個批次只增加了1 s至3 s,而精度提升了1.88%至2.87%,改進之后的寬殘差網絡模型在臺風云圖的自建數據集上具有更好的性能。這主要是因為改進的寬殘差網絡模型可以提高模型在殘差單元的利用情況,從而讓模型的性能有所提升,促進了分類的正確性。
本節將通過使用MNIST數據集進行殘差網絡與寬殘差網絡對比實驗的方式,驗證改進的殘差塊的泛化性。本節采用的MNIST數據集共50 000張28×28維的阿拉伯數字手寫樣本輸入到對比網絡當中,設置訓練條件為迭代80次。實驗結果如圖8所示。

圖8 MNIST數據集上驗證集準確率變化曲線
從圖8中看出,在MNIST數據集上做的對比實驗,寬殘差網絡較于殘差網絡有更好的訓練效果,訓練效果也更為穩定。在測試集上,寬殘差網絡的正確率達到98.786%,殘差網絡達到98.577%,寬殘差網絡提高了約0.2%,由此可以看出寬殘差網絡的泛化能力相對較強。
文中提到了一種改進的殘差網絡臺風等級分類方法,通過加寬的方式改進構成殘差網絡的殘差塊,構建出一種新的殘差網絡,輔助完成臺風強度等級分類,解決了在臺風數據集樣本小的情況下臺風等級分類問題,為臺風預測預報提供了一種新的決策方法。
1)將原殘差網絡與CNN 3種源模型在臺風自建數據上訓練、比較。實驗表明,殘差網絡有效的解決了在傳統卷積神經網絡存在的退化問題,并且分類精度高于CNN。
2)通過加寬網絡的方式,改進了殘差塊。構建同等深度的寬殘差網絡模型。在臺風數據集上訓練學習。實驗表明,寬殘差網絡分類的性能優于原殘差網絡。
3)文中提出適用于自建臺風數據集的寬殘差網絡模型,由于未對數據集做更加優異的預處理,如對云圖進行分割、提取螺旋云帶等,或者可能提出的模型并不是網絡深度和寬度的最佳平衡點。然而,文中提到的加寬殘差塊可用來指導特定領域小樣本數據集。在后續開展的研究里,研究的重點是通過優異數據集預處理來找到寬度和深度最好的平衡點,可能會發揮殘差神經網絡模型在臺風等級分類上更好的網絡性能。