李社宏
(陜西省氣象局,西安 710014)
近年來,深度學習理論與技術取得了重大突破,日臻完善,其大規模研究應用的浪潮奔涌而至,在語音識別、人臉識別、自然語言處理、自動駕駛、搜索廣告CTR預估等眾多領域的應用日益廣泛,并迅速向經濟發展、社會生活等各個領域滲透,深度學習已經成為各行各業戰略轉型、創新發展的重要源頭和強大動力。在氣象領域早日引入深度學習技術,推進氣象科技創新發展,重要而迫切,也面臨嚴峻挑戰。面臨挑戰的原因主要在于,深度學習和氣象科技分別都是非常龐大且復雜的知識體系,兩個知識體系疊加后的復雜程度遠遠超出了個人(甚至超級專家)可以掌控的范圍。要同時駕馭這兩個復雜知識體系,需要轉變傳統思維方式和學習方法,運用整體性學習策略,首先構建氣象領域深度學習的知識體系框架,并依此組建團隊,依靠團隊的力量快速進入新領域。本文按照整體性學習的理論和方法,給出了一個初步的氣象領域深度學習的知識體系框架,并簡單介紹了當前主流的深度學習框架工具Caffe和TensorFlow,以及深度學習在氣象領域的幾個前沿應用,最后提出了推進深度學習技術在氣象領域研究應用應當重視的幾個關鍵環節。
數據挖掘(data mining,DM)是指從海量數據中通過算法搜索隱藏于其中的信息和知識的過程。數據挖掘需要運用大量機器學習領域提供的數據分析技術和數據庫領域提供的數據管理技術。
機器學習(machine learning, ML)是一門專門研究計算機如何模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構,使之不斷改善自身性能的學科。機器學習是人工智能的核心,是使計算機具有智能的根本途徑。
深度學習(deep learning,DL)是機器學習的一個新領域,通過建立模擬人腦進行分析學習的多層神經網絡,模仿人腦的機制來解釋數據,例如視頻、圖像、聲音和文本等數據。深度學習的優勢是能夠通過學習算法自動獲取數據特征,同時由于模型的層次、參數很多,容量足夠,因此模型擅長于表示大規模數據。深度學習方法主要包括監督學習與無監督學習兩種。例如,卷積神經網絡(convolutional neural networks, CNN)就是一種監督學習模型,而深度置信網(deep belief nets,DBN)就是一種無監督學習模型。
數據挖掘、機器學習和深度學習三者之間既有聯系,區別也十分明顯。首先,數據挖掘是一個很寬泛的概念,不僅要研究、拓展、應用機器學習技術,還要使用數據庫技術、數據清洗等非機器學習技術。其次,機器學習不僅涉及對數據的分析處理,還涉及對人的認知學習過程的探索,是人工智能的核心研究領域之一,也是數據挖掘的重要工具。再次,深度學習是機器學習的一個新的熱門領域,本質上來源于多隱層的神經網絡。總之,數據挖掘的技術成分更重一些,機器學習的科學成分更重一些。數據挖掘是從目的而言的,側重于把數據轉化為有用的信息和知識,而機器學習是從理論和方法而言的,側重于如何科學高效的實現這種轉化。
從技術角度而言,深度學習是一系列復雜知識和技術的組合,真正全面掌握深度學習技術是一件很難的事情。何況,把深度學習應用到氣象領域,還需要掌握氣象領域的復雜的知識和技術,難度大幅度增加。如何克服困難,跨越這個難度,需要同時從兩個方面著手。一是通過搭建氣象領域深度學習知識體系框架,高效學習、快速進入深度學習領域。二是建立團隊,發揮團隊成員在各自領域的技術優勢,分工合作。這兩方面措施需要同時采取,同時發力,才能取得效果。這里重點探討第一個方面。
整體性學習是一種高效學習理論,它在深入研究和科學借鑒人類大腦工作機理的基礎上,充分發揮大腦結構和大腦中豐富的神經元的作用,通過創建知識網絡,將一個個孤立的知識關聯起來,以達到對知識的完全理解和輕松駕馭[1]。運用整體性學習理論,可幫助我們快速高效學習有關深度學習知識,并與氣象知識建立關聯,快速進入深度學習龐大而復雜的知識領域。整體性學習首要的是建立知識體系框架,作者通過閱讀大量相關資料并進行梳理,建立了一套氣象領域深度學習知識體系框架。氣象領域深度學習知識體系框架主要包括:大數據平臺、數據獲取、實時數據流處理、歷史數據交互式處理、復雜的批量數據處理、機器學習、深度學習和應用云化,共八個部分,每部分還可繼續細分,如圖1。圖1中陰影部分的內容是與氣象領域有關的知識,其余為通用的深度學習知識。

