?

基于LSTM的活立木莖干水分缺失數據填補方法*

2020-03-19 07:23趙燕東
林業科學 2020年2期
關鍵詞:預測值神經網絡誤差

宋 維 高 超 趙 玥 趙燕東

(1.北京林業大學工學院 北京 100083;2.北京工商大學計算機與信息工程學院 北京 100048;3.北京林業大學城鄉生態環境北京實驗室 北京 100083)

水是植物進行新陳代謝活動的基礎,是植物細胞的重要組成組成部分(鄭榮良等,1996)??焖佾@取植物的水分狀況對于植物生理狀態的研究和農業精準灌溉有重要意義(許世衛等,2015;吳沿友等,2015)。植物水分狀態信息是一種時間序列數據,與實際應用結合密切的時間序列的數據亦是目前數據挖掘領域中的熱點(Lietal.,2011;Xiaoetal.,2019)。植物信息數據通過特定的傳感器監測獲得,但受制于設備故障、電力故障、惡劣氣候等因素影響,數據缺失率較高(Moffatetal.,2007;武森等,2012),缺失數據對之后數據的利用造成極大的阻礙。因此研究缺失數據的填補問題具有重要應用價值(Chenetal.,2019)。

以往數據的插補方法,如拉格朗日差值法(胡玄子等,2013)、均值法、最大頻率法、主成份提取法(王文圣等,2003)等,在填補少量、零散的缺失數據時有較高的準確性。數據缺失時間越長,以上方法對缺失數據的插補精度越低、難度越大(Moffatetal.,2007),精度過低的填補數據難以滿足未來數據分析時的需要。近些年國內外學者在保持對傳統方法研究的同時,將新興領域的元素融入其中,創新地優化了已有模型。利用神經網絡(Zoucasetal.,2015)填補方法可以應用于任意非線性關系函數,且具有自學習能力,但要求大規模的數據樣本,且一直存在過擬合問題、泛用性問題。利用支持向量機(Chenetal.,2015)對數據進行填補,可以得到全局最優解,比傳統神經網絡對數據規模要求低,小規模數據也可以使用,但大多數基于支持向量機的方法關注的為單變量信息,一些加入了人工判定,對操作人員經驗依賴較高。新的ARIMA-ANN混合方法(Büyükahinetal.,2019)兼具ARIMA(autoregressive integrated moving average,差分整合移動平均自回歸模型)和ANN(artificial neural network,人工神經網絡)的優點,通用性更好,但也需要盡可能多的數據樣本。時間序列模型與人工神經網絡混合模型對巴西風速進行預測的實驗(Henriqueetal.,2018)是與本文所應對情況最相近的實例:風速波動呈現規律性;試驗中預測結果時間跨度超過1年;預測結果精度高,可以滿足實際應用需要。以上結果證明了神經網絡對時間序列數據的適用性,針對本文的情況可以選擇更加合適的神經網絡模型進行試驗。

基于植物生理信息數據是一種動態的時序數據這一背景,本文提出基于LSTM神經網絡的植物生理信息數據填補方法。神經網絡處理非線性問題能力突出,其中RNN在分析時間序列問題方面有很強的優勢。植物的生理狀態是漸變的,這就要求神經網絡能夠有很強的歷史信息記憶能力。在RNN基礎上進行優化的LSTM神經網絡模型(Saketal.,2014),已經在語義分析等需要很強的歷史信息記憶能力的領域取得了很好的效果(郭茂盛等,2017),但在生理數據分析領域應用較少,本文擬將此方法應用于植物生理數據分析,擬解決由硬件設備故障引起的數據長時間錯誤或缺失問題。

1 材料與方法

1.1 LSTM模型

LSTM(long short-term memory,長短期記憶網絡)模型由Hochreiter等(1997)于20世紀末提出。LSTM脫胎于RNN循環神經網絡。RNN循環神經網絡是為了處理序列問題而研發出的模型,為了更好地處理前后輸入相互關聯的信息,RNN在自然語言處理領域中最先被使用。

