葛新越 王宜懷 周欣



摘 ?要: 針對水質分類模型存在評估準確率不高、訓練速率慢及樣本規模要求大等問題,引入遺傳算法優化的BP神經網絡實現水質分類模型訓練。在水質終端節點中,駐留訓練后的參數,實現多傳感器數據融合。經同類樣本訓練下比較,GA?BP神經網絡的水質分類模型平均收斂速度比傳統BP神經網絡快且不易陷入局部極小值,并保證了較好的準確率,表明利用GA?BP神經網絡在NB?IoT水質監測系統中有較為良好的應用推廣價值。
關鍵詞: 水質監測; 系統設計; 模型訓練; GA?BP神經網絡; 數據融合; 實驗分析
中圖分類號: 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 ?引 ?言
近年來,建立高效準確的水質監測系統已成為水環境科學的研究熱點[1]。傳統的水質評估方法[2]主要有單因子評價法、加權均值指數法等。但這些方法仍存在一定的片面性和主觀性,難以實現模型泛化。隨著機器學習和神經網絡的興起,更多智能方法被廣泛應用于水質評估領域,如基于主成分分析的方法[3]、基于信息熵的方法[4]、基于聚類的方法[5]和支持向量機方法[6?7]等。這些方法多是基于統計學理論,要求樣本規模充分大,這在實際問題中往往無法滿足。因而需要尋找一個在有限訓練樣本中保持較快訓練速度和較高準確率的水質評價方法。本文采用遺傳算法優化傳統BP神經網絡初始權值和閾值的選定,實現水質狀態的預測與評估,對比傳統BP神經網絡方法,并在此基礎上實現一種基于NB?IoT的遠程實時水質監測系統,可以對目標水域進行實時水樣采集、監測和分類。
1 ?傳統BP算法和遺傳算法及其不足
傳統BP訓練函數采用隨機梯度下降算法,以較快的學習效率實現目標模型的訓練,但由于權值和閾值的隨機初始化過程,不可避免地存在訓練時間波動范圍大和可能陷入局部極小值的問題。
遺傳算法(Genetic Algorithm,GA)模仿了自然界生物進化機制,借鑒了達爾文的進化論和孟德爾的遺傳學說,演變為一種隨機、高效、并行的全局搜索方法[8]。初始種群通過選擇、交叉、變異實現種群更新,其進化過程如圖1所示。
但是,標準GA求解過程本質上是隨機尋優過程,對于局部的精確搜索常常無法達到設定條件。因此,將BP算法和遺傳算法相結合,進行優勢互補,有利于高效準確地進行模型分類。
2 ?基于GA?BP的水質監測模型設計
2.1 ?GA?BP算法流程
本文利用遺傳算法優化BP神經網絡的初始權值和閾值的選取,提高水質分類模型的訓練效率。該算法的流程如圖2所示。
其中,權值和閾值優化具體算法步驟如下:
1) 隨機生成初始種群。以BP神經網絡中的初始權值和閾值作為個體(染色體),其中,權值和閾值采用實數編碼,由[-1,1]區域內隨機均勻產生的實數構成。按同樣的規則隨機生成擁有足夠染色體數量的種群。
2) 確定目標函數和適應度函數。選用一次BP訓練后誤差均方值E作為遺傳算法的目標函數。相應地將目標函數的倒數E-1作為適應度函數,即個體越適應目標條件,其適應度的值越大。
3) 選擇操作。在種群中計算出每個染色體的適應度,按適應度大小對不同染色體進行排序,采用賭輪盤算法[9],在父代備選個體中挑選出2個染色體作為父代。
4) 交叉操作。實驗結果表明,以不同網絡層每個權值和閾值作為單個基因進行交叉操作后,難以體現父代的特征。因此,以每層網絡層作為基因個體。采用隨機交叉算法,每一個基因隨機選擇父代中對應位置處的基因,生成新的子代染色體。
5) 變異操作。選取變異因子η=0.01,以相應概率對每個初始權值和閾值進行重新賦值,生成新的子代染色體。
6) 判斷當前種群是否滿足停止條件。若不滿足停止條件,則取一部分原種群中適應度較高的染色體和一部分由父代繁殖出子代染色體組成新的種群,重復進行步驟3)~步驟6),直至滿足停止條件,得到最優初始權值和閾值。
2.2 ?GA?BP網絡結構設計
根據上文所述,建立單隱含層的三層BP神經網絡模型,如圖3所示。首先設置BP神經網絡各項參數:輸入層單元個數為3,表示選用的3種水質參數;輸出層單元個數為1,表示水質類別;隱含層單元個數根據經驗公式(1),計算出可選范圍為3~12,本文中選擇4個隱含層單元作為隱含層。
隱含層單元個數經驗公式[10]為:
[Hnum=innum+outnum+t] ? ? (1)
式中:Hnum為隱含層單元數;innum為輸入單元數;outnum為輸出單元數;t為1~10之間的常數。
設訓練樣例個數為D,網絡由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訓練算法過程描述如下:
將訓練樣例輸入網絡中可計算目標輸出S與實際輸出[S′]之間的偏差的均方值為:
[Ed=S′-S22] ? ? ? ? (3)
本文將該均方值作為遺傳算法的目標函數,根據式(3)計算,其適應度函數[fx]為:
[fx=1Ed=2S′-S2]
本文采用的激活函數為sigmoid函數為:
[sigx=11+e-x] ? ? ? ? ?(4)
對于輸出層,有輸出層單元誤差e:
[e=S-CC1-C]
式中,C由實際輸出[S′]通過激活函數式(4)求得。
處于網絡中間的隱含層通過下一層的誤差按權重累加,有隱含層單元誤差sj:
[sj=hj1-hjevj]
式中:hj為隱含層輸出向量,由隱含層單元輸入yj通過激活函數式(4)求得。
根據E使用梯度下降法則對權值進行修正,學習步長為λ:
[Δvj=-λ?E?vj, Δwij=-λ?E?wij] ? ? (5)
由式(5)推導出權值下降值為:
[Δvj=λehj, Δwij=λxisj]
同時對閾值進行調整:
[Δk=-λC, Δbj=-λsj]
借助上述公式對所有訓練樣例進行學習,求出對應Ed,最終求得全局誤差:
[E=d=1DEd]
當E小于設定誤差或滿足迭代次數,則停止學習,否則繼續學習。
3 ?基于NB?IoT的水質監測系統
3.1 ?系統總體設計
本文中實驗樣本數據均源于自行設計的水質監測系統。該系統基于GEC的NB?IoT應用架構[11],包括數據采集、遠程通信、實時監控、狀態分類、水質預測、報警反饋和歷史查詢等功能,主要由終端(Ultimate?Equipment,UE)、信息郵局(Message Post Office,MPO)和人機交互系統(Human?Computer Interacttion,HCI)三部分組成,系統結構如圖4所示。
其中,多傳感器終端UE的作用是采集被測水樣參數,如pH值、渾濁度、溫度、溶解固體量(TDS)等。NB?IoT信息郵局是一種基于NB?IoT協議的信息傳輸系統,包括由移動運行商負責維護的基站與云服務器組成。終端UE可通過通信模組直接與基站連接,在附著核心網成功后即可與云服務器中上的偵聽程序進行數據交互,再由偵聽程序通過WebSocket技術向APP、網頁、PC端等客戶端進行數據推送。
本系統中選用低功耗芯片STM32L431RC作為主控芯片。該型號MCU采用ARM Cortex?M4內核,擁有256 KB FLASH區和64 KB RAM區[12],滿足本系統數據采集、分析、處理功能。選用NB?IoT模組ME3616作為本系統的通信模塊,支持串口AT指令,數據傳輸方式支持CoAP,TCP/UDP和MQTT,同時具有高性能、低功耗等特點,適用于低功耗、遠距離的水質監測系統。
3.2 ?樣本水質參數獲取
各個水質參數傳感器由于彼此之間的測量精度不同,以及所在環境中噪聲等因素影響,所得數據往往不能準確表示當前水質狀態,需對同一終端各傳感器監測數據加以融合處理,以防止個別傳感器節點數據誤差過大而造成最后監測結果失真嚴重[13]。本系統利用上文所設計的水質分類模型,將訓練好的分類參數駐留在終端UE的FLASH區中,采集水質信息時讀取分類參數,實現不同傳感器數據的融合分類。
本文中選用pH值、渾濁度和溶解固體量3種水質參數作為水質分類標準,參考《地下水質量標準》(GB/T 14848—2017),采用加附注的評分法對樣本進行水質類別標定[14]。選用本系統20個實測數據樣本,每個樣本包含pH值、渾濁度和溶解固體量3種水質參數以及所屬水質類別信息。以這20個數據樣本作為訓練樣本,如表1所示。
4 ?實驗過程及分析
根據網絡結構設計,設置輸入層單元數為3,隱含單元數為4,學習步長為0.1,遺傳迭代次數為1 000,初始種群數為100,設定分類誤差為0.001。在同一環境下,分別采用GA?BP神經網絡和傳統BP神經網絡進行水質等級分類訓練得出水質評價模型,比較兩者的訓練時間,如圖5所示。其中,訓練時間超出限定時間的點未在圖中標出,該情況表示訓練陷入局部極小值,難以達到設定誤差。
由圖5分析發現,在水質分類模型的訓練中,傳統BP神經網絡訓練時間波動范圍較大;而GA?BP神經網絡的訓練時間基本穩定在較短時間以內。證實了GA?BP神經網絡比傳統BP神經網絡具有更快的收斂速度且訓練時間波動較小。從圖5中還可以發現,利用傳統BP神經網絡進行訓練,有多次實驗陷入局部極小值,難以達到設定誤差;而GA?BP神經網絡訓練的實驗中均沒有出現該問題。表明使用GA?BP神經網絡訓練模型陷入局部極小值的可能性大大降低。
圖6為傳統BP神經網絡和GA?BP神經網絡訓練過程中誤差狀態圖。由圖6可以看出,經過遺傳算法優化的BP神經網絡水質分類模型在收斂速度上明顯快于傳統BP,表明GA?BP神經網絡能夠更快速地完成模型訓練。在實際水質監測中,利用不同的測試數據多次實驗,得到GA?BP和傳統BP算法水質等級分類準確率比較,如圖7所示。
由圖7中發現,GA?BP神經網絡訓練模型準確率與傳統BP算法相差不大,都有較高的分類精度。表明使用遺傳算法優化BP神經網絡不會造成訓練模型準確率的下降,擁有良好的分類能力。
5 ?結 ?語
人工神經網絡擁有良好的數據分類能力,適用于水質監測系統中的水質分類。本文針對傳統BP的固有缺陷,利用遺傳算法優化初始權值和閾值,并將優化后的參數提供給BP網絡進行訓練,降低了BP神經網絡的訓練時間,提高了訓練效率。實際應用和實驗表明,使用GA?BP神經網絡實現的水質分類模型是一種訓練快和準確率高的水質評價方法。在基于NB?IoT的遠程水質監測系統中,引入GA?BP神經網絡進行水質分類模型訓練,將模型參數駐留在終端UE中,實現多傳感器數據融合,對于遠程監控的實時性和準確性有較大的提升。
參考文獻
[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] 羅芳,伍國榮,王沖,等.內梅羅污染指數法和單因子評價法在水質評價中的應用[J].環境與可持續發展,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] 笪英云,汪曉東,趙永剛,等.基于關聯向量機回歸的水質預測模型[J].環境科學學報,2015,35(11):3730?3735.
[8] 李雋,王偉.遺傳算法優化神經網絡在圖像目標識別中的應用研究[J].現代電子技術,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] 魏宏飛,趙慧.多傳感器信息融合技術在火災報警系統的應用[J].現代電子技術,2013,36(6):139?140.
[14] 中華人民共和國國家質量監督檢驗檢疫總局.地下水質量標準:GB/T 14848—2017[S].北京:中國標準出版社,2017.
作者簡介:葛新越(1995—),男,江蘇泰州人,碩士研究生,主要從事嵌入式系統與物聯網、機器學習方向的研究。
王宜懷(1962—),男,江蘇宿遷人,博士生導師,教授,主要從事嵌入式系統與智能控制、機器學習方向的研究。
周 ?欣(1995—),女,江西九江人,碩士研究生,主要從事嵌入式系統與物聯網、機器學習方向的研究。