鄧玉睿 周 勇 唐 芳 祁智慧 從 偉程旭東 王鵬杰 張海洋
(國家糧食和物資儲備局科學研究院1,北京 100037) (中國科學技術大學2,合肥 230026)
霉變是造成糧食損失的一個重要因素。一直以來,國內外許多學者對糧食霉菌的生長規律和檢測方法進行了大量的研究。Christensen等[1-3]研究了糧食儲藏微生物生長區系以及溫濕度對儲糧霉菌孢子萌發和生長的影響,并明確了一些儲糧霉菌孢子萌發所需的最低相對濕度。周建新等[4,5]研究了儲藏溫度和水分對儲藏霉菌生長的影響,糧食儲藏穩定性與帶菌量密切相關。程樹峰等研究了稻谷、小麥、玉米儲藏過程危害真菌的生長規律,提出早期危害真菌以灰綠曲霉和白曲霉為主,并建立了儲糧霉變的檢測方法及判定參考標準。儲糧霉變的檢測方法還包括熒光染色法[9]、光譜成像技術[10]、電子鼻[11]等方法,這些檢測方法都是基于霉菌已經生長實現檢測。隨著研究手段發展和信息技術的進步,基于糧食霉變的基礎數據,采用神經網絡自學習實現糧食霉變預測,將糧食安全監管端口前移,對減少糧食損失保障儲糧安全意義重大。
BP 神經網結構簡單,訓練與調控參數豐富,在神經網絡中應用最廣泛,其不需要輸入、輸出值間存在嚴格的假設關系,同時能夠以區間數、模糊數等方式處理定性信息,在模式識別、危害分析和關鍵點股市分析預測、管理問題優化與決策等方面得到大量的實際應用[12]。近幾年在糧食行業也有應用,沈兵[13]根據糧情樣本數據建立了儲糧安全預測BP神經網絡模型,通過已有的糧倉溫度、濕度,糧食水分和害蟲數據預測儲糧安全狀況。劉硯菊等[14]通過采集儲糧環境中溫度、濕度、CO2數據,基于BP神經網絡對糧情樣本進行訓練,構建了一種糧情監控模型。本研究基于神經網絡理論,利用MATLAB神經網絡工具箱,建立了糧食霉變預測BP神經網絡模型,并運用已有的實驗數據訓練和測試網絡,使之可以進行分類預測,對于糧食霉變預測提供了新的研究思路。
取自黑龍江的粳稻樣品,測定樣品初始水分含量,加無菌水將樣品水分調節至目標水分,密封,于4 ℃冷藏均衡水分30~60 d,直至稻谷水分含量達到目標水分并通過水分均勻性檢驗。

表1 儲糧安全評價參考表
HPS-250生化培養箱;PL3002-IC電子分析天平;HG-9246A型電熱恒溫鼓風干燥箱;SMART顯微鏡;DJSFM-1糧食水分測試粉碎磨。
1.3.1 模擬儲藏及檢測周期
將不同水分含量的稻谷樣品,密封并分別置于不同儲藏溫度(10、15、20、25、30、35 ℃)生化培養中模擬儲藏180 d,每10 d 取樣一次,檢測水分和真菌孢子數。
1.3.2 真菌孢子計數[15]
參照LS/T 6132 糧食檢驗儲糧真菌的檢測孢子計數法。
1.3.3 水分測定[16]
參照GB/T 5497 糧食、油料檢驗水分測定法105 ℃烘干法。
1.3.4 數據預處理
為了便于儲糧霉變狀況判定,參考LS/T 6132[15]附錄C“儲糧安全評價參考表”,將“Ⅲ級-危害”確定為是否發生霉變的標準(以對糧食造成危害為標準),將實驗過程中采集到的2 592個數據分成“已霉變”和“未霉變”兩類,標記為“1”和“-1”。
BP神經網絡(BPNN)是應用極為廣泛的神經網絡模型之一,在復雜的非線性系統中具有較高的建模能力,并對數據具有良好的擬合能力,在預測方面應用廣泛[17]。
BP網絡是一種多層前饋神經網絡,由輸入層、隱層和輸出層組成。圖1為一個典型的三層BP網絡的拓撲結構,層與層之間采用全互連方式,同一層之間不存在相互連接,隱層可以有一層或多層。層與層之間有兩種信號在流通:一種是工作信號(用實線表示),它是施加輸入信號后向前傳播直到在輸出端產生實際輸出的信號,是輸入和權值的函數。另一種是誤差信號(用虛線表示),網絡實際輸出與期望輸出間的差值即為誤差,它由輸出端開始逐層向后傳播。BP網絡的學習過程由前向計算過程和誤差反向傳播過程組成。在前向計算過程中,輸入量從輸入層經隱層逐層計算,并傳向輸出層,每層神經元的狀態只影響下一層神經元的狀態。如輸出層不能得到期望的輸出,則轉入誤差反向傳播過程,誤差信號沿原來的連接通路返回,逐次調整網絡各層的權值和閾值,直至到達輸入層,再重復進行計算,使得網絡誤差最小或達到人們所期望的要求時,學習過程結束[18]。

