謝秋菊,蘇中濱,劉佳薈,鄭 萍,馬鐵民,王 雪
(1.東北農(nóng)業(yè)大學(xué)電氣與信息學(xué)院,哈爾濱 150030;2.黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,黑龍江 大慶 163319;3.索尼信息系統(tǒng)(大連)有限公司,遼寧 大連 116085)
豬舍環(huán)境因素包括:空氣溫濕度、通風(fēng)、光照、粉塵、有害氣體等[1]。氨氣是反映豬舍空氣環(huán)境的一項(xiàng)重要指標(biāo)。氨氣濃度持續(xù)超過(guò)一定限制值時(shí),會(huì)對(duì)豬的呼吸系統(tǒng)及中樞系統(tǒng)造成危害,影響豬生長(zhǎng)性能、降低飼料利用率和種豬繁殖性能。對(duì)于豬舍環(huán)境的預(yù)測(cè)及控制己引起廣泛關(guān)注[2]。國(guó)內(nèi)外研究者對(duì)不同條件下,豬舍內(nèi)氨氣變化情況做大量研究工作[3-7],Ni等對(duì)豬舍內(nèi)氨氣散發(fā)進(jìn)行測(cè)量,建立氨氣散發(fā)模型[8],葛廣軍等對(duì)豬舍內(nèi)一年中不同月份氨氣的排放量研究[9]。黃建清基于BP神經(jīng)網(wǎng)絡(luò)對(duì)測(cè)量養(yǎng)殖環(huán)境中缺失的氨氣數(shù)據(jù)恢復(fù)[2]。但是由于氨氣濃度受舍內(nèi)溫濕度和通風(fēng)等環(huán)境因素影響,難以建立準(zhǔn)確預(yù)測(cè)模型。僅依靠監(jiān)測(cè)設(shè)備對(duì)舍內(nèi)氨氣濃度監(jiān)測(cè),雖可獲取氨氣濃度數(shù)據(jù),但存在調(diào)控滯后性問(wèn)題,未對(duì)豬舍內(nèi)氨氣濃度建立有效的預(yù)測(cè)模型。
本文針對(duì)規(guī)?;B(yǎng)豬場(chǎng)中豬舍內(nèi)環(huán)境參數(shù)進(jìn)行采集,根據(jù)采集數(shù)據(jù)基于L-M優(yōu)化算法建立BP神經(jīng)網(wǎng)絡(luò)氨氣濃度預(yù)測(cè)模型。采用傳統(tǒng)梯度下降方法,網(wǎng)絡(luò)收斂速度慢、效率低[2]。本文采用L-M優(yōu)化算法建立的模型收斂速率快,預(yù)測(cè)誤差與實(shí)際數(shù)據(jù)驗(yàn)證誤差很小,可實(shí)現(xiàn)豬舍氨氣濃度預(yù)測(cè),為豬舍氨氣濃度控制及預(yù)警提供技術(shù)支持。
BP(Back propagation)神經(jīng)網(wǎng)絡(luò)是Rumelhart和McCelland等于1986年提出,是目前應(yīng)用廣泛的神經(jīng)網(wǎng)絡(luò)模型之一,按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練多層前饋網(wǎng)絡(luò)[10]。BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)包括輸入層(Input)、隱層(Hide layer)和輸出層(Output layer)[11]。輸入層各神經(jīng)元負(fù)責(zé)接收來(lái)自外界的輸入信息,傳遞給中間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負(fù)責(zé)信息變換,根據(jù)信息變化能力需求,中間層設(shè)計(jì)為單隱層或者多隱層結(jié)構(gòu);最后一個(gè)隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進(jìn)一步處理后,完成一次學(xué)習(xí)的正向傳播處理過(guò)程,由輸出層向外界輸出信息處理結(jié)果。為確定神經(jīng)網(wǎng)絡(luò)輸入與輸出關(guān)系,需選定神經(jīng)網(wǎng)絡(luò)層次、各層的節(jié)點(diǎn)數(shù)、轉(zhuǎn)移函數(shù)及確定各層間節(jié)點(diǎn)連接權(quán)值。
BP網(wǎng)絡(luò)訓(xùn)練過(guò)程是由正向傳播和誤差反向傳播組成。給定網(wǎng)絡(luò)一組輸入樣本,BP網(wǎng)絡(luò)依次對(duì)輸入樣本中的每個(gè)輸入樣本進(jìn)行訓(xùn)練。主要過(guò)程是:對(duì)于一組輸入樣本,通過(guò)BP神經(jīng)網(wǎng)絡(luò)計(jì)算實(shí)際輸出。用BP網(wǎng)絡(luò)實(shí)際輸出與輸出樣本間誤差修正網(wǎng)絡(luò)連接權(quán)值,直至二者誤差達(dá)到設(shè)定值[12-14]。這一較小值稱(chēng)擬合誤差,一般用實(shí)際輸出與輸出樣本間誤差平方和表示,即:
公式(1)式稱(chēng)為誤差函數(shù),tpi樣本的輸出值;opi為實(shí)際輸出值。
BP神經(jīng)網(wǎng)絡(luò)可無(wú)限逼近非線(xiàn)性函數(shù),但收斂速度慢、易陷入局部極小值和網(wǎng)絡(luò)學(xué)習(xí)不穩(wěn)定。L-M優(yōu)化算法可改進(jìn)BP神經(jīng)網(wǎng)絡(luò)缺陷,加速網(wǎng)絡(luò)收斂速度、提高網(wǎng)絡(luò)訓(xùn)練精度。
L-M(Levenberg-Marquardt)優(yōu)化算法是梯度下降法和牛頓法的結(jié)合,結(jié)合梯度下降法在開(kāi)始幾步時(shí)下降速度較快和牛頓法在最優(yōu)值附近可產(chǎn)生理想搜索方向特點(diǎn)。L-M優(yōu)化算法搜索方向定義為:
令η(k)=1,則X(k+1)=X(k)+S(X(k))
開(kāi)始時(shí),λ取一個(gè)很大的數(shù)值,此時(shí)的L-M優(yōu)化算法相當(dāng)于步長(zhǎng)很小的梯度下降法;隨著最優(yōu)點(diǎn)的接近,λ減小到零,搜索方向從負(fù)梯度方向轉(zhuǎn)向牛頓法方向。
L-M優(yōu)化算法迭代過(guò)程如下[15-16]:
其中,z(i)表示第i次迭代的權(quán)值和閾值組成的向量,z(i+1)是第i+1次權(quán)值和閾值組成的向量。
對(duì)于牛頓法,Δz=-[?2E(z)]-1·?E(z), ?E(z)為梯度。
設(shè)誤差評(píng)價(jià)函數(shù)為:
公式(4)中,ei(x)為誤差。
對(duì)于高斯牛頓法有
公式(7)中,比例系數(shù)μ>0為常數(shù),J為單位矩陣。
L-M優(yōu)化算法在迭代時(shí),首先給出訓(xùn)練誤差允許值ε、β、μ,以及初始化權(quán)值和閾值向量z(0),然后計(jì)算出(3)式,K和(7)式的值,最后計(jì)算出E(x),當(dāng)E(x)<ε時(shí)迭代停止;否則令k=k+1,μ=,繼續(xù)迭代,直到E(x)<ε為止。
豬舍氨氣濃度變化受舍內(nèi)多個(gè)環(huán)境因素影響,具有時(shí)變和延時(shí)特性,根據(jù)豬舍環(huán)境調(diào)控應(yīng)用需求,本文針對(duì)基于梯度下降的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法訓(xùn)練時(shí)間長(zhǎng)、精度低等問(wèn)題,采用L-M優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)存在缺陷進(jìn)行改進(jìn),提高網(wǎng)絡(luò)收斂速度和訓(xùn)練精度。
由于氨氣濃度受舍內(nèi)溫濕度、通風(fēng)、豬舍結(jié)構(gòu)等環(huán)境因素影響,本文選取溫度、濕度、風(fēng)速和氨氣濃度作為豬舍環(huán)境監(jiān)測(cè)因素,建立環(huán)境預(yù)警模型。由于豬舍環(huán)境因素與時(shí)間、空間等多種影響因素相關(guān),各因素間相互作用,是非線(xiàn)性系統(tǒng)?;贚-M優(yōu)化算法的BP神經(jīng)網(wǎng)絡(luò)能有效地將非線(xiàn)性模型中的輸入與輸出之間內(nèi)部蘊(yùn)含規(guī)律進(jìn)行映射,可任意精度逼近任意函數(shù),因此本文基于L-M優(yōu)化算法,對(duì)豬舍的環(huán)境進(jìn)行預(yù)測(cè),根據(jù)預(yù)測(cè)模型可以建立相應(yīng)的預(yù)警措施。
數(shù)據(jù)采集是監(jiān)測(cè)和預(yù)警的基礎(chǔ),豬舍環(huán)境數(shù)據(jù)采集是在豬舍內(nèi)合理布置傳感器節(jié)點(diǎn),對(duì)節(jié)點(diǎn)采集的有效數(shù)據(jù)通過(guò)數(shù)據(jù)融合獲得當(dāng)前環(huán)境數(shù)據(jù)值。本文環(huán)境監(jiān)測(cè)數(shù)據(jù)取自黑龍江大慶市某規(guī)?;B(yǎng)豬場(chǎng)的哺乳母豬舍,從2013年3月1日至2013年5月1日連續(xù)對(duì)豬舍內(nèi)環(huán)境進(jìn)行監(jiān)測(cè)。豬舍建筑樣式為密閉式、南北朝向,長(zhǎng)度為70 m,南北跨度為10 m,高度為5 m,雙列式鋼質(zhì)圍欄,舍內(nèi)飼養(yǎng)母豬數(shù)量為60頭,仔豬數(shù)量為200頭。在豬舍內(nèi)不同位置分別布置6個(gè)數(shù)據(jù)采集節(jié)點(diǎn),分別放置在兩列圍欄的兩端和中間位置,高度為1 m,傳感器布置如圖1所示。每個(gè)節(jié)點(diǎn)同時(shí)對(duì)溫度、濕度和氨氣濃度采集,溫濕度采集選用SHT10溫濕度傳感器,氨氣濃度采集選用ME3-NH3電化學(xué)氨氣傳感器,豬舍環(huán)境數(shù)據(jù)現(xiàn)場(chǎng)采集設(shè)備如圖2。每間隔10 min對(duì)豬舍內(nèi)環(huán)境數(shù)據(jù)進(jìn)行一次采集,由于在舍內(nèi)布置多個(gè)采集節(jié)點(diǎn),需對(duì)這些節(jié)點(diǎn)數(shù)據(jù)進(jìn)行處理,本文將同一時(shí)刻同種類(lèi)傳感器數(shù)據(jù)利用求加權(quán)平均值的方法處理,作為舍內(nèi)環(huán)境實(shí)時(shí)數(shù)據(jù)。
圖1 豬舍環(huán)境數(shù)據(jù)采集節(jié)點(diǎn)布置Fig.1 Layout of barn environmental data collection nodes
圖2 豬舍環(huán)境數(shù)據(jù)現(xiàn)場(chǎng)采集圖像Fig.2 Photo of piggery environmental data collection
設(shè)豬舍中的6個(gè)采樣節(jié)點(diǎn)分別為x1,x2,…,x6,每個(gè)節(jié)點(diǎn)的信息表示為xi(ti,hi,ni,ωi),其中:ti,hi,ni,ωi分別表示節(jié)點(diǎn)xi某時(shí)刻的溫度值、濕度值、氨氣濃度及權(quán)重[17]。由于豬舍的溫濕度、氨氣濃度一般會(huì)在入口處數(shù)值較低,依據(jù)距離豬舍入口距離遠(yuǎn)近不同,傳感器權(quán)重ωi取值如公式(8)所示。某時(shí)刻牛舍內(nèi)的溫度T、濕度H、氨氣N,則可表示為公式(9)、(10)和(11)所示。
在公式(8)中,mi為傳感器距離豬舍入口的距離。
將T,H,N的值作為豬舍某時(shí)刻的環(huán)境數(shù)值存入數(shù)據(jù)庫(kù),作為環(huán)境預(yù)測(cè)模型的輸入數(shù)據(jù)。
本文在連續(xù)采集的2個(gè)月環(huán)境數(shù)據(jù)中,選取其中30 d的溫度、濕度、風(fēng)速和氨氣濃度數(shù)據(jù),將這些環(huán)境數(shù)據(jù)每隔60 min進(jìn)行求平均值處理,共得到720組數(shù)據(jù),部分?jǐn)?shù)據(jù)如表1所示。
表1 豬舍環(huán)境數(shù)據(jù)Table 1 Piggery environmental data
2.2.1 預(yù)測(cè)模型數(shù)據(jù)預(yù)處理
由于母豬的生長(zhǎng)周期長(zhǎng),豬舍四季溫濕度變化較大,為反映近期豬舍環(huán)境變化規(guī)律,選取訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)的時(shí)間跨度不宜過(guò)長(zhǎng)。在對(duì)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練之前,首先需要對(duì)網(wǎng)絡(luò)的樣本數(shù)據(jù)進(jìn)行歸一化處理[18],將數(shù)據(jù)變換為(0,1)區(qū)間的值,歸一化處理采用最大最小算法,如公式(12)所示。
公式(12)中,xi表示輸入數(shù)據(jù),xmin表示數(shù)據(jù)的最小值,xmax表示數(shù)據(jù)的最大值。
2.2.2 預(yù)測(cè)模型的結(jié)構(gòu)
BP網(wǎng)絡(luò)的泛化能力與網(wǎng)絡(luò)隱層數(shù)和隱層節(jié)點(diǎn)數(shù)有關(guān)。雖然隱層數(shù)目增加可以提高網(wǎng)絡(luò)的非線(xiàn)性影射能力,但是隱層數(shù)目超過(guò)一定值時(shí),反而會(huì)降低網(wǎng)絡(luò)性能[19]。因此,隱層數(shù)要盡量簡(jiǎn)單,具有較強(qiáng)的泛化能力[20]。本文設(shè)計(jì)三層BP網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示。輸入層的節(jié)點(diǎn)分別為影響環(huán)境質(zhì)量的主要因素:溫度、濕度和風(fēng)速,輸入層神經(jīng)元個(gè)數(shù)為3;根據(jù)Kolmogorov定理、設(shè)計(jì)者的經(jīng)驗(yàn)和多次試驗(yàn),證明隱層神經(jīng)元個(gè)數(shù)為7時(shí)逼近效果最好;輸出層是氨氣濃度,輸出層神經(jīng)元個(gè)數(shù)為1。網(wǎng)絡(luò)結(jié)構(gòu)為3-7-1三層結(jié)構(gòu)。隱層神經(jīng)元的傳遞函數(shù)為S型正切函數(shù)tansig,輸出層神經(jīng)元傳遞函數(shù)采用S型對(duì)數(shù)函數(shù)logsig[21]。
圖3 模型結(jié)構(gòu)Fig.3 Model structure
以前29 d實(shí)測(cè)并經(jīng)過(guò)歸一化處理的696組溫度、濕度和風(fēng)速數(shù)據(jù)作為網(wǎng)絡(luò)輸入樣本,網(wǎng)絡(luò)的輸出樣本為696組數(shù)據(jù)對(duì)應(yīng)的實(shí)測(cè)氨氣濃度數(shù)據(jù),以第30天24組實(shí)測(cè)并經(jīng)過(guò)歸一化處理的溫度、濕度和風(fēng)速數(shù)據(jù)作為測(cè)試樣本。通過(guò)Matlab建立三層結(jié)構(gòu)BP神經(jīng)網(wǎng)絡(luò),使用L-M優(yōu)化算法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,設(shè)定網(wǎng)絡(luò)訓(xùn)練步數(shù)為1000,性能目標(biāo)誤差為0.001,學(xué)習(xí)速率為0.05,動(dòng)量常數(shù)為0.9。
由于對(duì)網(wǎng)絡(luò)訓(xùn)練采用L-M算法,網(wǎng)絡(luò)收斂速度很快,模型完全達(dá)到設(shè)計(jì)性能,網(wǎng)絡(luò)在經(jīng)過(guò)90步訓(xùn)練后,對(duì)696組訓(xùn)練數(shù)據(jù)達(dá)到目標(biāo)誤差,模型訓(xùn)練性能如圖4所示。
圖4 網(wǎng)絡(luò)訓(xùn)練性能Fig.4 Performance of network training
本模型對(duì)24組測(cè)試數(shù)據(jù)進(jìn)行氨氣濃度的預(yù)測(cè),預(yù)測(cè)值與實(shí)際值驗(yàn)證如圖5所示。
圖5 網(wǎng)絡(luò)預(yù)測(cè)值與實(shí)測(cè)值對(duì)比Fig.5 Comparison between network prediction and actual value
表2 預(yù)測(cè)模型驗(yàn)證Table 2 Verification of prediction model
由圖4、5和表2可以看出,基于L-M優(yōu)化算法預(yù)測(cè)模型最大相對(duì)誤差為1.72%,最小相對(duì)誤差為0.11%,平均相對(duì)誤差為0.57%,相關(guān)性R=0.99337;線(xiàn)性預(yù)測(cè)方法最大相對(duì)誤差為6.34%,最小相對(duì)誤差為2.05%,平均相對(duì)誤差為3.62%,相關(guān)性R=0.95142。因此,基于L-M優(yōu)化算法預(yù)測(cè)模型性能良好,預(yù)測(cè)值與實(shí)際測(cè)量值相對(duì)誤差很小,能夠滿(mǎn)足豬舍氨氣濃度預(yù)測(cè)的需求。
本文建立的預(yù)測(cè)模型對(duì)受多環(huán)境因素影響的豬舍氨氣濃度預(yù)測(cè),實(shí)際環(huán)境數(shù)據(jù)作為輸入樣本及測(cè)試樣本,對(duì)樣本訓(xùn)練采用L-M優(yōu)化算法,經(jīng)過(guò)90步訓(xùn)練達(dá)到預(yù)定誤差。通過(guò)預(yù)測(cè)值與實(shí)際測(cè)值對(duì)比試驗(yàn)研究結(jié)果表明,網(wǎng)絡(luò)收斂速度快,最大相對(duì)誤差僅為1.72%,與線(xiàn)性預(yù)測(cè)方法相比提高豬舍氨氣濃度預(yù)測(cè)準(zhǔn)確性與及時(shí)性,可為豬舍環(huán)境預(yù)警及控制提供數(shù)據(jù)技術(shù)支持。
[1] 黃建清.具有缺失數(shù)據(jù)恢復(fù)估算的畜禽養(yǎng)殖有害物質(zhì)數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)[D].鎮(zhèn)江:江蘇大學(xué),2009.
[2] 陳長(zhǎng)喜,張宏福,王兆毅,等.畜禽健康養(yǎng)殖預(yù)警體系研究與應(yīng)用[J].農(nóng)業(yè)工程學(xué)報(bào),2010,26(11):215-220.
[3] Seedorf J,Hartung J,Schroder M,et al.Concentrations and emissions of airborne Endotoxins and microorganisms in livestock buildings in Northern Europe[J].Agric Engng Res,1998,70:97-109.
[4] Angelika H,Eberhard H,Thomas J,et al.Cooling effects and evaporation characteristics of fogging systems in an experimental piggery[J].Biosystems Engineering,2007(97):395-405.
[5] Farmer C,Devillers N,Widowski T,et al.Impacts of a modified farrowing pen design on sow and litter performances and air quality during two seasons[J].Livestock Science,2006(104):303-312.
[6] Ki Y K,Chi N K.Airborne microbiological characteristics in public buildings of Korea[J].Building and Environment,2007(42):2188-2196.
[7] 王宗尉.舍內(nèi)環(huán)境與豬健康水平多元回歸模型分析[D].哈爾濱:東北農(nóng)業(yè)大學(xué),2009.
[8] Ni J Q,Vinckier C,Coenegrachts J,et al.Effect of manure on ammonia emission from a fattening pig house with partly slatted floor[J].Livestock Production Science,1999,59:25-31.
[9] 葛廣軍.畜禽飼養(yǎng)場(chǎng)環(huán)境測(cè)控系統(tǒng)及數(shù)據(jù)處理的研究[D].鎮(zhèn)江:江蘇大學(xué),2006.
[10] Rumelhart D E,Mcclelland J L.Parallel distributed processing[M].Cambridge:The MITPress,1986.
[11] 田景文,高美娟.人工神經(jīng)網(wǎng)絡(luò)算法研究及應(yīng)用[M].北京:北京理工大學(xué)出版社,2006.
[12] Atiya A,Ji C Y.How initial conditions affect generalization performance in large networks[J].IEEETrans Neural Networks,1997,8(2):448-451.
[13] 江學(xué)軍,唐煥文.前饋神經(jīng)網(wǎng)絡(luò)泛化能力的系統(tǒng)分析[J].系統(tǒng)工程理論與實(shí)踐,2000,20(8):36-40.
[14] 張兵,袁壽其,成立,等.基于L-M優(yōu)化算法的BP神經(jīng)網(wǎng)絡(luò)的作物需水量預(yù)測(cè)模型[J].農(nóng)業(yè)工程學(xué)報(bào),2004,20(6):73-76.
[15] 王建梅,覃文忠.基于L-M算法的BP神經(jīng)網(wǎng)絡(luò)分類(lèi)器[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2005,30(10):85-88.
[16] 項(xiàng)文強(qiáng),張華,王姮,等.基于L-M算法的BP網(wǎng)絡(luò)在變壓器故障診斷中的應(yīng)用[J].電力系統(tǒng)保護(hù)與控制,2011,39(8):100-111.
[17] 王雷雨,孫瑞志,曹振麗.畜禽健康養(yǎng)殖中環(huán)境監(jiān)測(cè)及預(yù)警系統(tǒng)研究[J].農(nóng)機(jī)化研究,2012,10:199-203.
[18] 李秀金.養(yǎng)殖場(chǎng)氣味的產(chǎn)生及控制技術(shù)[J].農(nóng)業(yè)工程學(xué)報(bào),2001(9):78-81.
[19] 田大鋼.前饋神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力[J].系統(tǒng)工程理論與實(shí)踐,2005(5):105-109.
[20] Bogdan M W,Chen Y X.Effieient algorithm for training neural networks with one hidden layer[A].M A leks-andered.Proc of the Int,1Joint Conf on Neural Networks Vol.31[C].Washington D C:IEEE Press,1999:1725-1728.
[21] 飛恩科技術(shù)產(chǎn)品研發(fā)中心.神經(jīng)網(wǎng)絡(luò)理論與MATLAB 7實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005.