花凡,李莉,蔡鑫楠,徐健
(天津職業技術師范大學,天津 300222)
長期以來,空氣溫度都是影響著人們生活的重要條件。一方面,會影響到人們的日?;顒樱藗兺ㄟ^天氣預報提前知道未來的天氣,計劃自己的出行、著裝及其它活動。另一方面,空氣溫度也影響著農業、社會產業、制造業等行業的發展。特別是農業生產,面對突如其來的氣候變化,如果不能采取及時、恰當的保護措施,就有可能導致農作物減產、甚至使當季的農作物全毀。
人類對天氣溫度的預測始于建立大氣運動方程組,在一定的初始值和邊界值的條件下,對這個方程組進行積分,來預測未來的天氣溫度。到了20 世紀,人們開始思考如何讓天氣溫度預測的準確性變高。Richardson[1]動用了大量的人力進行了天氣預報的數值化研究,但是卻未能取得理想結果,與實際天氣溫度有較大的差距。隨著現代科技的不斷發展,世界上第一臺計算機ENIAC 成功問世,1950年,Charney 基于濾去高頻波后的大氣運動方程組,利用ENIAC 首次實現了對天氣溫度24 h 的數值預測[2]。此后,數值天氣預報也取得可觀進展,已然成為預報天氣的主要手段。此后不久,科研人員又把統計學應用到天氣溫度研究領域,采集歷史天氣溫度的數據,通過數學統計等原理建立更準確的預測模型。正如2021 年獲得諾貝爾物理學獎的3 位科學家的研究結果指出的一樣:天氣多變且混亂,是一個充滿隨機性和無序性的復雜模型[3-5]。
在智能化浪潮奔涌而至的背景下,深度學習模型在人臉識別、語音識別應用中的準確度已經趕超人類[6]。而在天氣預測方面,通過深度學習模型,可以對觀測到的天氣數據進行更加全面的分析。并且對未來的氣溫進行更加精準的預測。
長短期記憶網絡(Long short -term memory networks,LSTM)[7-9]是一種特殊的遞歸神經網絡(Recurrent Neural Network,RNN),由于RNN 在訓練長序列的過程中會產生梯度消失與梯度爆炸的問題,人們就在RNN 的基礎上引入了細胞狀態,于是產生了LSTM。所以LSTM 在處理長序列時有較好的表現。LSTM 與RNN 的結構很相似,最大的不同就是隱藏層。LSTM 的隱藏層具有特殊的記憶單元(cell)結構和三門機制,通過門控狀態來控制傳輸狀態,記住需要長時間記憶的,忘記不重要的信息,而不像普通的RNN 那樣僅有一種記憶疊加方式。故而LSTM 在一定程度上克服了RNN 的梯度問題。所有RNN 都具有一種重復神經網絡模塊的鏈式的形式。在標準的RNN中,這個重復的模塊只有一個非常簡單的結構,比如一個tanh 層。LSTM 也是同樣的結構,但是重復的模塊擁有一個不同的結構。不同于單一神經網絡層,這里是有4個,以一種非常特殊的方式進行交互。RNN 與LSTM 的結構對比如圖1 與圖2 所示。

圖1 RNN 結構Fig.1 Structure of RNN

圖2 LSTM 結構Fig.2 Structure of LSTM
LSTM 的記憶模塊主要包含了遺忘門(forget gate)、輸入門(input gate)、輸出門(output gate)和記憶單元(cell)。LSTM 的工作流程可做分述如下:
Step 1遺忘門會讀取t -1 時刻的隱藏層輸出ht-1和當前輸入xt,再通過sigmoid函數計算出遺忘門的輸出ft,來決定需要丟棄的信息。其中,ft的計算公式見如下:

Step 2輸入門根據t -1 時刻的隱藏層輸出ht-1和當前輸入xt計算當前輸入有多少保存到Ct,并通過tanh 生成新的。其中∈ (-1,1) 。研究后推得的計算公式分別如下:


進一步,還可推得Ct的數學定義式具體如下:

Step 3輸出門控制Ct輸出到ht,使用tanh對Ct壓縮到 (-1,1),再通過sigmoid函數得出最終輸出ht。為此可推導得到的數學公式表示如下:

其中,Wf,Wi,Wc,Wo均為權重矩陣;bf,bi,bc,bo均為各個網絡層的偏執向量;σ是sigmoid函數。
門循環單元(Gated Recurrent Unit,GRU)[10-12]和LSTM 一樣,都是基于門控制的循環神經網絡,但是結構比LSTM 更簡單,并且也可以解決RNN 中的梯度問題,其結構如圖3 所示。

圖3 GRU 結構圖Fig.3 Structure of GRU
GRU 將LSTM 的忘記門與輸入門結合起來,所以GRU 只有2 個門:更新門(update gate)和重置門(reset gate)。由圖3 可知,zt與rt分別表示更新門與重置門,rt控制保留ht-1傳遞的記憶,zt在功能上實現了LSTM 中遺忘門和輸入門的功能,決定丟棄與保存的信息,兩者結合得到最后輸出的隱藏層信息。這里,將依次給出計算當前輸出狀態的數學公式重點如下:

