仝志民 ,榮麗紅 ,孟耀華 ,2,張品秀 ,劉英楠
(1.黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,大慶 163319;2.哈爾濱工業(yè)大學(xué)通信技術(shù)研究所)
農(nóng)作物生長預(yù)測方法的研究主要是通過對農(nóng)作物生理生態(tài)過程的認(rèn)識,運(yùn)用科學(xué)的手段來預(yù)估農(nóng)作物生長的狀態(tài)、產(chǎn)量、質(zhì)量等指標(biāo),從而達(dá)到預(yù)測其經(jīng)濟(jì)效益的目的。20世紀(jì)90年代以來已經(jīng)能對農(nóng)作物的生理過程做很好的數(shù)學(xué)描述[1],描述的方法盡管很多,但是僅僅限于對農(nóng)作物的靜態(tài)參數(shù)進(jìn)行擬合而未能動(dòng)態(tài)的監(jiān)測和預(yù)測。根據(jù)農(nóng)作物的生長規(guī)律,研究了一種基于過程神經(jīng)網(wǎng)絡(luò)的農(nóng)作物生長預(yù)測算法,通過該算法不僅可以如實(shí)的描述農(nóng)作物的各種生長指標(biāo)還可以預(yù)估農(nóng)作物的相關(guān)生長狀態(tài)[2],從而實(shí)現(xiàn)對農(nóng)作物生長的科學(xué)指導(dǎo),達(dá)到增產(chǎn)增收提高經(jīng)濟(jì)效益的目的。
在自然系統(tǒng)中不僅含有多個(gè)隱層,并且隱層與隱層之間具有相互交叉的區(qū)域這種現(xiàn)象[3]。在這個(gè)基礎(chǔ)上,為實(shí)現(xiàn)對農(nóng)作物生長的實(shí)時(shí)預(yù)測與時(shí)變動(dòng)態(tài)函數(shù)輸入的需要,須采用過程人工神經(jīng)網(wǎng)絡(luò)方法。但是由于考慮到農(nóng)作物生長周期長、生長速度慢的特點(diǎn)[4]。如采用多層次的過程網(wǎng)絡(luò)方式將會(huì)限制神經(jīng)網(wǎng)絡(luò)收斂速度和泛化能力的提高[5],因此設(shè)計(jì)了一款雙并聯(lián)的前饋神經(jīng)網(wǎng)絡(luò)模型。實(shí)踐證明:多層次神經(jīng)網(wǎng)絡(luò)在預(yù)測谷物生長實(shí)際應(yīng)用中具有多種多樣的問題,它可以通過雙并聯(lián)前饋人工神經(jīng)網(wǎng)絡(luò)來進(jìn)行解決。
雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)是從輸入層到輸出層或者到某一個(gè)最后隱層直接全部互相連接在一起而形成的一類網(wǎng)絡(luò)模型,但是他必須是在多層前向過程神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)之上來完成的。
圖1 給出了一種輸出為確切數(shù)值的雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)模型,這個(gè)網(wǎng)絡(luò)模型僅具有1 個(gè)隱層。第1 層是由n 個(gè)節(jié)點(diǎn)形成的輸入層,它的主要功能是為了把n 個(gè)時(shí)變函數(shù)傳遞到神經(jīng)網(wǎng)絡(luò);第2 層是由m 個(gè)過程神經(jīng)元形成的隱層,它的主要功能是為了把n 個(gè)時(shí)變輸入函數(shù)的空間加權(quán)聚合、時(shí)間累積聚合以及激勵(lì)運(yùn)算,并將運(yùn)算結(jié)果輸出至輸出層[6];第3 層為輸出層(為討論問題方便,只考慮輸出層僅由1 個(gè)過程神經(jīng)元組成的情況,不難推廣到由多個(gè)過程神經(jīng)元組成的情況),輸出層不但接收來自隱層的激勵(lì)運(yùn)算結(jié)果數(shù)據(jù),而且直接接收來自輸入層的時(shí)變輸入函數(shù),并將接收到的信號在進(jìn)行完空間加權(quán)聚合及時(shí)間累積聚合運(yùn)算后完成系統(tǒng)激勵(lì)輸出。
圖1 輸出為數(shù)值的雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)Fig.1 Double parallel feedforward process neural network with numerical output
網(wǎng)絡(luò)的系統(tǒng)輸入函數(shù)向量為:
假設(shè)系統(tǒng)輸入過程的區(qū)間為[0,T],那么隱層第j(j=1,2,…,m)個(gè)過程神經(jīng)元的輸入量為:
公式中ωij(t)為隱層第j 個(gè)過程神經(jīng)元與輸入層的第 i 個(gè)單元之間的連接權(quán)函數(shù)(i=,1,2,…,n)。
由此可得,隱層中第j 個(gè)過程神經(jīng)元的輸出量為:
式中 θ(1)j為隱層第j 個(gè)過程神經(jīng)元閾值量;f(x)為隱層過程神經(jīng)元中一般可取Sigmoid 函數(shù)的激勵(lì)函數(shù)。
設(shè)輸出層中激勵(lì)函數(shù)g(z)是線性函數(shù)并且g(z)=z,那么神經(jīng)網(wǎng)絡(luò)系統(tǒng)的輸出量為:
式中,ui(t)為輸入層中第i 個(gè)單元與輸出層中過程神經(jīng)元兩者之間的連接權(quán)函數(shù);Vj為隱層中第j 個(gè)過程神經(jīng)元與輸出層中過程神經(jīng)元兩者之間的連接權(quán)數(shù)值;θ(2)為輸出層中過程神經(jīng)元的閾值。
結(jié)合方程(2)~(4)輸出為數(shù)值的雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)的輸入與輸出的關(guān)系表達(dá)式為:
農(nóng)作物的生理學(xué)特征態(tài)都與生長發(fā)育期的各種不同時(shí)變參數(shù)輸入條件相關(guān),比如氣象、溫度、光照、水分、營養(yǎng)等相關(guān)[7]?;诖丝梢约僭O(shè)這些參數(shù)都是和時(shí)間相關(guān)的條件參數(shù)所確定,也就是不同的時(shí)變函數(shù)輸入Xi(t),然后通過雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)的輸入輸出訓(xùn)練,確定出在給定確定輸出樣本y 的條件下,其中y 為作物生長速率,參變量待定時(shí)變系數(shù)集既連接權(quán)函數(shù)與過程神經(jīng)元的閾值,從而得到生長發(fā)育預(yù)測算法的表達(dá)式。
現(xiàn)給定農(nóng)作物生長發(fā)育所需的時(shí)變函數(shù)設(shè)定時(shí)間單位日,在給定日期內(nèi)的生長天數(shù)設(shè)定為待定系數(shù)N,并設(shè)發(fā)育進(jìn)程為整數(shù)M,其中一個(gè)完整發(fā)育進(jìn)程M=1。由于農(nóng)作物在相應(yīng)完整發(fā)育期的氣溫所需的平均溫度值是一個(gè)常量則可以定為T 和D 兩個(gè)常數(shù)分別代表溫度和日長。
農(nóng)作物的生長除了給定的常量和待定系數(shù)N 之外剩下的可以用溫度、光照、營養(yǎng)函數(shù)來確定。設(shè)Ti(t)為輸入時(shí)變溫度函數(shù)隨著時(shí)間的變化溫度函數(shù)。Di(t)為輸入時(shí)變發(fā)育日常變比量函數(shù)、Pi(t)為溫感時(shí)變輸入函數(shù)、Gi(t)光感時(shí)變輸入函數(shù)、Ki(t)營養(yǎng)時(shí)變輸入函數(shù)。以上幾種描述時(shí)變輸入的特征函數(shù)均可通過日常記錄曲線擬合得到在此僅以過程函數(shù)表示。通過數(shù)值的雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)訓(xùn)練給定樣本就可以得出其表達(dá)式。
給定S 個(gè)學(xué)習(xí)樣本:{T1S(t),D2S(t),P3S(t),D4S(t),G5S(t);dS}SS=1。為了描述和求解方便起見,令給定不同輸入時(shí)變函數(shù)用Xis(t)替代后得出的,輸入函數(shù)向量的分量序號用下標(biāo)i 表示,學(xué)習(xí)樣本的序號用下標(biāo)s表示,第s 個(gè)輸入函數(shù)向量的神經(jīng)網(wǎng)絡(luò)期望值用ds表示。假設(shè)ys是對應(yīng)網(wǎng)絡(luò)的實(shí)際輸出值,則網(wǎng)絡(luò)輸出是數(shù)值量的雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)的誤差函數(shù)可以歸納為:
網(wǎng)絡(luò)的待訓(xùn)練參數(shù)調(diào)整規(guī)則可規(guī)定為:
式中,學(xué)習(xí)的迭代次數(shù)為r。
在公式(7)中,學(xué)習(xí)迭代過程中的每一次都可依據(jù)梯度下降算法得到可分別表示為:
式中,α,β,γ,η,λ 為各自對應(yīng)的學(xué)習(xí)速率。
因此,輸出為數(shù)值的雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)的基本學(xué)習(xí)算法可完整描述如下:
步驟1 網(wǎng)絡(luò)拓?fù)錀l件的給出;
步驟2 給出神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)精度ε;學(xué)習(xí)迭代初始次數(shù)r=0,迭代次數(shù)的最大值為M;學(xué)習(xí)速率;
步驟3 對網(wǎng)絡(luò)待訓(xùn)練參數(shù) ω(ijt)、vj、u(it)、θ(j1)和 θ(2)進(jìn)行初始化;
步驟4 誤差函數(shù)E 可以根據(jù)式(6)計(jì)算,假如r>M 或者E<ε,那么就轉(zhuǎn)入步驟6;
步驟5 神經(jīng)網(wǎng)絡(luò)的待訓(xùn)練參數(shù)可以通過公式(7)和公式(8)來調(diào)整,r+1→r,轉(zhuǎn)入步驟 4;
步驟6 運(yùn)行得出學(xué)習(xí)結(jié)果并結(jié)束。
實(shí)驗(yàn)數(shù)據(jù)采集來自黑龍江勝利農(nóng)場科技園區(qū),這里的自然環(huán)境因數(shù)對水稻、豆類以及其余經(jīng)濟(jì)作物的生長非常有利。
在所采集數(shù)據(jù)中提取其中的100 組樣本,采用梯度下降型網(wǎng)絡(luò)訓(xùn)練方法將前50 組樣本數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練樣本用于計(jì)算網(wǎng)絡(luò)模型的梯度值、更新網(wǎng)絡(luò)模型的權(quán)重和閾值。如果在訓(xùn)練中出現(xiàn)過度擬合現(xiàn)象則停止訓(xùn)練。通過在訓(xùn)練前對樣本數(shù)據(jù)進(jìn)行歸一化處理提高雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效率和網(wǎng)絡(luò)的泛化性能,將樣本數(shù)據(jù)歸一化到區(qū)間[-1,1]之間。
運(yùn)用“試探法”可以得到使用的輸出值為雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)的收斂速度和誤差。設(shè)定神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)誤差的精度是10-6;學(xué)習(xí)的速率是0.001;迭代次數(shù)的最大值為1 000 次。結(jié)合前50 組樣本對神經(jīng)網(wǎng)絡(luò)進(jìn)行培訓(xùn),神經(jīng)網(wǎng)絡(luò)經(jīng)過51 次學(xué)習(xí)迭代之后進(jìn)行收斂,得到的曲線圖如圖2 所示。
圖2 雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)的農(nóng)作物長態(tài)預(yù)測學(xué)習(xí)誤差曲線Fig.2 Learning error curve of crop growing prediction of double parallel feed forward process neural network
應(yīng)用所采集數(shù)據(jù)樣本在神經(jīng)網(wǎng)絡(luò)中進(jìn)行測量,測量的結(jié)果見圖3,計(jì)算得到平均相對誤差是8.35%。
圖3 基于雙并聯(lián)前饋過程神經(jīng)網(wǎng)絡(luò)的農(nóng)作物生長預(yù)測仿真Fig.3 Simulation of crop growing prediction system by double parallel feed forward process neural network
建立了一個(gè)農(nóng)作物生長預(yù)測過程神經(jīng)網(wǎng)絡(luò)模型。經(jīng)檢驗(yàn)測試樣本的網(wǎng)絡(luò)輸出與網(wǎng)絡(luò)目標(biāo)的相關(guān)系數(shù)R 為0.998 509,表明所建立的網(wǎng)絡(luò)模型是有效的。網(wǎng)絡(luò)模型對樣本數(shù)據(jù)進(jìn)行預(yù)測,模型的平均誤差為8.35%。文中提出的模型和算法也可推廣到其他農(nóng)作物生長參數(shù)的預(yù)測中比如生物量、葉面積指數(shù)等,為解決農(nóng)作物生長動(dòng)態(tài)預(yù)測提供了一種新的方法。
[1] 何新貴,梁久禎,許少華.過程神經(jīng)網(wǎng)絡(luò)的訓(xùn)練及其應(yīng)用[J].中國工程科學(xué),2001,3(4):31-35.
[2] 鐘詩勝,丁剛.雙并聯(lián)前向過程神經(jīng)網(wǎng)絡(luò)及其應(yīng)用研究[J].控制與決策,2005,20(7):764-768.
[3] 李道倫,盧德唐,孔祥言.基于徑向基函數(shù)網(wǎng)絡(luò)的隱式曲線[J].計(jì)算機(jī)研究與發(fā)展,2005,42(4):599-603.
[4] Kang Li,Jian-Xun Peng,Er-Wei Bai.Two-Stage Mixed Discrete-Continuous Identification of Radial Basis Function(RBF)Neural Models for Nonlinear Systems[J].IEEE Transactions on Circuits and Systems I:Regular Papers,2009,56(3):630-643.
[5] 許楠,劉英楠,汪秀會(huì).一種徑向基混沌神經(jīng)網(wǎng)絡(luò)的分段退火策略[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào),2012,24(4):80-84.
[6] 楊露,沈懷榮.一種前饋過程神經(jīng)元網(wǎng)絡(luò)初始化方法及改進(jìn)學(xué)習(xí)算法[J].系統(tǒng)仿真學(xué)報(bào),2009,21(13):3962-3974.
[7] 汪璇,呂家恪,胡小梅,等.水稻蟲害智能預(yù)測模型及其應(yīng)用[J].農(nóng)業(yè)工程學(xué)報(bào),2008,24(7):141-145.