張興紅,甄 彤,包 暉,丁 偉,張俊蘭
(1.河南工業(yè)大學信息科學與工程學院,河南鄭州 450001;2.中央儲備糧曹縣直屬庫,山東曹縣 274400)
基于神經(jīng)網(wǎng)絡的儲糧測控專家系統(tǒng)的研究與應用
張興紅1,甄 彤1,包 暉1,丁 偉1,張俊蘭2
(1.河南工業(yè)大學信息科學與工程學院,河南鄭州 450001;2.中央儲備糧曹縣直屬庫,山東曹縣 274400)
將神經(jīng)網(wǎng)絡應用于專家系統(tǒng)中,利用神經(jīng)網(wǎng)絡系統(tǒng)的學習功能解決傳統(tǒng)專家系統(tǒng)在知識獲取、推理能力、自學習能力上的缺陷,與糧情測控系統(tǒng)相結(jié)合,提出了一種改進BP算法.該算法加入動量項,然后對自適應算法進行了一些適當改進,進而給出了該算法的理論推導和具體實現(xiàn)步驟.與未改進的BP算法相比,該方法協(xié)調(diào)了訓練次數(shù)多而引起的學習效率和收斂速度之間的矛盾,提高了BP算法的熟練速度和收斂速度.實驗結(jié)果也說明了該方法的快速性、有效性、穩(wěn)定性.
神經(jīng)網(wǎng)絡;BP算法;專家系統(tǒng);儲糧測控
我國是世界上最大的糧食生產(chǎn)國,也是最大的糧食消費國,糧食是關系國計民生的重要戰(zhàn)略資源.為了保證倉儲質(zhì)量,將先進的現(xiàn)代電子技術和儲糧相結(jié)合,設計開發(fā)儲糧方面的專家系統(tǒng),對糧食安全儲藏具有重大意義.傳統(tǒng)的專家系統(tǒng)對于知識庫的維護比較困難,而且推理方法簡單,控制策略不靈活,推理實現(xiàn)比較難,因此不能準確及時地測量和控制儲糧倉,致使我國每年有數(shù)億斤的糧食在儲藏過程中霉爛變質(zhì),造成巨額損失.
作者引入神經(jīng)網(wǎng)絡算法,神經(jīng)網(wǎng)絡的特性[1]:(1)并行分布處理.神經(jīng)網(wǎng)絡具有高度的并行結(jié)構和并行實現(xiàn)能力,因而有較好的耐故障能力和較快的總體處理能力,這特別適于實時和動態(tài)控制.(2)通過訓練進行學習.神經(jīng)網(wǎng)絡是通過所研究系統(tǒng)過去的數(shù)據(jù)記錄進行訓練的,一個經(jīng)過訓練的神經(jīng)網(wǎng)絡具有歸納全部數(shù)據(jù)的能力,因此神經(jīng)網(wǎng)絡能夠解決那些由數(shù)學模型或描述規(guī)則難以處理的問題.(3)適應與集成.神經(jīng)網(wǎng)絡能夠適應在線運行,并能同時進行定量和定性操作,神經(jīng)網(wǎng)絡的強適應和信息融合能力使得網(wǎng)絡過程可以同時輸入大量不同的控制信號,解決輸入信息間的互補和冗余問題,并實現(xiàn)信息集成和融合處理.神經(jīng)網(wǎng)絡由于其學習和適應、自組織、函數(shù)逼近和并行處理能力,為專家系統(tǒng)的研究開辟了嶄新的途徑.
反向傳播(Back Propagation,BP)算法的網(wǎng)絡稱為 BP網(wǎng)絡,是由非線性變換單元組成的多層前饋網(wǎng)絡,其基本思想是:工作信號正向傳播,誤差信號反向傳播,兩種信號流通方式,是目前應用最廣泛的神經(jīng)網(wǎng)絡模型[2-3].BP算法屬于 Delta學習規(guī)則,是一種有導師的學習算法,它在給定目標的情況下,以其實際輸出與目標值之差的平方和為目標函數(shù),以調(diào)節(jié)權值使目標函數(shù)達到最小值為最終目的.
BP算法步驟包括兩個階段,第一階段是計算實際輸出,這是從輸入到輸出的計算與修改,得出神經(jīng)元的輸出.第二個階段是對權和閾值的修改,這是從輸出層向下計算和修改,即已知最高層的誤差修改與最高層相連的權,然后修改各層的權,兩個過程反復交替,直到達到收斂為止[4].
BP網(wǎng)絡模型如圖 1所示[5].
圖1 BP網(wǎng)絡模型
式中:Nk-2表示第 k-2層的節(jié)點數(shù);表示第k -1層第 j個基點輸入加權和;表示第 k-2層第 i個節(jié)點與 k-1層第 j節(jié)點間的連接權值;表示第 k-2層第 i個節(jié)點的輸出值.因此,第 k-1層第 j個節(jié)點的輸出為:
為了對網(wǎng)絡進行訓練,首先要確定一個目標函數(shù).目標函數(shù)一般設為輸出與給定目標之差的平方和,如下所示:
式中:Tp為輸出層第 p個節(jié)點的目標值,這個值是訓練者提供的.訓練的目標是找到合適的權值使目標函數(shù) E達到最小,即全局最優(yōu).可采用梯度下降法求優(yōu)化權值.首先求出目標函數(shù)沿著多個權值的變化梯度,并按梯度值大小的比例快速向目標值靠近,最后收斂于某一目標值.該權值從輸出層開始修正,然后再修正前一層網(wǎng)絡的權值,目標函數(shù)對輸出層某一權值的梯度為:
因此要使第 k-1層權值向最優(yōu)權值靠近,k -1層權值應作如下修正:
式中:η為學習速率,目標函數(shù)與再前一層(即 k-2層)之間某一權值的梯度為:
因此 k-2層權值的修正量為:
其中
BP網(wǎng)絡由數(shù)據(jù)流正向傳播和誤差信號的反向傳播兩個過程構成.通過這兩個過程的交替進行,在權向量空間執(zhí)行誤差函數(shù)梯度下降策略,動態(tài)迭代搜索一組權向量,使網(wǎng)絡誤差函數(shù)達到最小值,從而完成信息提取和記憶過程.
BP算法用于具有非線性傳輸函數(shù)的三層前饋網(wǎng)絡,可以任意精度逼近任何非線性函數(shù),但是標準的BP算法在應用中存在一些內(nèi)在缺陷:易形成局部極小而得不到全局最優(yōu);訓練次數(shù)多使得學習效率低,收斂速度慢.作者提出一種改進的BP算法來解決以上問題.
2.1 加入動量項
BP網(wǎng)絡在具體的應用中,標準 BP算法的步長η的選擇很重要.選擇步長η大則收斂快,但過大則可能引起不穩(wěn)定,η最大不能超過,λ
max為輸入向量x的自相關陣的最大特征值;η小則可避免振蕩,但收斂速度慢,解決這一矛盾的最簡單方式是加入動量因子α.即使
式中:第 3項是記憶上一時刻權的修改方向,而在時刻 t(n0)的修改方向為 t(n0-1)時刻的方向與t(n0)時刻方向的組合.將公式改寫為[6-7]:
式中:0<α<1,建議在η(n0)時進行調(diào)整.如果ΔE>0,η要減小時,讓α減小甚至等于0,然后調(diào)節(jié)η增加使α恢復.應用結(jié)果表明,該方法對于提高BP算法的熟練速度十分有效,收斂速度變快.
2.2 自適應學習
標準BP網(wǎng)絡收斂速度緩慢的一個重要原因是學習速率選擇不當,學習速率選得太小,收斂太慢;學習速率選得太大,則有可能會過擬合,導致振蕩甚至發(fā)散.調(diào)整的基本指導思想是:在學習收斂的情況下,增大η以縮短學習時間;當η偏大致使不能收斂時,要及時減小η,直到收斂為止.
由于L-M(Levenberg-Marquardt)算法比梯度下降法更快,所以選擇如下的 L-M學習規(guī)則[8]:
式中:e為誤差向量;J為網(wǎng)絡誤差對權值導數(shù)的雅可比(Jacobian)矩陣;μ為標量.當μ很大時上式接近于梯度法,當μ非常小時上式變成了 Gauss -Newton法.在這種方法中,也是自適應調(diào)整的.綜合考慮,擬采用L-M學習規(guī)則和動量法分別作為神經(jīng)網(wǎng)絡的訓練函數(shù)和學習函數(shù).
在中央儲備糧曹縣直屬庫對該糧庫儲存小麥溫度、濕度、水分、害蟲數(shù)進行檢測,將2000—2005年的樣本作為訓練樣本,將2006—2009年樣本作為測試樣本.在網(wǎng)絡訓練之前,將原始數(shù)據(jù)進行歸一化處理.
3.1 網(wǎng)絡訓練
由于3層BP網(wǎng)絡可以逼近任意函數(shù),因此選擇 3層結(jié)構的網(wǎng)絡.選用均方誤差(MSE)作為網(wǎng)絡評價的標準[9-10]:
式中:m為輸出節(jié)點的個數(shù);p為訓練樣本數(shù)目;^ypj為網(wǎng)絡期望輸出值;ypj為實際值.根據(jù)如下經(jīng)驗公式選擇隱含層節(jié)點數(shù):
式中:n為輸人節(jié)點個數(shù)m,為輸出節(jié)點個數(shù),a為1~10之間的常數(shù).輸入層神經(jīng)元個數(shù)為 3,輸出層神經(jīng)元個數(shù)為 1,所以 n1取值為 3~12.
借助于MATLAB6.5神經(jīng)網(wǎng)絡工具箱來實現(xiàn)多層前饋BP網(wǎng)絡.經(jīng)過調(diào)試,隱含層和輸出層傳遞函數(shù)分別采用 tan-sigmoid型和 log—sigmoid型傳遞函數(shù).訓練結(jié)果如圖 2所示.
圖2 隱含層神經(jīng)函數(shù)與誤差關系圖
由圖 2看出:增加隱含層節(jié)點數(shù)可以減少訓練誤差,但超過 8以后測試誤差產(chǎn)生波動,即泛化能力發(fā)生變化.綜合比較隱含層節(jié)點數(shù)為 8與 9的訓練誤差和測試誤差,決定隱含層節(jié)點數(shù)選用8.網(wǎng)絡結(jié)構確定后,進入仿真環(huán)節(jié).
3.2 仿真結(jié)果
將數(shù)據(jù)代入訓練好的網(wǎng)絡中進行仿真.為了消除仿真結(jié)果的波動性,求取 5次仿真的平均值作為最終結(jié)果 (表 1).仿真結(jié)果的MSE較小,說明仿真的效果很好,可以用于糧食安全的預測.
給出 5次訓練的權值及閾值的平均值,見表2.表中的序號 1~8分別表示隱含層的 8個神經(jīng)元, iw l,iw2和 iw3分別表示輸入層神經(jīng)元與隱含層神經(jīng)元之間的權值,b1表示隱含層神經(jīng)元的閾值,1w2表示隱含層神經(jīng)元與輸出層神經(jīng)元之間的權值.
表1 仿真結(jié)果
表2 權值及閾值平均值
改進的BP算法協(xié)調(diào)了訓練次數(shù)多而引起的學習效率和收斂速度之間的矛盾,而實驗仿真結(jié)果證明,將基于神經(jīng)網(wǎng)絡的改進 BP算法應用于糧情檢測是有效可行的,模型建立后能夠達到預期的精度,可以用作糧情檢測的仿真及預報.模型具有操作簡單、適應性強等特點.它是由 Sigmoid函數(shù)連接而成的多層次網(wǎng)絡結(jié)構,不需要先驗的設定模型,對不完全信息、帶噪音的信息具有良好的適應性,能很好地解決非線性問題.
[1] 蔡自興,約翰·德爾金,龔濤.高級專家系統(tǒng):原理、設計及應用[M].北京:科學出版社,2005.
[2] 甄彤,范艷峰.基于支持向量機的儲糧害蟲分類識別技術研究[J].計算機工程,2006, 32(9):167-169.
[3] 甄彤,馬志,張秋聞.多傳感器信息融合技術在糧情測控中的應用[J].河南工業(yè)大學學報:自然科學版,2008,29(4):56-59.
[4] 馮定.神經(jīng)網(wǎng)絡專家系統(tǒng)[M].北京:科學出版社,2006.
[5] 程偉良.廣義專家系統(tǒng)[M].北京:北京理工大學出版社,2005.
[6] Murata N,Yoshizawa S,Amari S.Ne twork’s informationcriterion-deter mining the number of hidden units for an artifi-cial neural network model[J]. IEEE Trans,Neural Networks,l997,5(6):865-872.
[7] 趙玉,宋自奮,祁春節(jié).基于人工神經(jīng)網(wǎng)絡的中國糧食安全仿真研究[J].貴州農(nóng)業(yè)科學,2008,36(5):198-200.
[8] 袁曾任.人工神經(jīng)元網(wǎng)絡及其應用[M].北京:清華大學出版社,1999.
[9] 徐敏,施化吉.基于神經(jīng)網(wǎng)絡集成的專家系統(tǒng)模型 [J].計算機工程與設計,2006,27 (7):1216-1219.
[10]張瑞春,金保華.棗樹蟲害防治智能決策雙向推理機的設計[J].微計算機信息,2006, 5(2):160-162.
RESEARCH AND APPL ICATION OFMEASUREMENTAND CONTROL EXPERT SYSTEM FOR GRA IN STORAGE BASED ON NEURAL NET WORK
ZHANG Xing-hong1,ZHEN Tong1,BAO Hui1,D INGWei1,ZHANG Jun-lan2
(1.School of Infor m ation Science and Engineering,Henan University of Technology,Zhengzhou450001, China;2.Caoxian Grain Depot D irectly under Central Grain Reserves,Caoxian274400,China)
The paper applied neural network into an expert system to overcome the disadvantagesof the conventional expert system on knowledge acquisition,reasoning ability and self-learning ability based on the learning function of the neural network.By combining the neural network with the grain measurement and control system,the paperput for ward an improvedBP algorithm.By introducing amomentum term into the algorithm and improving the self-adaptive algorithm,the paper provided the theory derivation and the specific steps of the algorithm.Compared with the unimproved BP algorithm,the method solved the contradiction be tween the learning efficiency and the convergence speed caused by the frequent training so as to improve the skilled speed and the convergence speed of theBP algorithm.The results show that themethod has high speed,high validity and high stability.
neural ne twork;BP algorithm;expert system;measurement and control for grain storage
TS210;TP18
B
1673-2383(2010)03-0076-04
2010-03-15
“十一五”國家科技支撐計劃 (2006BAD08B01);河南工業(yè)大學??蒲谢鹳Y助(08XPT003)
張興紅(1985-),女,河南開封人,碩士研究生,主要從事計算機安全及系統(tǒng)工程研究.