其中,σ表示sigmoid函數;Wz,Wr,Wh和Wo表示各權重矩陣;h表示的是隱藏層信息;bz,br,bh和bo均為各個網絡層的偏執向量;tanh 表示輸出的激活函數。
深度神經網絡(Deep Neural Networks,DNN)[13-15]內部的神經網絡層可以分為3 類:輸入層、隱藏層和輸出層,如圖4 所示??偟貋碚f,第一層是輸入層,中間數層都是隱藏層,而最后一層是輸出層。

圖4 DNN 的結構Fig.4 Structure of DNN
一般來說,神經網絡的輸入層并不計算在內,隱藏層與輸出層共有幾層,這個神經網絡就是幾層。故分析可知,圖4 中的神經網絡就是4 層。
DNN 中層與層之間是全連接的,第n層中的任意一個神經元在第n +1 層中都有與之連接的神經元。且彼此之間的關系都是由一個線性關系z=∑wixi+bi和激活函數sigmoid函數連接而成。
假設l -1 層有m個神經元,則對于第l層的第j個神經元的輸出可由如下公式計算求得:

氣象時間序列來自于Max Planck Institute for Biogeochemistry[16]收集的氣象時間序列數據集,該數據集含有14 個不同的特征,例如氣溫、壓強、溫度與密度等。從2003 年開始,每隔10 min 就收集一次天氣信息。本文使用2009~2016 年之間收集的數據。
為了減少LSTM 深度學習模型的訓練時長,使LSTM 深度學習模型的預測更加準確,需要縮放特征,對數據進行歸一化處理,將值縮放到(0,1)范圍內。本文采用的是z -score標準化,相應的數學公式可寫為:

本文提出的LSTM 深度學習模型是由一個輸入層、一個隱藏層、一個輸出層構成。輸入層由32 個神經元組成,經過72 個神經元組成的隱藏層處理后輸出為16個神經元。為了比較LSTM 模型對氣溫預測的準確性,本文設置了DNN 與GRU 兩個模型為對照組,保證DNN 與GRU 模型輸入層、隱藏層、輸出層的層數與神經元個數和LSTM 模型相同,比較3 個模型的預測精度。
本文在LSTM 模型中加入了取最大值(Rectified Linear Units,relu)激活函數,如式(14)所示:

可以在一定程度上減少運算量,避免層數增加的問題。當神經元取值為負數時,relu會使其輸出為0,這樣就會使網絡變得稀疏,簡化了參數之間的聯系,可以有效地減少過擬合。
至此,研究給出的算法流程具體如圖5 所示。這里,對算法的設計流程可進行闡釋分述如下:

圖5 算法具體流程Fig.5 Specific flowchart of the algorithm
Step 1原始數據輸入,將氣象數據集按照7∶3 劃分成數據集與驗證集。
Step 2數據標準化,將數據縮放到(0,1)范圍內。
Step 3構建LSTM 模型、DNN 模型、GRU 模型。
Step 4將Step2 中的數據集分別輸入3 個模型進行訓練,尋找最優的訓練次數。
Step 5輸出每個模型的MSE結果進行比較。
對于預測結果好壞的判定方法,選用MSE。指標運算可由下式求得:

MSE的值越小,說明LSTM 預測就越精確。
本文搭建的LSTM 預測模型由1 個輸入層、3個隱藏層、1 個輸出層構成。每10 min 收集一次數據,所以1 h 有6 個數據。本文用5 天的數據、也就是720 個數據作為訓練集來預測,用12 h、共72 個數據作為測試集。實驗使用服務器配置為i5 8 GRAM,1050TI 顯卡,系統為Windows10。深度學習框架使用Tensor Flow。在訓練模型的過程中,為了加快LSTM 深度學習模型的學習速率與收斂速率,本文加入RMSprop優化器進行優化。訓練次數(epoch)如果太少,將不足以提取全部特征,太多又會發生過擬合的情況。經過多次實驗,最終確定epoch為10。訓練過程中損失函數的變化如圖6 所示。圖6中,橫坐標為epoch的次數,可以看到LSTM 模型訓練較好。

圖6 損失函數變化曲線Fig.6 Variation curve of loss function
為了驗證模型的精確度,分別用了DNN 模型、GRU 模型對天氣溫度進行預測。訓練集與測試集保持一致。DNN 模型、GRU 模型與LSTM 模型預測效果如圖7 所示,橫坐標為預測的12 h。整個訓練過程中,3 個模型的性能指標見表1。

表1 3 種模型的MSE 結果Tab.1 MSE results for the three models

圖7 3 種模型預測結果Fig.7 Prediction results of three models
由圖7 可知,3 種方法均在真實值附近波動,都可以預測天氣溫度。通過表1 可以看出,LSTM 的訓練集與測試集的MSE都是最低的,說明LSTM 深度學習模型的預測效果更好,預測精度更高。
本文采用LSTM 建立模型,通過前5 天的數據來預測未來12 個小時,并通過加入RMSprop優化器,有效提高各性能指標來預測精度。從結果上來說,與GRU 和DNN 模型相比,基于LSTM 建立的模型預測的結果具有更高的預測精度。本文研究表明,LSTM 在處理長時間序列上具有更好的性能,適合用于氣溫預測等應用。并且在處理較大數據集時具有更好的性能。