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