圖1 氣象領域深度學習知識體系框架
目前,深度學習正處于蓬勃發展階段,各種深度學習框架工具層出不窮,發展迅速,迭代周期短。常見的深度學習框架工具有Caffe、TensorFlow、Theano、Torch、DeepLearning4j、Marvin等。這里介紹兩個成熟、易于掌握、使用普遍的通用深度學習框架,即Caffe和TensorFlow,以便對深度學習框架有一個基本認識。
Caffe(全稱convolutional architecture for fast feature embedding,快速特征嵌入卷積框架)是一個清晰、高效、高可讀的深度學習框架,作者是賈揚清。Caffe支持命令行、Python和Matlab接口,可以在CPU和GPU之間無縫切換運行。Caffe的優勢是:網絡結構定義簡單、容易上手、運行速度快、模塊化、開源和活躍的社區等,是目前圖像識別領域的主流框架。
TensorFlow是谷歌研發的第二代人工智能學習系統,其命名來源于本身的運行原理。Tensor(張量)意味著N維數組,Flow(流)意味著基于數據流圖的計算,TensorFlow為張量從流圖的一端流動到另一端的計算過程。TensorFlow是將復雜的數據結構傳輸至人工智能神經網中進行分析和處理的系統,其優勢是:靈活性和可延展性,同時還支持異構設備分布式計算,可在小到一部智能手機、大到數千臺數據中心服務器的各種設備上運行。TensorFlow被廣泛用于語音識別或圖像識別等多項深度學習領域。TensorFlow也是開源的,且社區繁榮。
需要說明的是,Caffe和TensorFlow都可以在官網上下載到源碼、測試數據集(如CIFAR-10、MNIST數據集等)和詳細的安裝配置指南,也可在網絡社區找到豐富的學習資料和操作案例,二者都可在單機上調試運行,非常方便初學者入門與提高。
這里,簡要介紹國內外把深度學習技術應用于氣象領域的幾個前沿研究與應用,以概要了解相關領域的發展思路、發展方向、發展態勢及進展。
在視頻流中實時發現目標及其運動情況,是目前深度學習技術的一個熱門應用領域。在氣候數據集中發現極端天氣系統,與在視頻流中發現目標及其運動情況非常相似。不同之處在于,在氣候數據集中,“視頻”有16個或更多的“通道”信息(如氣壓、溫度、濕度、風向風速等),而傳統的視頻中只有3個通道(RGB)。基于這樣的思路,Liu Yunjie等開發了深層卷積神經網絡天氣系統識別系統,通過Caffe建立了卷積神經網絡并調優,用歷史氣候數據集進行了網絡訓練[2]。該CNN共有4個學習層,其中包括2個卷積層和2個全連接層,每個卷積層之后緊跟一個最大池化層。研究中使用了兩種資料:氣候模擬資料和再分析資料,時間范圍從1908年至2009年,時間跨度超過了100年,樣本數5 000到10 000不等,各種天氣系統的真實標注數據來自TECA分析輸出,由專家手動標注完成。該CNN網絡識別熱帶氣旋、水汽輸送帶、鋒面等天氣系統的準確率達到了89%~99%。Evan Racah等則更進一步考慮用一個統一的網絡對多種類型天氣系統進行識別,這是對這個問題的一個更高級的、類似于3D卷積神經網絡的、半監督學習的思路,已取得了良好進展[3]。
王艦鋒等運用卷積神經網絡開展了衛星云圖判識研究,并在此基礎上進行了衛星云量計算[4]。首先,在中國資源衛星網下載了HJ-1A/1B衛星資料,經過預處理,分別建立了訓練樣本集和測試樣本集。其中訓練樣本集包括厚云、薄云和晴空三類各3 000個樣本,測試樣本集包括厚云、薄云和晴空三類各1 000個樣本。對所有云圖樣本圖像都進行了歸一化處理,處理后的圖像像素大小為32×32,以此作為卷積神經網絡的輸入。其次,建立卷積神經網絡CNN,其架構包含輸入層、卷積層、池化層、全連接層、Softmax分類層和輸出層,利用該CNN對9 000個訓練樣本進行訓練,對3 000個測試樣本進行測試。第三,對卷積神經網絡從網絡層數、濾波器個數、濾波器大小等幾個方面進行了優化。結論是:當卷積神經網絡的層數為6層時,網絡分類的準確率最高;當第一層濾波器個數為12個,第二層濾波器個數為16個時,網絡分類的準確率最高;當第一層濾波器大小為5×5,第二層濾波器大小為7×7時,網絡分類的準確率最高。優化后,網絡對云分類的準確率達到了91.4%。第四,在運用訓練后的CNN對多通道衛星云圖進行檢測基礎上,采用基于反射率檢測的算法開展總云量計算,最終得到云量分布圖。第五,經比較傳統閾值法、動態閾值法、極限學習機模型和卷積神經網絡,結果表明基于卷積神經網絡的云量計算準確率最高,接近90%。
張振等研究了基于深度學習的數字地基全天空云圖分類方法[5]。研究使用了中國氣象科學研究院和北京交通大學共同發布的全天空云圖數據集,該數據集由布設在西藏的全天空云圖成像儀采集獲得,數據采集時間為2012年8月至2014年7月,共篩選出5 000張全天空云圖像,定義了5種云圖像類別,分別是:卷狀云、積狀云、層狀云、晴空和混合云,每種類別1 000張云圖。研究使用的深度學習框架為Caffe,卷積神經網絡結構包括:三個卷積層、兩個全連接層以及分類器層,每個卷積層后邊都有池化層,池化層采用了最大值策略。針對小樣本數據集標注樣本較少的局限性,研究采用了遷移學習的思想和樣本圖像擴容技術。遷移學習即采用CaffeModel參數(ImageNet網絡參數)初始化CNN前兩層卷積層參數,然后再微調整個網絡,此方法取得了最好的分類準確率。數據擴容即對原始全天空圖采用拉伸、旋轉、鏡像、切割、改變縱橫比等方法,產生新的樣本。采用數據擴容使得原始數據集擴展了10倍。研究結果表明,基于深度學習的分類方法的準確率達到了98.4%,比基于統計學的傳統分類方法提高了20%以上,這是目前已知的最好的分類結果。研究還建立了全天空云圖分類平臺,用戶可將單張或多張云圖圖像提交平臺,經過后端運算,返回分類結果。
毋庸置疑,深度學習技術在氣象領域有著廣闊的應用前景,氣象領域也呼喚著深度學習技術能夠早日加入。加快推進深度學習技術在氣象領域的研究應用,積極主動迎接氣象領域深度學習時代的到來,需要優先重視以下三個關鍵環節。
2012年以來,深度學習技術得以快速發展,主要取決于三個方面的有利因素:深度學習技術自身的突破、更大的數據集以及GPU等計算機硬件能力的提升。其中,深度學習技術自身的突破、計算機硬件能力的提升不是我們能左右的,只有更大的數據集與氣象有關。由此可以相信,在氣象領域引入深度學習技術的最大瓶頸將是適合機器學習的標準數據集建設,同時需要建立開放網絡社區,吸引更多的愛好者參與社區交流。
一個值得思考的現象是,目前氣象領域深度學習的研究與應用多數是由高校、研究機構、企業等非氣象機構的團隊主導,這些團隊先掌握了深度學習技術,然后把這項技術擴展應用到了氣象領域,本文所列舉的三個前沿應用都屬于這種情況。相反,來自氣象機構的團隊以氣象技術為基礎,主動向深度學習技術領域擴展的則較少,或者說難度較大。克雷頓·克里斯滕森(美)在《創新者的窘境》一書中提出了“傳統業務天生對創新具有絞殺功能”的觀點,通過大量案例分析,作者還歸納了這種現象產生的深層次原因,并給出了應對法則,以改進突破性技術創新管理,很值得借鑒。
具有氣象技術背景的人員要引入深度學習技術,大多會認為難度太大、難以跨越,對深度學習產生畏懼感。事實上,近年來深度學習技術發展非常迅速,通用學習工具簡單易用,樣本數據集豐富,操作說明齊全,對硬件的要求降低到可單機運行,深度學習的門檻已大大降低。團隊和個人只要采取針對性措施,克服畏難心理,完全可以早日跨越深度學習的技術門檻,在深度學習的海洋中遨游。
建立深度學習知識體系框架有利于從技術層面快速進入深度學習時代。本文給出了一個氣象領域深度學習的知識體系框架,在此基礎上介紹了兩種通用深度學習工具,以及天氣系統識別、衛星云圖識別和地基全天空云圖分類等三個基于深度學習的氣象應用,最后指出了建立氣象標準數據集、改進創新管理方式和克服畏難心理的重要性。
[1] 斯科特·揚.如何高效學習[M].程冕,譯.北京:機械工業出版社,2016:223-224.
[2] LIU Yunjie, RACAH Evan,PRABHAT,et al. Application of deep convolutional neural networks for detecting extreme weather in climate datasets(R/OL). (2016-05-04)[2017-11-03].http://worldcomp-proceedings.com/proc/p2016/ABD6152.pdf.
[3] RACAH Evan,BECKHAM Christopher, MAHARAJ Tegan, et al.Semi-Supervised detection of extreme weather events in large climate datasets(R/OL).(2016-12-07)[2017-11-03].http://pdfs.semanticscholar.org/3fae/be9d5c47fc90998811c4ac768706283d605c.pdf.
[4] 王艦鋒.基于卷積神經網絡的衛星云量計算[D].南京:南京信息工程大學, 2016.
[5] 張振.基于深度學習的全天空云圖分類方法研究[D].北京:北京交通大學,2016.