RNN與最基礎的全連接神經網絡相比,多了隱藏層上一次的狀態作為輸入。即循環神經網絡的隱藏層的值s不僅僅取決于當前這次的輸入x,還取決于上一次隱藏層的值s。因為輸入多了來自上一隱藏層的變量,使得RNN具備了記憶能力。這種獨特的記憶循環神經網絡的展開圖如圖1。

圖1 RNN網絡展開示意Fig.1 Unfold of RNNs:隱藏層的值Hidden layer value.U:輸入層的權重矩陣Input layer weight matrix.o:輸出層的值Output layer value.V:隱藏層到輸出層的權重矩陣Hidden layer to output layer weight matrix.W:隱藏層上一次的值作為這一次輸入的權重矩陣.The last value of the hidden layer is used as the weight matrix for this input.

RNN具有記憶能力,但是這種記憶能力在長期記憶時,由于梯度消失與梯度爆炸的原因(Gravesetal.,2005),導致t-3 時刻對t時刻的狀態影響不顯著,相當于網絡在訓練時忽略了t-3 時刻之前的狀態,在一組數據存在長期相關性時,RNN的記憶能力無法滿足需求(Byeonetal.,2014;Gersetal.,2000)。

LSTM長短時記憶網絡,是在RNN的基礎上加入了單元狀態,即在某一時刻LSTM的有3個輸入:當前時刻網絡輸入值xt、上一時刻LSTM的輸出值ht-1、以及上一時刻的單元狀態ct-1;LSTM的輸出值有兩個:當前時刻LSTM輸出值ht、當前時刻的單元狀態ct。與傳統的RNN相比,LSTM的神經單元是具有獨特記憶模式的單元結構。LSTM的單元結構如圖2。LSTM中記憶單元有3個門(gate)——輸入門(input gate)、遺忘門(forget gate)和輸出門(output gate)。其中遺忘門和輸入門控制單元狀態ct的內容:遺忘門決定了當前狀態ct對上一時刻的單元狀態ct-1的保留程度;輸入門決定了當前狀態ct對輸入xt的保留程度;輸出門控制當前狀態ct輸出到ht的程度。

ft=σ(Wf·[ht-1,xt]+bf),

(1)

it=σ(Wi·[ht-1,xt]+bi),

(2)

ct=ft°ct-1+it°tanh(Wc·[ht-1,xt]+bc),

(3)

ot=σ(Wo·[ht-1,xt]+b0),

(4)

ht=ot°tanh(ct)。

(5)

式中:σ是Sigmoid激活函數,f為遺忘門,i為輸入門,o為輸出門,c表示細胞,h為隱藏層狀態。

LSTM的最終輸出由輸出門的值和單元狀態共同確定。

圖2 LSTM 單元結構Fig.2 LSTM unit

1.2 數據來源

本文使用的數據選自正常生長的紫薇(Lagerstroemiaindica)距地面80 cm處的莖體水分數據,數據采集時間為6月,地點為北京市海淀區。數據采集間隔為10 min,1天共144條數據,數據變化如圖3。在數據庫中任取共計2 200條數據,橫坐標為數據次序;縱坐標為傳感器返回的植物莖體含水率,對應莖體水分從43%~57%?,F在人為處理刪除黃色虛線共200條數據,假設黃色虛線表示時間段內,傳感器或采集器等設備出現問題,導致通信中斷,無法采集到數據,本文所要解決的問題便是將這段缺失數據精準地填補。植物莖體水分受外界環境影響,隨著日出日落以24 h為周期規律波動,莖體水分某一時刻的具體情況會受具體外界環境的影響,但總體波動趨勢依舊保持不變。在時間序列上呈現規律變動的數據,適合用于LSTM網絡的訓練及預測,這與最初構想一致。

圖3 植物莖體水分時間序列數據Fig.3 Time series data of plant stem moisture

