王秀美, 牟少敏, 鄒宗峰, 時愛菊
(1.山東農(nóng)業(yè)大學信息科學與工程學院,山東泰安 271018; 2.山東農(nóng)業(yè)大學農(nóng)業(yè)大數(shù)據(jù)研究中心,山東泰安 271018;3.山東省煙臺市農(nóng)業(yè)技術(shù)推廣中心植保站,山東煙臺 264001; 4.山東農(nóng)業(yè)大學化學與材料科學學院,山東泰安 271018)
小麥是我國主要的糧食作物,種植面積遍及全國各省,其中以河南省和山東省的種植面積較大。小麥的產(chǎn)量和品質(zhì)對于我國國民經(jīng)濟發(fā)展具有重要意義,而小麥蚜蟲是危害小麥產(chǎn)量和品質(zhì)的主要蟲害之一。為有效防治小麥蚜蟲的危害,保障小麥產(chǎn)量及品質(zhì),國內(nèi)外專家學者對其進行了長期的研究。肖志強等發(fā)現(xiàn),氣象因素與小麥蚜蟲的發(fā)生具有一定的相關(guān)性,并建立了氣象數(shù)據(jù)與小麥蚜蟲的回歸預測模型[1-2]。目前,Logistic回歸[2]、神經(jīng)網(wǎng)絡[3]、支持向量機[4]等淺層學習模型已用于小麥蚜蟲的預測預警。但是淺層學習模型對輸入特征的依賴性很強并且其特征轉(zhuǎn)換能力有限,很難對復雜的回歸問題進行有效擬合。
隨著大數(shù)據(jù)時代的到來,如何從海量數(shù)據(jù)中獲取更有價值的信息,成為農(nóng)業(yè)大數(shù)據(jù)的關(guān)鍵。深度學習(deep learning)借助多隱層的學習結(jié)構(gòu)實現(xiàn)從原始數(shù)據(jù)中自動提取更有價值的信息,從而更好地體現(xiàn)了數(shù)據(jù)的價值,成為農(nóng)業(yè)大數(shù)據(jù)挖掘強有力的技術(shù)支撐[5-6]。目前,深度學習在人臉識別[7]和語音識別[8]領(lǐng)域中取得了突破性的進展,但其如何應用于農(nóng)業(yè)蟲害的預測預警尚未見報道。
淺層學習模型對特征的依賴性很強,而深度學習通過多隱層的網(wǎng)絡結(jié)構(gòu)可以自動學習更加復雜有效的特征。本研究首次將深度學習用于小麥蚜蟲的短期預測,結(jié)果表明,與淺層學習模型相比,深度學習回歸模型能夠?qū)π←溠料x的影響因子進行有效的特征學習,進一步提高對小麥蚜蟲預測的準確率,從而為農(nóng)業(yè)生產(chǎn)者提供及時、準確的預警信息,降低小麥蚜蟲對小麥的危害。
小麥蚜蟲的預測分為長期、中期、短期預測,其中短期預測的使用范圍最廣,期限為7~10 d。對小麥蚜蟲的發(fā)生量進行短期預測,使農(nóng)業(yè)生產(chǎn)者能夠及時掌握小麥蚜蟲未來的發(fā)生情況,并采取相應的防治措施。構(gòu)建小麥蚜蟲短期預測模型的過程如下:(1)數(shù)據(jù)獲取。通過田間采集或農(nóng)業(yè)物聯(lián)網(wǎng)傳感器等獲取與小麥蚜蟲發(fā)生相關(guān)的數(shù)據(jù)。(2)數(shù)據(jù)預處理。對獲取的小麥蚜蟲相關(guān)數(shù)據(jù)進行統(tǒng)計分析以及特征選擇或特征變換。(3)建立預測模型。利用預處理后的數(shù)據(jù)構(gòu)建小麥蚜蟲短期預測模型,并對未參與模型構(gòu)建的小麥蚜蟲數(shù)據(jù)進行預測。(4)模型評價。利用評價指標對模型的預測效果進行評價。小麥蚜蟲的發(fā)生與多種因素有關(guān),使用傳統(tǒng)的淺層學習模型對小麥蚜蟲進行預測時對特征的要求較高。深度學習模型能夠從數(shù)據(jù)中自動提取更加有效的特征,在一定程度上減少人工提取特征的復雜過程,并且能夠提高小麥蚜蟲預測的準確率。
本研究使用的小麥蚜蟲百株蚜量數(shù)據(jù)通過人工采集統(tǒng)計獲得,人工采集和計數(shù)的過程中均有可能存在誤差。發(fā)生程度是根據(jù)百株蚜量的數(shù)值所在范圍得到,其表示范圍較大,誤差相對較小。因此,發(fā)生程度成為衡量小麥蚜蟲危害的重要指標。小麥蚜蟲數(shù)據(jù)為1978—2013年小麥蚜蟲的百株蚜量,數(shù)據(jù)來源于山東省煙臺市植保站和《山東省農(nóng)作物病蟲預測預報觀測數(shù)據(jù)集》。小麥蚜蟲短期預測模型將小麥蚜蟲的百株蚜量作為預測因子,發(fā)生程度則根據(jù)百株蚜量(y,頭)所在的數(shù)值范圍得到,發(fā)生程度分級標準為1級(y≤500)、2級(500
氣象數(shù)據(jù)來源于國家氣象信息中心。本研究將預測日期前1周的小麥蚜蟲百株蚜量作為其蟲源基數(shù),與氣象因素共同構(gòu)成影響因子,共15個。本研究共222條試驗數(shù)據(jù),其中180條作為訓練集,42條作為測試集。
小麥蚜蟲預測模型的試驗數(shù)據(jù)影響因子較多,各影響因子的單位以及數(shù)值范圍不同,為避免不同量綱數(shù)據(jù)之間相互影響,對影響因子進行歸一化處理。
為檢驗小麥蚜蟲預測模型的擬合能力以及泛化能力,使用預測模型對測試集進行預測,并對訓練集進行回代檢驗。分別使用均方根誤差(root mean square error,簡稱RMSE)、平均絕對誤差(mean absolute error,簡稱MAE)、平均絕對百分誤差(mean absolute percentage error,簡稱MAPE)對小麥蚜蟲百株蚜量的預測結(jié)果進行評價,評價指標計算公式如下:
(1)
(2)
(3)
使用準確率(accuracy,簡稱AC)對小麥蚜蟲發(fā)生程度進行評價,按照預測發(fā)生程度與實際發(fā)生程度相同準確率為100%,前后相差1級準確率為50%,相差2級及以上準確率為0進行計算,其表達式如下:
(4)
式中:M表示實際與預測發(fā)生程度相等的樣本個數(shù);D表示實際與預測發(fā)生程度相差1級的樣本個數(shù);N表示訓練集或測試集總樣本個數(shù)。
對小麥蚜蟲的發(fā)生量及發(fā)生程度進行準確及時的預測預報能夠為小麥蚜蟲的防控防治提供支持,本研究使用深度信念網(wǎng)絡構(gòu)建小麥蚜蟲百株蚜量的短期預測模型,并根據(jù)發(fā)生程度分級標準預測小麥蚜蟲的發(fā)生程度。
玻爾茲曼機(boltzmann machine,簡稱BM)是一種基于能量函數(shù)的神經(jīng)網(wǎng)絡模型,它構(gòu)建的模型具有完備的物理解釋和數(shù)學基礎(chǔ),但其學習算法較復雜[9]。為簡化玻爾茲曼機的學習過程,Smolensky提出了受限玻爾茲曼機[10](restricted boltzmann machine,簡稱RBM)。RBM由可見層和隱藏層組成,層間節(jié)點全連接,層內(nèi)節(jié)點無連接,并且可見層與隱藏層節(jié)點都是二元變量,即每個節(jié)點只取0或1這2種狀態(tài)。RBM模型結(jié)構(gòu)簡單、表示能力強、易于推理[11],其結(jié)構(gòu)如圖1所示,其中v表示可見層的狀態(tài)向量;h為隱藏層的狀態(tài)向量。
對于1個有n個可見層節(jié)點,m個隱層節(jié)點的RBM模型,使用vi表示第i個可見層節(jié)點的狀態(tài),hj表示第j個隱層節(jié)點的狀態(tài),vi,hj∈{0,1}通過能量函數(shù)E定義狀態(tài)(v,h)的概率分布:
(5)
式中:θ={Wij,ai,bj}是RBM模型的參數(shù)集合;Wij是可見節(jié)點i與隱層節(jié)點j的連接權(quán)值;ai、bj分別表示可見層節(jié)點、隱層節(jié)點的偏置值。
當可見層節(jié)點的狀態(tài)確定時,可以通過公式(6)得到隱層節(jié)點的狀態(tài)值:
(6)
由于RBM是對稱的二部圖模型,當給定隱層節(jié)點的狀態(tài)值時,可由公式(7)得到可見層節(jié)點的狀態(tài)值:
(7)
因此,可見層v與隱藏層h的聯(lián)合概率分布為:
(8)
其中,Z(θ)為歸一化因子。
RBM模型的目的是求解使得聯(lián)合概率分布p(v,h|θ)最大的θ值。
利用馬爾科夫鏈求解RBM模型是一種費時的方法,其收斂速度難以保證。為保證求解RBM模型的收斂速度,使用對比散度(contrastive divergence,簡稱CD)算法進行RBM模型的訓練。CD算法是Hinton等針對RBM提出的一種快速學習算法[12],它通過一步吉布斯采樣得到隱層的近似,在確定隱層節(jié)點的狀態(tài)后,通過式(7)重構(gòu)可見層,繼而重構(gòu)隱藏層,利用重構(gòu)誤差調(diào)整參數(shù)集。CD算法訓練RBM網(wǎng)絡的具體步驟描述如下:(1)確定隱藏層節(jié)點數(shù)m,學習率ε,最大訓練周期T1,并隨機初始化網(wǎng)絡參數(shù)集θ0={W0,a0,b0}。(2)將輸入賦值給可見層的狀態(tài)向量v0,并利用公式(6)計算隱藏層的狀態(tài)向量h0;然后利用公式(7)、(6)分別計算可見層和隱藏層的重構(gòu)v1和h1。(3)利用公式(9)對參數(shù)集θt進行更新,得到參數(shù)集θt+1,其中t表示當前迭代次數(shù)。(4)當t+1 Wt+1=Wt+ε[p(h0=1|v0,θt)(v0)T-p(h1=1|v1,θt)(v1)T]; (9) 深度信念網(wǎng)絡(deep belief nets,簡稱DBN)由Hinton等于2006年首次提出,由多層RBM和1層BP(back propagation)網(wǎng)絡組成[5]。相比于傳統(tǒng)淺層神經(jīng)網(wǎng)絡,深度信念網(wǎng)絡優(yōu)勢在于通過逐層無監(jiān)督預訓練解決了多層神經(jīng)網(wǎng)絡因隨機初始化網(wǎng)絡權(quán)值參數(shù)導致的易陷入局部最優(yōu)難題,并且這種逐層訓練的策略有效地解決了直接訓練多層神經(jīng)網(wǎng)絡的高復雜度難題。DBN的多隱藏層結(jié)構(gòu)可以對輸入特征進行多次變換,并且當前層可以對其前一層網(wǎng)絡產(chǎn)生的錯誤信息進行弱化。DBN模型結(jié)構(gòu)如圖2所示。 DBN模型的訓練主要分為2個階段:無監(jiān)督預訓練和有監(jiān)督微調(diào)。其具體訓練過程如下:(1)將輸入層V0和第1個隱藏層H1看作第1個RBM,記為RBM1,利用輸入數(shù)據(jù)v0進行RBM1的訓練。訓練完成后,在RBM1的隱藏層得到原輸入的1種表示,記為h1;(2)將h1作為RBM2可見層的輸入,進行RBM2的訓練。訓練完成后,通過H2得到原輸入的另一種表示h2;(3)以此類推,逐層進行RBM模型的訓練,直到RBMl訓練完成。(4)將RBMl訓練完成后得到的h1作為頂層BP的輸入,進行頂層BP訓練,并將頂層訓練的誤差逐層往下傳,微調(diào)各層的連接權(quán)值。 目前將深度學習用于回歸預測的研究相對較少,對于結(jié)構(gòu)化數(shù)據(jù)集的回歸預測多數(shù)是選用2個隱層[13-14]。原因有2方面:一是對于大多數(shù)結(jié)構(gòu)化數(shù)據(jù)集,已進行了數(shù)據(jù)預處理和特征選擇,模型的輸入輸出之間相關(guān)性較高;二是深度學習的層數(shù)越多,涉及的參數(shù)也就越多,需要更多的數(shù)據(jù)進行參數(shù)學習,當數(shù)據(jù)量有限時,多隱層模型進行參數(shù)學習的效果較差。由于小麥蚜蟲數(shù)據(jù)較少,因此選取有2個隱藏層的深度信念網(wǎng)絡進行訓練。 基于DBN的小麥蚜蟲短期預測過程如下:(1)數(shù)據(jù)預處理。對影響因子進行歸一化處理,提高預測模型輸入與輸出的相關(guān)關(guān)系。(2)設(shè)置模型參數(shù)。輸入層節(jié)點個數(shù)為影響因子數(shù)16,輸出層節(jié)點數(shù)設(shè)為1,2個隱藏層的節(jié)點則根據(jù)經(jīng)驗選取多組不同的節(jié)點進行試驗,選取更適合小麥蚜蟲的隱藏層節(jié)點數(shù)。(3)無監(jiān)督逐層預訓練。使用訓練集數(shù)據(jù)對2個RBM逐層進行無監(jiān)督學習,使每個RBM達到局部最優(yōu)。(4)有監(jiān)督微調(diào)。進行BP神經(jīng)網(wǎng)絡的訓練,并將誤差逐層反向傳播,微調(diào)各層參數(shù)。(5)預測。使用構(gòu)建的深度信念網(wǎng)絡預測模型對測試集小麥蚜蟲的百株蚜量進行預測,并根據(jù)分級標準得到小麥蚜蟲的發(fā)生程度。 為驗證模型的有效性,分別在國際標準數(shù)據(jù)集(university of californiairvine,簡稱UCI)和山東省小麥蚜蟲數(shù)據(jù)集上進行預測試驗。使用的深度學習回歸模型為2個隱藏層的DBN,記為DBN2,并將其與支持向量回歸(support vector regression,簡稱SVR)以及BP網(wǎng)絡進行對比測試。 從UCI數(shù)據(jù)集中選取4個回歸預測數(shù)據(jù)集(表1)。本研究使用DBN2、SVR和BP神經(jīng)網(wǎng)絡對4個UCI數(shù)據(jù)集進行回歸預測,并使用RMSE、MAE、MAPE對預測結(jié)果進行評價,評價結(jié)果見表2至表4。對評價指標RMSE、MAE繪制折線圖(圖3、圖4)。由于yacht數(shù)據(jù)集的MAPE值比其他數(shù)據(jù)集明顯較大,為避免較小的數(shù)值在折線圖中顯示不清晰,將MAPE值的縱坐標值取對數(shù),其對應的折線圖如圖5所示。 表1 UCI數(shù)據(jù)集 表2 不同預測模型的均方根誤差 表3 不同預測模型的平均絕對誤差 表4 不同預測模型的平均絕對百分誤差 由表2、表3和圖3、圖4可以看出,DBN2預測模型的RMSE和MAE在4個UCI數(shù)據(jù)集上均小于SVR和BP網(wǎng)絡,說明DBN2模型的預測能力較強。與BP網(wǎng)絡相比,DBN2的優(yōu)勢在于通過無監(jiān)督預訓練對網(wǎng)絡權(quán)值進行初始化,使得該模型性能比較穩(wěn)定。SVR通過核函數(shù)將樣本從原空間映射到高維空間,但是該過程僅能對特征進行1次特征變換,而DBN2能夠通過2個隱藏層對原輸入數(shù)據(jù)進行2次特征變換,使其更有利于預測。 由MAPE的計算公式可以看出,由于MAPE以預測因子的實際值作為分母,當預測因子數(shù)值較小時,即使實際值與預測值的誤差不大,也會導致整個分式的數(shù)值較大。yacht數(shù)據(jù)集的預測因子的最小值為0.01,而其他3個數(shù)據(jù)集的預測因子的最小值均大于1.00,這是yacht數(shù)據(jù)集的MAPE值明顯大于其他3個數(shù)據(jù)集的主要原因。 在UCI數(shù)據(jù)集的預測試驗中,DBN2模型的誤差最小,也是最穩(wěn)定的。在數(shù)據(jù)集yacht和airfoil上,SVR預測模型的RMSE、MAE、MAPE均大于BP網(wǎng)絡,且從折線圖也可以看出,SVR預測模型的穩(wěn)定性比BP網(wǎng)絡好,BP網(wǎng)絡的預測誤差波動較大與其隨機初始化參數(shù)有關(guān)。 使用DBN2構(gòu)建小麥蚜蟲百株蚜量預測模型,小麥蚜蟲百株蚜量的預測結(jié)果如圖6所示,其發(fā)生程度預測結(jié)果如圖7所示。 由圖6、圖7可以看出,對于測試集樣本,DBN2的預測結(jié)果與真實值非常接近,對于發(fā)生程度較大的情況也能很好地預測。為了進一步驗證DBN2模型的效果,將其與SVR、BP網(wǎng)絡進行對比試驗。采用RMSE、MAE、MAPE對小麥蚜蟲百株蚜量的預測誤差進行計算,使用AC計算發(fā)生程度的預測準確率,結(jié)果見表5和表6。 由表5可以看出,對于小麥蚜蟲百株蚜量的預測,BP網(wǎng)絡和DBN2的擬合能力相差不大,均優(yōu)于SVR。但是,對測試集進行預測時,DBN2明顯比SVR和BP網(wǎng)絡的預測誤差小。 表5 小麥蚜蟲百株蚜量的預測誤差 表6 小麥蚜蟲發(fā)生程度的準確率 注:M表示小麥蚜蟲發(fā)生程度的實際值與預測值相等的樣本個數(shù);D表示實際值與預值相差1級的樣本個數(shù)。 由表6可以看出,DBN2對于小麥蚜蟲發(fā)生程度的預測準確率為82.14%,高于SVR以及BP網(wǎng)絡。對訓練集樣本進行回代檢驗發(fā)現(xiàn),DBN2模型的回代準確率達到90.56%。說明基于DBN2的小麥蚜蟲發(fā)生程度預測模型的擬合能力以及泛化能力均較好。 通過對小麥蚜蟲的百株蚜量以及發(fā)生程度進行預測并進行回代檢驗發(fā)現(xiàn),BP網(wǎng)絡的學習能力最好,但是泛化能力最差;SVR的學習能力較差,但是泛化能力較好;DBN2模型的學習能力與BP網(wǎng)絡差距不大,但是其泛化能力最好,明顯優(yōu)于BP網(wǎng)絡。與DBN2模型相比,BP網(wǎng)絡泛化能力差,一方面是因為參數(shù)的隨機初始化,使其易陷入局部最優(yōu),容易過擬合;另一方面其隱藏層只有1層,對特征的變換效果不理想。 通過在UCI數(shù)據(jù)集以及小麥蚜蟲數(shù)據(jù)集的回歸預測試驗,結(jié)果表明,DBN2模型是3種模型中預測誤差最小,泛化能力最強的。SVR使用核函數(shù)以及結(jié)構(gòu)風險最小化原則使其在小樣本、非線性問題中有許多優(yōu)勢,但是深度信念網(wǎng)絡模型通過逐層無監(jiān)督預訓練對參數(shù)進行初始化,在一定程度上減小了因經(jīng)驗風險最小化而導致的真實風險與實際風險差距較大的問題,提高了其泛化能力,而且深度信念網(wǎng)絡可以通過增加隱藏層的層數(shù)對原特征進行多次特征變換,使其能夠有效地解決非線性問題。 深度信念網(wǎng)絡通過多隱層的結(jié)構(gòu)對特征進行深度變換,進而實現(xiàn)特征的自動提取。將深度信念網(wǎng)絡用于回歸預測領(lǐng)域可以提取與預測因子相關(guān)性較高的特征, 有利于提高回歸預測的準確性。本研究將深度信念網(wǎng)絡用于UCI數(shù)據(jù)集以及小麥蚜蟲的短期預測,結(jié)果表明,DBN2預測效果優(yōu)于SVR和BP網(wǎng)絡,深度學習為蟲害短期預測預警提供了一種可行的方案。隨著大數(shù)據(jù)的不斷發(fā)展,獲取海量的小麥蚜蟲數(shù)據(jù),使用層數(shù)更多的深度信念網(wǎng)絡模型對小麥蚜蟲進行預測,可以進一步提高蟲害預測的準確率。 參考文獻: [1]肖志強,陳俊,樊明,等. 隴南山區(qū)小麥蚜蟲發(fā)生氣象條件及程度預測模型[J]. 安徽農(nóng)業(yè)科學,2009,37(33):16419-16422. [2]Henderson D,Williams C J,Miller J S. Forecasting late blight in potato crops of southern idaho using logistic regression analysis[J]. Plant Disease,2007,91(8):951-956. [3]靳然,李生才. 基于小波神經(jīng)網(wǎng)絡的麥蚜發(fā)生量預測研究[J]. 天津農(nóng)業(yè)科學,2015,21(4):127-131. [4]張永生. 支持向量機在害蟲預測預報中的應用[J]. 現(xiàn)代農(nóng)業(yè)科技,2009(14):147-148. [5]Hinton G E,Osindero S,Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation,2006,18(7):1527-1554. [6]Bengio Y,Delalleau O. On the expressive power of deep architectures[C]// International Conference on Algorithmic Learning Theory. Berlin:Springer-Verlag,2011:18-36. [7]Sun Y,Wang X,Tang X. Deeply learned face representations are sparse,selective,and robust[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:2892-2990. [8]Engio Y,Courville A,Vincent P. Representation learning:a review and new perspectives[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(8):1798-1828. [9]Srivastava N,Salakhutdinov R. Multimodal learning with deep boltzmann machines[J]. Journal of Machine Learning Research,2012,15(8):1967-2006.. [10]Welling M,Hinton G E. A new learning algorithm for mean field boltzmann machines[C]//International Conference on Artificial Neural Networks,Berlin:Springer-Verlag,2002:351-357. [11]馮通. 基于深度學習的航空飛行器故障自助檢測研究[J]. 計算機仿真,2015,32(11):119-122. [12]Hinton G E. Training products of experts by minimizing contrastive divergence[J]. Neural Computation,2002,14(8):1771-1800. [13]Bai Y,Chen Z Q,Xie J J,et al. Daily reservoir inflow forecasting using multiscale deep feature learning with hybrid models[J]. Journal of Hydrology,2015,532:193-206. [14]鄭毅,朱成璋. 基于深度信念網(wǎng)絡的PM2.5預測[J]. 山東大學學報(工學版),2014,44(6):19-25.
at+1=at+ε(v0-v1);
bt+1=bt+ε[p(h0=1|v0,θt)-p(h1=1|v1,θt)]。2.2 深度信念網(wǎng)絡
2.3 基于深度信念網(wǎng)絡的小麥蚜蟲預測模型
3 結(jié)果與分析
3.1 UCI數(shù)據(jù)集試驗
3.2 小麥蚜蟲短期預測試驗
4 結(jié)論