葛新越 王宜懷 周欣
摘 ?要: 針對水質分類模型存在評估準確率不高、訓練速率慢及樣本規(guī)模要求大等問題,引入遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡實現(xiàn)水質分類模型訓練。在水質終端節(jié)點中,駐留訓練后的參數(shù),實現(xiàn)多傳感器數(shù)據(jù)融合。經(jīng)同類樣本訓練下比較,GA?BP神經(jīng)網(wǎng)絡的水質分類模型平均收斂速度比傳統(tǒng)BP神經(jīng)網(wǎng)絡快且不易陷入局部極小值,并保證了較好的準確率,表明利用GA?BP神經(jīng)網(wǎng)絡在NB?IoT水質監(jiān)測系統(tǒng)中有較為良好的應用推廣價值。
關鍵詞: 水質監(jiān)測; 系統(tǒng)設計; 模型訓練; GA?BP神經(jīng)網(wǎng)絡; 數(shù)據(jù)融合; 實驗分析
中圖分類號: TN99?34 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)24?0030?04
Application of GA?BP neural network in water quality monitoring
system based on NB?IoT
GE Xinyue, WANG Yihuai, ZHOU Xin
(School of Computer Science and Technology, Soochow University, Suzhou 215006, China)
Abstract: In allusion to the problems that the water quality classification model has low assessment accuracy, slow training rate and large sample size requirements, the BP neural network optimized by the genetic algorithm is introduced to realize the water quality classification model training. The trained parameters are kept in the water quality terminal node to realize the multi?sensor data fusion. In combination with the similar sample training, the average convergence speed of the water quality classification model of GA?BP neural network is faster than that of the traditional BP neural network, and it is not easy to fall into the local minimum value and can ensure a considerable accuracy, which shows that the application of GA?BP neural network in NB?IoT water quality monitoring system has a good application and promotion value.
Keywords: water quality monitoring; system design; model training; GA?BP neural network; data fusion; experimental analysis
0 ?引 ?言
近年來,建立高效準確的水質監(jiān)測系統(tǒng)已成為水環(huán)境科學的研究熱點[1]。傳統(tǒng)的水質評估方法[2]主要有單因子評價法、加權均值指數(shù)法等。但這些方法仍存在一定的片面性和主觀性,難以實現(xiàn)模型泛化。隨著機器學習和神經(jīng)網(wǎng)絡的興起,更多智能方法被廣泛應用于水質評估領域,如基于主成分分析的方法[3]、基于信息熵的方法[4]、基于聚類的方法[5]和支持向量機方法[6?7]等。這些方法多是基于統(tǒng)計學理論,要求樣本規(guī)模充分大,這在實際問題中往往無法滿足。因而需要尋找一個在有限訓練樣本中保持較快訓練速度和較高準確率的水質評價方法。本文采用遺傳算法優(yōu)化傳統(tǒng)BP神經(jīng)網(wǎng)絡初始權值和閾值的選定,實現(xiàn)水質狀態(tài)的預測與評估,對比傳統(tǒng)BP神經(jīng)網(wǎng)絡方法,并在此基礎上實現(xiàn)一種基于NB?IoT的遠程實時水質監(jiān)測系統(tǒng),可以對目標水域進行實時水樣采集、監(jiān)測和分類。
1 ?傳統(tǒng)BP算法和遺傳算法及其不足
傳統(tǒng)BP訓練函數(shù)采用隨機梯度下降算法,以較快的學習效率實現(xiàn)目標模型的訓練,但由于權值和閾值的隨機初始化過程,不可避免地存在訓練時間波動范圍大和可能陷入局部極小值的問題。
遺傳算法(Genetic Algorithm,GA)模仿了自然界生物進化機制,借鑒了達爾文的進化論和孟德爾的遺傳學說,演變?yōu)橐环N隨機、高效、并行的全局搜索方法[8]。初始種群通過選擇、交叉、變異實現(xiàn)種群更新,其進化過程如圖1所示。
但是,標準GA求解過程本質上是隨機尋優(yōu)過程,對于局部的精確搜索常常無法達到設定條件。因此,將BP算法和遺傳算法相結合,進行優(yōu)勢互補,有利于高效準確地進行模型分類。
2 ?基于GA?BP的水質監(jiān)測模型設計
2.1 ?GA?BP算法流程
本文利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的初始權值和閾值的選取,提高水質分類模型的訓練效率。該算法的流程如圖2所示。
其中,權值和閾值優(yōu)化具體算法步驟如下:
1) 隨機生成初始種群。以BP神經(jīng)網(wǎng)絡中的初始權值和閾值作為個體(染色體),其中,權值和閾值采用實數(shù)編碼,由[-1,1]區(qū)域內隨機均勻產(chǎn)生的實數(shù)構成。按同樣的規(guī)則隨機生成擁有足夠染色體數(shù)量的種群。
2) 確定目標函數(shù)和適應度函數(shù)。選用一次BP訓練后誤差均方值E作為遺傳算法的目標函數(shù)。相應地將目標函數(shù)的倒數(shù)E-1作為適應度函數(shù),即個體越適應目標條件,其適應度的值越大。
3) 選擇操作。在種群中計算出每個染色體的適應度,按適應度大小對不同染色體進行排序,采用賭輪盤算法[9],在父代備選個體中挑選出2個染色體作為父代。
4) 交叉操作。實驗結果表明,以不同網(wǎng)絡層每個權值和閾值作為單個基因進行交叉操作后,難以體現(xiàn)父代的特征。因此,以每層網(wǎng)絡層作為基因個體。采用隨機交叉算法,每一個基因隨機選擇父代中對應位置處的基因,生成新的子代染色體。
5) 變異操作。選取變異因子η=0.01,以相應概率對每個初始權值和閾值進行重新賦值,生成新的子代染色體。
6) 判斷當前種群是否滿足停止條件。若不滿足停止條件,則取一部分原種群中適應度較高的染色體和一部分由父代繁殖出子代染色體組成新的種群,重復進行步驟3)~步驟6),直至滿足停止條件,得到最優(yōu)初始權值和閾值。
2.2 ?GA?BP網(wǎng)絡結構設計
根據(jù)上文所述,建立單隱含層的三層BP神經(jīng)網(wǎng)絡模型,如圖3所示。首先設置BP神經(jīng)網(wǎng)絡各項參數(shù):輸入層單元個數(shù)為3,表示選用的3種水質參數(shù);輸出層單元個數(shù)為1,表示水質類別;隱含層單元個數(shù)根據(jù)經(jīng)驗公式(1),計算出可選范圍為3~12,本文中選擇4個隱含層單元作為隱含層。
隱含層單元個數(shù)經(jīng)驗公式[10]為:
[Hnum=innum+outnum+t] ? ? (1)
式中:Hnum為隱含層單元數(shù);innum為輸入單元數(shù);outnum為輸出單元數(shù);t為1~10之間的常數(shù)。
設訓練樣例個數(shù)為D,網(wǎng)絡由3個輸入層單元X(x1,x2,x3),4個隱含層單元Y(y1,y2,y3,y4),1個輸出層單元S構成。其中,wij為輸入層第i個單元到隱含層第j個單元的連接權值,i=1,2,3為輸入層單元編號,j=1,2,3,4為隱含層單元編號。bj為隱含層第j個單元的閾值,j=1,2,3,4為隱含層單元編號;vj為隱含層第j個單元到輸出層S的連接權值,j=1,2,3,4為隱含層單元編號;k為輸出層S的閾值。其改進BP訓練算法過程描述如下:
將訓練樣例輸入網(wǎng)絡中可計算目標輸出S與實際輸出[S′]之間的偏差的均方值為:
[Ed=S′-S22] ? ? ? ? (3)
本文將該均方值作為遺傳算法的目標函數(shù),根據(jù)式(3)計算,其適應度函數(shù)[fx]為:
[fx=1Ed=2S′-S2]
本文采用的激活函數(shù)為sigmoid函數(shù)為:
[sigx=11+e-x] ? ? ? ? ?(4)
對于輸出層,有輸出層單元誤差e:
[e=S-CC1-C]
式中,C由實際輸出[S′]通過激活函數(shù)式(4)求得。
處于網(wǎng)絡中間的隱含層通過下一層的誤差按權重累加,有隱含層單元誤差sj:
[sj=hj1-hjevj]
式中:hj為隱含層輸出向量,由隱含層單元輸入yj通過激活函數(shù)式(4)求得。
根據(jù)E使用梯度下降法則對權值進行修正,學習步長為λ:
[Δvj=-λ?E?vj, Δwij=-λ?E?wij] ? ? (5)
由式(5)推導出權值下降值為:
[Δvj=λehj, Δwij=λxisj]
同時對閾值進行調整:
[Δk=-λC, Δbj=-λsj]
借助上述公式對所有訓練樣例進行學習,求出對應Ed,最終求得全局誤差:
[E=d=1DEd]
當E小于設定誤差或滿足迭代次數(shù),則停止學習,否則繼續(xù)學習。
3 ?基于NB?IoT的水質監(jiān)測系統(tǒng)
3.1 ?系統(tǒng)總體設計
本文中實驗樣本數(shù)據(jù)均源于自行設計的水質監(jiān)測系統(tǒng)。該系統(tǒng)基于GEC的NB?IoT應用架構[11],包括數(shù)據(jù)采集、遠程通信、實時監(jiān)控、狀態(tài)分類、水質預測、報警反饋和歷史查詢等功能,主要由終端(Ultimate?Equipment,UE)、信息郵局(Message Post Office,MPO)和人機交互系統(tǒng)(Human?Computer Interacttion,HCI)三部分組成,系統(tǒng)結構如圖4所示。
其中,多傳感器終端UE的作用是采集被測水樣參數(shù),如pH值、渾濁度、溫度、溶解固體量(TDS)等。NB?IoT信息郵局是一種基于NB?IoT協(xié)議的信息傳輸系統(tǒng),包括由移動運行商負責維護的基站與云服務器組成。終端UE可通過通信模組直接與基站連接,在附著核心網(wǎng)成功后即可與云服務器中上的偵聽程序進行數(shù)據(jù)交互,再由偵聽程序通過WebSocket技術向APP、網(wǎng)頁、PC端等客戶端進行數(shù)據(jù)推送。
本系統(tǒng)中選用低功耗芯片STM32L431RC作為主控芯片。該型號MCU采用ARM Cortex?M4內核,擁有256 KB FLASH區(qū)和64 KB RAM區(qū)[12],滿足本系統(tǒng)數(shù)據(jù)采集、分析、處理功能。選用NB?IoT模組ME3616作為本系統(tǒng)的通信模塊,支持串口AT指令,數(shù)據(jù)傳輸方式支持CoAP,TCP/UDP和MQTT,同時具有高性能、低功耗等特點,適用于低功耗、遠距離的水質監(jiān)測系統(tǒng)。
3.2 ?樣本水質參數(shù)獲取
各個水質參數(shù)傳感器由于彼此之間的測量精度不同,以及所在環(huán)境中噪聲等因素影響,所得數(shù)據(jù)往往不能準確表示當前水質狀態(tài),需對同一終端各傳感器監(jiān)測數(shù)據(jù)加以融合處理,以防止個別傳感器節(jié)點數(shù)據(jù)誤差過大而造成最后監(jiān)測結果失真嚴重[13]。本系統(tǒng)利用上文所設計的水質分類模型,將訓練好的分類參數(shù)駐留在終端UE的FLASH區(qū)中,采集水質信息時讀取分類參數(shù),實現(xiàn)不同傳感器數(shù)據(jù)的融合分類。
本文中選用pH值、渾濁度和溶解固體量3種水質參數(shù)作為水質分類標準,參考《地下水質量標準》(GB/T 14848—2017),采用加附注的評分法對樣本進行水質類別標定[14]。選用本系統(tǒng)20個實測數(shù)據(jù)樣本,每個樣本包含pH值、渾濁度和溶解固體量3種水質參數(shù)以及所屬水質類別信息。以這20個數(shù)據(jù)樣本作為訓練樣本,如表1所示。
4 ?實驗過程及分析
根據(jù)網(wǎng)絡結構設計,設置輸入層單元數(shù)為3,隱含單元數(shù)為4,學習步長為0.1,遺傳迭代次數(shù)為1 000,初始種群數(shù)為100,設定分類誤差為0.001。在同一環(huán)境下,分別采用GA?BP神經(jīng)網(wǎng)絡和傳統(tǒng)BP神經(jīng)網(wǎng)絡進行水質等級分類訓練得出水質評價模型,比較兩者的訓練時間,如圖5所示。其中,訓練時間超出限定時間的點未在圖中標出,該情況表示訓練陷入局部極小值,難以達到設定誤差。
由圖5分析發(fā)現(xiàn),在水質分類模型的訓練中,傳統(tǒng)BP神經(jīng)網(wǎng)絡訓練時間波動范圍較大;而GA?BP神經(jīng)網(wǎng)絡的訓練時間基本穩(wěn)定在較短時間以內。證實了GA?BP神經(jīng)網(wǎng)絡比傳統(tǒng)BP神經(jīng)網(wǎng)絡具有更快的收斂速度且訓練時間波動較小。從圖5中還可以發(fā)現(xiàn),利用傳統(tǒng)BP神經(jīng)網(wǎng)絡進行訓練,有多次實驗陷入局部極小值,難以達到設定誤差;而GA?BP神經(jīng)網(wǎng)絡訓練的實驗中均沒有出現(xiàn)該問題。表明使用GA?BP神經(jīng)網(wǎng)絡訓練模型陷入局部極小值的可能性大大降低。
圖6為傳統(tǒng)BP神經(jīng)網(wǎng)絡和GA?BP神經(jīng)網(wǎng)絡訓練過程中誤差狀態(tài)圖。由圖6可以看出,經(jīng)過遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡水質分類模型在收斂速度上明顯快于傳統(tǒng)BP,表明GA?BP神經(jīng)網(wǎng)絡能夠更快速地完成模型訓練。在實際水質監(jiān)測中,利用不同的測試數(shù)據(jù)多次實驗,得到GA?BP和傳統(tǒng)BP算法水質等級分類準確率比較,如圖7所示。
由圖7中發(fā)現(xiàn),GA?BP神經(jīng)網(wǎng)絡訓練模型準確率與傳統(tǒng)BP算法相差不大,都有較高的分類精度。表明使用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡不會造成訓練模型準確率的下降,擁有良好的分類能力。
5 ?結 ?語
人工神經(jīng)網(wǎng)絡擁有良好的數(shù)據(jù)分類能力,適用于水質監(jiān)測系統(tǒng)中的水質分類。本文針對傳統(tǒng)BP的固有缺陷,利用遺傳算法優(yōu)化初始權值和閾值,并將優(yōu)化后的參數(shù)提供給BP網(wǎng)絡進行訓練,降低了BP神經(jīng)網(wǎng)絡的訓練時間,提高了訓練效率。實際應用和實驗表明,使用GA?BP神經(jīng)網(wǎng)絡實現(xiàn)的水質分類模型是一種訓練快和準確率高的水質評價方法。在基于NB?IoT的遠程水質監(jiān)測系統(tǒng)中,引入GA?BP神經(jīng)網(wǎng)絡進行水質分類模型訓練,將模型參數(shù)駐留在終端UE中,實現(xiàn)多傳感器數(shù)據(jù)融合,對于遠程監(jiān)控的實時性和準確性有較大的提升。
參考文獻
[1] SHAO D G, NONG X Z, TAN X Z, et al. Daily water quality fore?cast of the south?to?north water diversion project of China based on the cuckoo search?back propagation neural network [J]. Water, 2018, 10(10): 1471?1499.
[2] 羅芳,伍國榮,王沖,等.內梅羅污染指數(shù)法和單因子評價法在水質評價中的應用[J].環(huán)境與可持續(xù)發(fā)展,2016,41(5):87?89.
[3] DALAL S G, SHIRODKAR P V, JAGTAP T G, et al Evaluation of significant sources influencing the variation of water quality of Kandla creek, Gulf of Katchchh, using PCA [J]. Environmental monitoring and assessment, 2010, 163(1/4): 49?56.
[4] SINGH K R, DUTTA R, KALAMDHAD A S, et al. Information entropy as a tool in surface water quality assessment [J]. Environmental earth sciences, 2019, 78(1): 1?12.
[5] 叢秋梅,張北偉,苑明哲.基于同步聚類的污水水質混合在線軟測量方法[J].計算機工程與應用,2015,51(24):27?33.
[6] MOHAMMADPOUR Reza, SHAHARUDDIN Syafiq, CHANG Chun Kiat, et al. Prediction of water quality index in constructed wetlands using support vector machine [J]. Environment science pollution research, 2015, 22(8): 6208?6219.
[7] 笪英云,汪曉東,趙永剛,等.基于關聯(lián)向量機回歸的水質預測模型[J].環(huán)境科學學報,2015,35(11):3730?3735.
[8] 李雋,王偉.遺傳算法優(yōu)化神經(jīng)網(wǎng)絡在圖像目標識別中的應用研究[J].現(xiàn)代電子技術,2017,40(20):111?113.
[9] LIPOWSKI A, LIPOWSKA D. Roulette?wheel selection via sto?chastic acceptance [J]. Physical a statistical mechanics & its applications, 2012(6): 2193?2196.
[10] NURY A H, HASAN K, ALAM M J B. Comparative study of wavelet?ARIMA and wavelet?ANN models for temperature time series data in northeastern Bangladesh [J]. Journal of King Saud University?Science, 2017, 29(1): 47?61.
[12] O'TOOLE J M,WRIGHT D M,HEDSTROM N A. Reference manual stand: US CA1077367 [P]. 1980?05?13 [2019?08?22].
[13] 魏宏飛,趙慧.多傳感器信息融合技術在火災報警系統(tǒng)的應用[J].現(xiàn)代電子技術,2013,36(6):139?140.
[14] 中華人民共和國國家質量監(jiān)督檢驗檢疫總局.地下水質量標準:GB/T 14848—2017[S].北京:中國標準出版社,2017.
作者簡介:葛新越(1995—),男,江蘇泰州人,碩士研究生,主要從事嵌入式系統(tǒng)與物聯(lián)網(wǎng)、機器學習方向的研究。
王宜懷(1962—),男,江蘇宿遷人,博士生導師,教授,主要從事嵌入式系統(tǒng)與智能控制、機器學習方向的研究。
周 ?欣(1995—),女,江西九江人,碩士研究生,主要從事嵌入式系統(tǒng)與物聯(lián)網(wǎng)、機器學習方向的研究。