1.3 LSTM模型搭建

投入神經網絡訓練的數據量為1 000條。神經網絡的神經元數量不超過訓練數據長度,選定神經網絡層數為3層,每層神經元的數量為2的指數次方,分別為256、128、64,如表1所示。

表1 LSTM網絡模型概況Tab.1 LSTM network model overview

第一層LSTM層參數數量計算:

輸入網絡訓練的樣本為(200,1)的矩陣,即時間步為200,每個時間步的特征長度為1。每個時間步經過第一個LSTM層后輸出的特征長度變為256(即1→256),得到(1,256)的數據。每個LSTM神經元中又分遺忘門層,狀態更新層與輸出門層,下文將分按照不同層分別計算每層神經元中具體參數數量。

1) 遺忘門層:公式(1)中,ht-1是上一個狀態的隱向量,即特征長度為256的隱向量;xt為當前狀態的輸入,即特征長度為1的向量,所以[ht-1,xt]的長度為256+1=257。該層輸出長度為256,激活函數σ不影響矩陣維數,只考慮內部運算得到長度為256的矩陣。

[ht-1,xt]為(1,257)的矩陣,與Wf相乘后得到(1,256)的矩陣,即Wf為(257,256)的矩陣;相乘得到(1,256)的矩陣后,與偏置陣bf相加,所以bf也應為(1,256)的矩陣。那么,該層參數數量為:

Param1=(256+1)×256+256=66 048。

2) 狀態更新層:公式(2)與公式(3)和公式(1)相似,σ與tanh都是激活函數,不影響參數個數。公式(4)中的4個值均為已知值,故沒有參數參與計算,所以狀態更新層參數數量為遺忘層參數數量的2倍:

Param2=66 048×2=132 096。

3) 輸出門層:公式(5)與公式(2)相同,參與計算的參數個數同為66 048;公式(6)與公式(4)相同,參與計算的都為已知值,無參數計算。所以輸出層參與計算參數數量與遺忘門層相同:

Param3=Param1=66 048。

綜上得第一層LSTM層參數數量:

ParamLSTM_2=Param1+Param2+Param3=264 192。

每層LSTM層參數數量為4倍的遺忘門層參數數量:

Param=4×((n+m)×m+m)。

式中:n為當前狀態輸入,m為上一狀態輸出。

第二層LSTM層參數數量:

ParamLSTM_2=4×((256+128)×

128+128)=197 120。

第三層LSTM層參數數量計算:

ParamLSTM_3=4×((128+64)×64+64)=49 408。

最后一層為全連接層,64個神經元連接加1個偏置,即

Paramdense_1=64+1=65。

dropout層:

表1中的dropout層在第一層LSTM網絡后,為了解決過擬合問題的網絡層。在神經網絡訓練中,訓練耗時問題和過擬合問題都是必須要優化與解決的關鍵問題。耗時太長會降低模型的效率,即使精度夠高,但是效率過低也會導致無法實際使用。Dropout層可以同時解決這2個問題。

Dropout層效果如圖4,即在模型訓練時,隨機讓隱藏層一定比例的節點權重不參與到計算中,保存他們的權重,下一次循環重新隨機,隨機到參與計算的節點帶著上次計算得出的權重參與本次運算。由于參與的節點少,計算量大幅降低,模型訓練時間縮短;同時,由于是隨機選取部分節點且每次循環節點選取情況都不同,避免了全部節點統一計算導致的過擬合情況,且由于不同節點不能保證同時出現,這樣可以避免網絡對特定輸入表現出特定特征的情況,更具有一般性。

圖4 Dropout層效果示意Fig.4 Dropout Layer Effect diagram

1.4 RNN比對模型搭建

建立一個網絡模型相同的RNN網絡與LSTM網絡進行比照實驗,RNN模型概況如表2。即使具有相同的神經元數量,由于神經元組成結構的差異,RNN網絡模型的參數數量比LSTM的參數數量少很多,約為同結構LSTM網絡參數數量的1/4。

