侯耀斌,馮巍巍*,蔡宗岐,王煥卿,劉增東
1. 中國科學(xué)院海岸帶環(huán)境過程與生態(tài)修復(fù)重點實驗室(煙臺海岸帶研究所),山東 煙臺 2640032. 中國科學(xué)院大學(xué),北京 1000493. 山東省煙臺生態(tài)環(huán)境監(jiān)測中心,山東 煙臺 264000
硝酸鹽濃度是衡量水質(zhì)狀況的重要指標(biāo),水中的硝酸鹽含量過高會導(dǎo)致水體富營養(yǎng)化,嚴(yán)重時會引發(fā)赤潮,破壞海洋生態(tài)系統(tǒng)的平衡[1]。而近年來由于人類的活動,越來越多的硝酸鹽被排放到海洋中,使赤潮等災(zāi)害的發(fā)生愈加頻繁,監(jiān)測海水中的硝酸鹽濃度有利于海洋災(zāi)害預(yù)測及環(huán)境保護(hù)。
目前海水硝酸鹽濃度測量的方法多用化學(xué)方法,如鎘柱還原法[2],該方法雖然精度較高,但是操作復(fù)雜,無法實現(xiàn)快速測量,并且測量過程中產(chǎn)生的化學(xué)物質(zhì)容易造成二次污染,不能適應(yīng)硝酸鹽濃度連續(xù)長時間監(jiān)測的目的。而基于紫外吸收光譜特性制成的原位傳感器具有不需水樣預(yù)處理、測量耗時短、無需化學(xué)試劑等優(yōu)點,能夠?qū)崿F(xiàn)長時間連續(xù)監(jiān)測,具有獨特的優(yōu)勢[3]。目前,國內(nèi)外很多學(xué)者也對硝酸鹽的光學(xué)測量方法進(jìn)行了研究,Jonhson等研發(fā)了專門進(jìn)行海洋硝酸鹽濃度測量的ISUS原位傳感器[4],硝酸鹽濃度測量精度可達(dá)7 μg·L-1,可部署在浮標(biāo)、拖船、水下探測器等設(shè)備上[5-6],并且還針對溫度、壓力等對測量的影響進(jìn)行了校準(zhǔn)[7],而基于ISUS傳感器優(yōu)化的Deep SUNA傳感器性能更加穩(wěn)定的同時,能適應(yīng)2 000 m深海工作。國內(nèi)楊鵬程等進(jìn)行了原位硝酸鹽傳感器的研制[8],李丹等完成了硝酸鹽在線監(jiān)測系統(tǒng),但沒有很好地處理鹽度、溫度等干擾因素,使用的模型也較為單一,相對國外還不是很完善。
硝酸鹽原位傳感器多是基于偏最小二乘法(partial least squares,PLS)進(jìn)行測量模型的建模,該方法在應(yīng)對復(fù)雜多變的水體環(huán)境時,容易受到未知干擾物的影響,模型泛化能力不高。而神經(jīng)網(wǎng)絡(luò)模型具有自學(xué)習(xí)和自適應(yīng)特點,容錯能力和泛化能力較高[9],在一定條件下優(yōu)于偏最小二乘法。本文在實驗室環(huán)境下,利用自主研發(fā)的硝酸鹽傳感器,基于配置的人工海水的紫外吸收光譜,建立了基于神經(jīng)網(wǎng)絡(luò)的硝酸鹽濃度反演模型,具有較高的精度,能夠應(yīng)用于原位傳感器中來進(jìn)行海水硝酸鹽濃度測量。
基于紫外吸收光譜法,課題組研發(fā)了硝酸鹽原位傳感系統(tǒng)并進(jìn)行水體吸光度的測量。該傳感器主要由光譜采集模塊、脈沖氙燈光源、數(shù)據(jù)處理模塊等組成,測量光程為100 mm。光譜采集模塊光譜分辨率為2 nm,光譜范圍為180~750 nm。傳感器可與配套的水質(zhì)監(jiān)測軟件結(jié)合使用,可以直接測得海水中的硝酸鹽濃度,實時顯示所測水體的光譜圖并對光譜數(shù)據(jù)進(jìn)行保存。
圖1 硝酸鹽傳感器結(jié)構(gòu)示意圖
BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN),即基于誤差逆向傳播算法的多層前饋神經(jīng)網(wǎng)絡(luò),在理論上可以以任意精度逼近任意非線性連續(xù)函數(shù),對于非線性函數(shù)的擬合能力強(qiáng),具有自學(xué)習(xí)和自適應(yīng)的特點。神經(jīng)網(wǎng)絡(luò)模型通過訓(xùn)練,抗干擾能力較強(qiáng),能夠適應(yīng)復(fù)雜海水環(huán)境中硝酸鹽濃度測量的工作。BP神經(jīng)網(wǎng)絡(luò)模型分為三層: 輸入層、隱藏層、輸出層[12],如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.2 Structure chart of BPNN
神經(jīng)網(wǎng)絡(luò)模型建立的過程分為前向傳遞過程和后向傳播過程。
信號的前向傳遞過程: 將樣本數(shù)據(jù)由輸入層輸入,信號經(jīng)各層神經(jīng)元處理,逐層向前傳遞至輸出層輸出。
y=F(Wx+b)
(1)
其中:y是模型預(yù)測值;x為輸入的吸收光譜數(shù)據(jù);W為權(quán)重矩陣,b為閾值矩陣,F(xiàn)(·)為激活函數(shù),使用Sigmoid函數(shù)作為激活函數(shù)。
后向傳播過程: 根據(jù)輸出層輸出的預(yù)測結(jié)果和樣本的實際值,求得模型的預(yù)測誤差,將誤差逆向傳播來進(jìn)行權(quán)值和閾值的調(diào)整。權(quán)值的更新通過梯度下降法來進(jìn)行。
E=y-ypre
(2)
(3)
w←w+Δw
(4)
其中:E為誤差,y為期望輸出;ypre為實際輸出; Δw為權(quán)值的變化值,η為學(xué)習(xí)率。
選擇相關(guān)系數(shù)(R2)、預(yù)測均方根誤差(root mean square error of prediction,RMSEP)、平均絕對誤差(mean absolute error,MAE)、平均相對誤差(mean relative error,MRE)作為評價模型性能的指標(biāo),RMSEP,MAE和MRE值越低,R2值越接近1,表示模型的預(yù)測精度越高,穩(wěn)定性越好。
(5)
樣本數(shù)據(jù)在輸入神經(jīng)網(wǎng)絡(luò)模型之前,對原始數(shù)據(jù)進(jìn)行歸一化處理有利于避免一些不必要的數(shù)值問題,同時使神經(jīng)網(wǎng)絡(luò)快速收斂,保證模型預(yù)測值量[13]。本實驗使用離差標(biāo)準(zhǔn)化(min-max normalization)對原始數(shù)據(jù)進(jìn)行線性變換,將原始數(shù)據(jù)值映射到[0-1]之間。
實驗神經(jīng)網(wǎng)絡(luò)模型的輸入層數(shù)據(jù)為200~275 nm波段的吸收光譜數(shù)據(jù),共34個波段,故輸入層節(jié)點數(shù)為34。硝酸鹽濃度作為模型輸出的唯一目標(biāo),故輸出層節(jié)點數(shù)為1。
隱藏層節(jié)點數(shù)由以下經(jīng)驗公式確定,取盡量多的隱藏層節(jié)點數(shù),確定隱藏層節(jié)點數(shù)為16個。
(6)
其中:h為隱含層節(jié)點數(shù);m為輸入層節(jié)點數(shù);n為輸出層節(jié)點數(shù);a為1~10之間的調(diào)節(jié)常數(shù)。
通常采用單隱層神經(jīng)網(wǎng)絡(luò)便能得到精度較為不錯的模型,為了進(jìn)一步提升模型的精度,可以增加隱藏層的數(shù)量,但同時也增加了模型的復(fù)雜度,使其訓(xùn)練開銷變大,因此隱藏層個數(shù)的確定需要綜合實際需求來進(jìn)行選擇。本實驗分別用單隱藏層神經(jīng)網(wǎng)絡(luò)和雙隱藏層神經(jīng)網(wǎng)絡(luò)建模并進(jìn)行對比,擇優(yōu)選取含有2個隱藏層的神經(jīng)網(wǎng)絡(luò)作為最終模型。
神經(jīng)網(wǎng)絡(luò)模型建立的過程中需要涉及到很多參數(shù)的設(shè)置,但由于神經(jīng)網(wǎng)絡(luò)模型的不可解釋性,很多參數(shù)的選擇多是基于經(jīng)驗的。本文針對神經(jīng)網(wǎng)絡(luò)模型,采用試湊法來進(jìn)行模型參數(shù)的設(shè)置,最終模型訓(xùn)練的學(xué)習(xí)率設(shè)置為0.26,精度要求為1×10-6,最大迭代次數(shù)為2×105。隨著訓(xùn)練次數(shù)的增加,模型訓(xùn)練均方誤差(mean square error,MSE)的變化如圖3所示,從圖中可以看到,隨著訓(xùn)練次數(shù)的增加,模型的誤差降低,精度提高,訓(xùn)練55 000次后收斂,因此模型訓(xùn)練次數(shù)設(shè)置為55 000次。
傳感器內(nèi)置光譜預(yù)處理程序,能夠?qū)y得的光譜進(jìn)行平滑去噪處理,根據(jù)測得光譜信息計算得到實驗樣品的吸收光譜曲線(如圖4所示),溶液濃度較小時,吸光度較小,噪聲影響嚴(yán)重導(dǎo)致200~210 nm處吸光度分布雜亂??梢钥闯鰳悠啡芤涸谧贤獠ǘ尉哂休^強(qiáng)的吸光性,吸光波段主要在200~240 nm處,于220 nm波段處有一強(qiáng)吸收峰,并且吸光強(qiáng)度隨著溶液中硝酸鹽濃度的增加而不斷上升,具有一定的梯度,證明了硝酸鹽在紫外波段具有較強(qiáng)的吸光性,且其吸光度與濃度成正比關(guān)系??梢愿鶕?jù)硝酸鹽的這一吸光特性建立模型來反演海水中的硝酸鹽濃度。
圖3 網(wǎng)絡(luò)訓(xùn)練過程Fig.3 Network training process
圖4 不同硝酸鹽濃度樣本的紫外吸收光譜圖Fig.4 UV absorption spectra of differentnitrate concentrations
使用建立的兩種結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型和偏最小二乘模型對配置的人工海水測試樣本進(jìn)行硝酸鹽濃度預(yù)測,測試樣本的硝酸鹽濃度實際值和模型的預(yù)測結(jié)果如表1所示,可以看出硝酸鹽濃度預(yù)測值與實際值相近,說明三種模型都能成功測量人工海水溶液中的硝酸鹽濃度。
表1 模型預(yù)測結(jié)果Table 1 Model prediction results
圖5為三種模型對不同硝酸鹽濃度的測試樣本溶液的預(yù)測結(jié)果的相對誤差圖,從圖中可以看出當(dāng)溶液中的硝酸鹽濃度較低為90 μg·L-1時,單隱層神經(jīng)網(wǎng)絡(luò)模型和偏最小二乘模型預(yù)測結(jié)果的相對誤差較大,都超過了15%,而雙隱層神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果的相對誤差較小,說明雙隱層神經(jīng)網(wǎng)絡(luò)模型在測量低硝酸鹽溶液濃度時精度更高。從8個樣品的預(yù)測結(jié)果的相對誤差圖來看,雙隱層神經(jīng)網(wǎng)絡(luò)模型波動范圍較小,相對誤差值較低,模型最為穩(wěn)定。
圖5 模型預(yù)測結(jié)果相對誤差Fig.5 Relative error of model prediction results
分別用神經(jīng)網(wǎng)絡(luò)模型和偏最小二乘法模型對測試樣本進(jìn)行預(yù)測后得到的硝酸鹽濃度預(yù)測值和實際值進(jìn)行線性擬合分析,得到線性擬合結(jié)果如圖6所示,可以看出三種模型對人工海水中的硝酸鹽濃度預(yù)測值和其實際值具有良好的線性相關(guān)性,圖6(a)中單隱藏層神經(jīng)網(wǎng)絡(luò)模型相關(guān)系數(shù)r為0.975,圖6(b)雙隱層神經(jīng)網(wǎng)絡(luò)模型和圖6(c)偏最小二乘法模型相關(guān)系數(shù)r都為0.997,表明兩種模型都能較好地預(yù)測海水中的硝酸鹽濃度。
分別用神經(jīng)網(wǎng)絡(luò)模型和偏最小二乘法模型對測試樣本進(jìn)行預(yù)測后各樣本評價指標(biāo)如表2所示,根據(jù)表中所列參數(shù)評價模型的精度和穩(wěn)定性,從表中可以看出單隱藏層神經(jīng)網(wǎng)絡(luò)模型的穩(wěn)定性和精度低于偏最小二乘模型,而雙隱藏層神經(jīng)網(wǎng)絡(luò)模型的平均絕對誤差為8.442 μg·L-1,平均相對誤差為2.8%,預(yù)測均方根誤差為10.864,穩(wěn)定性和精度都高于偏最小二乘模型,說明增加隱藏層的數(shù)目能大大提升BP神經(jīng)網(wǎng)絡(luò)模型的精度,并且證明神經(jīng)網(wǎng)絡(luò)模型在一定條件下優(yōu)于偏最小二乘模型,模型能夠較為準(zhǔn)確地預(yù)測海水中的硝酸鹽濃度。
將該模型應(yīng)用于硝酸鹽原位監(jiān)測工程樣機(jī),2018年8月在自然資源部“環(huán)監(jiān)01”監(jiān)測船環(huán)渤海航次進(jìn)行了實際應(yīng)用測試,在11個站位與實驗室方法(鎘柱還原法)進(jìn)行了比對測試,實驗室海水水樣硝酸鹽濃度數(shù)據(jù)由煙臺市環(huán)境監(jiān)測中心站提供。11處測試站位分布如圖7所示,主要分布在煙臺近海水域。圖8為相應(yīng)采樣點實驗室方法測量結(jié)果和基于神經(jīng)網(wǎng)絡(luò)模型的硝酸鹽傳感器測量結(jié)果,從圖中可以看出,兩種方法的硝酸鹽濃度測量結(jié)果雖然有所偏差,但變化趨勢基本一致,證明了基于該神經(jīng)網(wǎng)絡(luò)模型的硝酸鹽傳感器的可靠性。光學(xué)法測量硝酸鹽濃度的與實驗室化學(xué)方法采用的原理不同,化學(xué)方法的氧化效率與水質(zhì)狀況有很大的關(guān)系,這是對比測試中兩者測量結(jié)果產(chǎn)生偏差的原因,但是由于光學(xué)傳感器測量速度快,且無二次污染,在現(xiàn)場快速監(jiān)測及長時間連續(xù)監(jiān)測的情況下相對實驗室化學(xué)方法具有明顯的優(yōu)勢。
圖6 不同模型預(yù)測值和實際值的線性相關(guān)性
表2 三種方法預(yù)測硝酸鹽濃度的評價Table 2 Evaluation of the nitrate concentrationby the three methods
圖7 航次采樣站點Fig.7 Sampling point
通過建立的雙隱藏層神經(jīng)網(wǎng)絡(luò)模型代替偏最小二乘模型,應(yīng)用于硝酸鹽原位監(jiān)測工程樣機(jī),實現(xiàn)對人工海水中的硝酸鹽濃度快速定量分析。經(jīng)過實驗室精度評價,建立的雙隱藏層神經(jīng)網(wǎng)絡(luò)模型對濃度為30~750 μg·L-1硝酸鹽濃度預(yù)測的平均絕對誤差為8.442 μg·L-1,平均絕對誤差為2.8%,預(yù)測均方根誤差為10.864,預(yù)測結(jié)果和實際濃度值之間的線性相關(guān)系數(shù)R2=0.997。在實際海水現(xiàn)場測試應(yīng)用中,與實驗室方法(國標(biāo)方法)進(jìn)行了比對測試,結(jié)果相似,表明神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于原位硝酸鹽傳感器能夠?qū)崿F(xiàn)硝酸鹽濃度快速測量,可為海洋環(huán)境監(jiān)測提供大量的硝酸鹽含量監(jiān)測數(shù)據(jù)。另外,實際海水中我們考慮了海水濁度和鹽度梯度對測量的影響,在實際工程應(yīng)用中,并不是將神經(jīng)網(wǎng)絡(luò)簡單用于吸光度數(shù)據(jù)的直接處理,而是對吸收光譜進(jìn)行復(fù)雜的預(yù)處理,本文討論的重點在于對神經(jīng)網(wǎng)絡(luò)模型建立及評價。如何與溫鹽深儀(CTD)聯(lián)用,進(jìn)一步開展實時鹽度校準(zhǔn),是后續(xù)工程應(yīng)用需要解決的問題。
圖8 原位傳感器與化學(xué)方法對比Fig.8 Nitrate sensor vs chemical method