圖1 典型神經網絡結構圖
MATLAB 中的神經網絡工具箱功能十分完善,提供了各種MATLAB函數,包括神經網絡的建立、訓練和仿真等函數,以及各種改進訓練算法函數。因此,本工作可以方便地利用MATLAB中神經網絡工具箱建立稻谷霉變預測的神經網絡模型,主要包括三個步驟:創建BP神經網絡、訓練神經網絡、網絡仿真模擬。
一個神經網絡中最重要的參數包括輸入層、輸出層、隱藏層的神經元個數和傳遞函數。創建BP神經網絡時可以通過設置MATLAB中調用神經網絡的專用函數實現[13]。
利用預處理過的數據集(M+N),隨機選擇M組數據作為訓練數據訓練網絡,另外N組數據對數據測試網絡的分類能力進行測試。

調用newff函數建立神經網絡,隱藏層和輸出層傳輸函數都選用對數函數(logsig),學習率設為0.1,訓練目標誤差設為0.000 1。
調用訓練函數train訓練網絡,并用測試數據進行測試。選擇誤差小的網絡保存下來,即為我們想要的網絡。
利用網絡仿真時,首先加載出網絡,然后調用函數sim,輸入需要模擬的輸入數據進行仿真。
通常訓練數據量越大,網絡精度會越高。而實際倉儲情況下,無法獲得大量的數據對網絡進行訓練,為了探究訓練數據數量對網絡精度的影響,我們選取了不同樣本數目(50~1 000組)對網絡進行訓練,并用1 500組測試數據進行測試,記錄在各種情況下網絡測試數據的正確率,得到結果如下:

圖2 不同訓練樣本數目對網絡精度的影響
本次實驗中訓練數據和測試數據均為隨機選擇。由此可知,當訓練數據為50組的時候,網絡預測正確率約為88.6%;大于400時,網絡預測正確率明顯提高,可以達到94.3%左右,并且在訓練數據為400~1 000組時網絡預測正確率提高緩慢。因此,雖然訓練數據量越大,網絡預測正確率越高,在實際應用中也可以依據工作對預測系統精度的要求選擇訓練樣本數目。
利用之前預處理過的數據集(共2 592組數據),隨機選擇2 500組數據作為訓練數據訓練網絡,另外92組數據對數據測試網絡的分類能力進行測試。
調用已訓練好的網絡,對剩余92組檢測數據的進行測試,預測結果與實際情況進行比較,可以看到網絡分類結果較為準確,正確率達到98%以上,結果節選如下:

表1 測試數據結果

圖3 測試數據與網絡預測數據對比圖
對于未進行實驗的數據,該神經網絡也可以給出預測。例如,在命令行中輸入y=sim(net,[27,15,48]),即在溫度27 ℃、水分含量15%、儲藏時間48 d的情況下,糧食是否會霉變,可以得到運行結果y=-1,即神經網絡預測結果是該情況下稻谷不會發生霉變。
為了驗證由實驗數據得到的BP神經網絡在實際應用中可以達到的預測準確程度,采用實倉數據作為測試數據來測試上文中神經網絡的預測準確程度。實倉數據共有84組,樣品數據均來自華北地區某糧庫,檢測時間從6月份到10月份,對應已儲藏時間為150~255 d,溫度范圍為19~ 27.4 ℃,水分范圍為12.8%~15.4%。調用已經訓練好的神經網絡對實倉數據進行預測,結果如圖4所示。實倉數據預測正確的數據為69組,正確率為82.1%,可以證明利用實驗數據得到的神經網絡預測實倉數據情況的正確率較高。

圖4 實倉數據與網絡預測數據對比圖
本研究利用MATLAB神經網絡工具箱建立了應用于糧食霉變預測BP神經網絡模型,在隨機選擇訓練數據和測試數據并且訓練樣本數據量足夠大時該模型非常準確。通過測試不同樣本數目,探究樣本數目對網絡模型準確性的影響,得到了不同訓練樣本數目下網絡預測的正確率,對實際應用有著指導意義。為了探究網絡模型在實際應用中的可信性,利用華北地區的實倉數據對網絡進行驗證,發現網絡預測的準確性較高,為實際糧食儲藏過程中的霉變情況的預測提供了一種新的手段。