表2 RNN網絡模型概況Tab.2 RNN network model overview

LSTM模型的參數計算公式為:

Param=4×((n+m)×m+m),

但RNN神經元隱藏層中只有一個狀態,也就是不需要在最外層乘4:

Param=(n+m)×m+m,

其中n為當前狀態輸入,m為上一狀態輸出。

圖5 不同方法(LSTM,RNN,插值,LSTM雙向)填補結果Fig.5 Filling results for different methods (LSTM,RNN,interpolation,LSTM bidirectional)

所以RNN每層的參數數量為LSTM每層參數數量的1/4,全連接層同為64,總參數數量約為1/4。

2 結果與分析

參數數量的差異同時體現在了訓練時間與預測精度。輸入1 000個數據進行100迭代訓練,LSTM網絡的訓練耗時為RNN網絡耗時的3~4倍。

圖5為LSTM和RNN 2組模型訓練時損失(loss)的變化情況。LSTM模型的損失值全程穩定下降;RNN模型的損失值總體趨勢是下降的,但是在下降過程中波動十分劇烈。損失函數為均方誤差(mean-square error,MSE),表明了訓練時預測值與真實值的偏移量。由于LSTM模型比RNN具有更好的記憶能力,可以對訓練數據長期記憶,LSTM可以更加穩定地逼近最優值。

使用LSTM模型可以更為有效地訓練,得到預期的輸出結果。LSTM神經網絡預測方式是由200個原始值組成窗口預測下一時刻未知值,并向后移動一步窗口,去掉第一個原始值,在最后加入新獲得的預測值,形成新的200個值的窗口,按照這種方式不斷推進窗口,直至得到所有的預測值。但隨著原始值的不斷減少、預測值的不斷增多,這樣的預測方式會造成誤差的不斷累加,使得預測誤差隨窗口的推移逐漸增大,預測值的走向逐漸偏離原始值。

基于這個問題,本文采用雙向預測,其結果互補形成新的預測值的方法來彌補在預測過程中產生的累加誤差。具體操作即為在缺失數據兩端同時進行預測。正向順序為按照從序號1~1000的正向順序訓練,反向順序為序號2200~1201的反向順序訓練。由于誤差累加的原因,越靠后、與已知值越遠的預測值誤差越大,本文提出在雙向預測基礎上加入權重系數,目的是使誤差較小的預測值作為最終綜合預測值的主導部分。

1) 正向順序:序號1001即第1個預測值乘權重1,序號1002即第2個預測值乘權重0.995,序號1003即第3個預測值乘權重0.99,以此類推,后一個預測值權重比前一個依次減少0.005,序號1200即第200個乘權重0.005。

2) 反向順序:反向順序與正向順序權重變化順序相反,保證2個方向權重相加和為1,即反向順序下權重值從0開始按照每次增長0.005,增長到0.995。

幾種模型預測結果與已知原始數據的對比如圖6。預測值與原數據的擬合程度LSTM預測優于RNN預測優于插值法預測。每種模型的具體誤差值如表3。

圖6 不同方法(LSTM,RNN,插值,LSTM雙向)填補結果Fig.6 Filling results for different methods (LSTM,RNN,interpolation,LSTM bidirectional)

表3 不同模型誤差絕對值Tab.3 Absolute results of model errors

觀察原始數據可以看出,莖體水分波動范圍在40%~60%之間,上下限差距僅為20%,導致誤差的平均值、最大最小值等評價指標不能明顯地表現出模型間的差距,而R2幾種模型差距過大,每種模型預測結果的區分度不好,使得表3雖然涉及角度多,但是不能明顯地表現幾種模型的差距。

