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