每種模型預測值與真實值的差值小于設定值的比例如表4,條件分別為與真實值誤差不超過0.01、0.02、0.03、0.04和0.05。LSTM單向與LSTM雙向預測結果精度較其他模型都有很大優勢,且加入權重處理后的雙向預測精度最高。雙向預測97%的點滿足誤差在0.02以內,即使是要求誤差在0.01以內,依然有一半以上的點滿足要求。單向LSTM表現也比較出色,小部分點偏差略大,在小于0.02檔中比雙向LSTM數量少15%,但依舊達到了80%以上。RNN與插值方法誤差則很大,在小于0.05的要求下都無法做到90%以上的正確率,難以滿足數據填補的要求。

結合表3、表4的數據,對于較長序列的數據進行填補,傳統的數據填補方法已經難以滿足需求,不論是擬合程度和具體的誤差指標都無法和循環神經網絡預測方法相比。而LSTM神經網絡比RNN的優勢更加明顯。單獨使用LSTM神經網絡進行填補,誤差已經達到插值方法誤差的1/3,是使用RNN進行預測的誤差的1/2。而在LSTM基礎上加入數據處理后,精度進一步提升,誤差僅為插值方法的1/4,R2提升至接近0.9,有著極高的相關性。

3 討論驗證

保持結果與分析中訓練模型不變,代入一組全新數據進行預測,將預測結果與原始值進行比對,檢驗預測模型的精度在應對非訓練數據時是否降低。選擇未參與訓練的2 200條數據,做與訓練數據相同的處理,即人為刪除中間第1 001~1 200共200條數據。將新的數據代入到結果與分析中訓練驗證過的模型,同樣分為LSTM正序,LSTM逆序,加入權重的LSTM雙向預測,RNN正序,RNN逆序和2種插值預測方法,比對結果如表5與圖6所示。

測試數據選擇了7月份樹木莖體水分數據,波動上下限較訓練數據更為接近,使得預測結果誤差絕對值普遍減少。為了模擬真實預測情況,模型沒有對測試數據進行訓練,只利用已有模型進行預測,精度相較于訓練時的模型精度有所降低。本次的測試結果,精度較訓練時略有下降,但幾種模型比對結果與預期相同。對測試數據模型不能做到高度擬合,預測誤差隨預測時間的增長而快速增大,使得后半段預測值偏離原始值,這種情況下本文提出的結合權重的雙向預測方法體現出的優勢更為明顯。該方法充分結合了2個方向上準確部分的預測結果,在單方向預測結果線性回歸值在0.3的基礎上,雙向預測整合結果的線性回歸值可以提高到超過0.7,且其他誤差指標也是幾種模型中的最優。雙向預測模型驗證結果與預期相吻合。

本文利用深度學習方法僅依靠一組時間序列數據進行預測的方法還有提升空間,結合更多其他種類的參數數據,多組參數共同預測以提升預測精度的方法將是下一步的研究目標。

表4 不同模型誤差比Tab.4 Model error percentage results

表5 測試模型誤差絕對值Tab.5 Absolute results of test model errors

4 結論

為了更好應對生態數據采集、傳輸過程中,因系統故障、環境原因等導致的長時間數據缺失,本文提出一種基于LSTM的植物體征缺失數據的填補方法。1) 針對長時間的數據缺失,傳統的數據填補方法無法應對缺失數據中的波動現象,有長期記憶功能的神經網路預測模型對這類數據的填補比傳統的插值數據填補方法更具有優勢。2) 本文提出基于LSTM模型的雙向綜合預測法,顯著地減小長期預測中的累計誤差對預測結果的影響,進一步提升預測數據的準確度。

猜你喜歡
預測值神經網絡誤差
加拿大農業部下調2021/22年度油菜籽和小麥產量預測值
±800kV直流輸電工程合成電場夏季實測值與預測值比對分析
AI講座:ML的分類方法
角接觸球軸承接觸角誤差控制
Beidou, le système de navigation par satellite compatible et interopérable
神經網絡抑制無線通信干擾探究
壓力容器制造誤差探究
基于神經網絡的中小學生情感分析
基于神經網絡的拉矯機控制模型建立
九十億分之一的“生死”誤差
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合