李炳偉,葉樹霞,齊 亮,張永韡,馮 錦,陳宇霆
江蘇科技大學自動化學院
低成本氣體傳感器已經廣泛應用于環(huán)保、自動化等領域,然而由于其設計和制造的固有限制,存在靈敏度低、準確度不高等缺陷。這些問題嚴重影響了傳感器檢測數(shù)據的可靠性與精度,特別是需要高精度氣體濃度檢測的應用場景。檢測環(huán)境的干擾會造成傳感器特性點產生漂移,從而導致測量結果偏離理想值,形成非線性特性。由于傳感器設計方案所導致的非線性誤差是在出廠前就已經存在的,無法對其進行優(yōu)化處理[1]。因此,環(huán)境干擾是導致傳感器測量結果精度下降的主要因素,對環(huán)境干擾下的傳感器進行數(shù)據修正是提高傳感器精度的常用方法。
在氣體傳感器的數(shù)據修正方面,文獻[2]采用深度學習的方法對非色散紅外單通道CO2傳感器進行快速標定校準。文獻[3]采用多元線性回歸和隨機森林方法建立校準模型,對CO、NO2、O3傳感器進行校準。文獻[4]采用多元線性回歸分析環(huán)境變量的確定系數(shù)對低成本CO2傳感器進行校準。文獻[5]基于監(jiān)督學習技術開發(fā)了低成本CO、NO2、SO2、O3傳感器的現(xiàn)場校正系統(tǒng)。文獻[6]采用RBF神經網絡技術擬合非線性連續(xù)函數(shù),解決了傳感器在溫度、濕度、灰塵的長期影響下導致輸出誤差過大的問題。文獻[7]分析了溫度、濕度對低成本傳感器的影響,基于線性分析開發(fā)了校準模型對低成本PM傳感器進行校準。文獻[8]采用兩步校準方法對低成本傳感器進行校準。文獻[9]分析了溫度、濕度對低成本SO2、CO、NO2傳感器的影響并對傳感器進行修正。文獻[10]對傳感器陣列進行了多變量的校準和驗證。文獻[11]采用PSO-BP神經網絡訓練傳感器數(shù)據,實現(xiàn)了實時修正傳感器數(shù)據的功能。文獻[12]提出一種多項式擬合與基于粒子群優(yōu)化的BP神經網絡相結合的非線性校正方法。
針對低成本氣體傳感器受環(huán)境干擾導致檢測精度低的問題,本文提出一種COA-GRU神經網絡模型用于修正溫度、濕度、壓力對低成本氣體傳感器檢測精度的影響,提高傳感器檢測數(shù)據的可靠性和精度。
門控循環(huán)單元(gated recurrent unit,GRU)是一種簡化版的長短期記憶網絡(long short-term memory,LSTM),能夠解決循環(huán)神經網絡中存在的梯度消失、梯度爆炸等問題[13],可以用來構建傳感器的數(shù)據修正模型。GRU神經元包括重置門和更新門兩個門結構。GRU神經網絡的神經元結構如圖1所示:
圖1 GRU神經網絡的神經元結構
zs=σ(Wz[hs-1,xs]+bz)
(1)
rs=σ(Wr[hs-1,xs]+br)
(2)
式中:rs為重置門;Wr和br分別為權重參數(shù)和偏執(zhí)值。
(3)
(4)
式中hs為輸出隱藏狀態(tài)。
把最新的輸出隱藏狀態(tài)進行線性變換,生成輸出值。
本文使用門控循環(huán)單元神經網絡,利用大量數(shù)據訓練出傳感器修正模型后,對傳感器數(shù)據進行修正。傳感器非線性模型如圖2所示。
圖2 傳感器模塊非線性模型
傳感器模型方程為
y=f(x,υ1,υ2,υ3)+w
(5)
式中:y為傳感器輸出的檢測值;x為實際環(huán)境中的待測氣體;υ1、υ2、υ3表示環(huán)境變量即溫度、濕度、壓力;w為傳感器系統(tǒng)受到的干擾噪聲。
假設函數(shù)f(x,υ1,υ2,υ3)是一個未知的復雜函數(shù),其與傳感器特性以及環(huán)境因素有關。根據傳感器特性,可以得出在給定環(huán)境變量υ1、υ2、υ3的情況下,函數(shù)x和y之間存在一種復雜的對應關系。因此,可以推斷出一種特殊的函數(shù)y=g(f(x,υ1,υ2,υ3)),即尋求一個函數(shù)g,使得經過修正的傳感器的輸出數(shù)據可以準確地反映所測氣體濃度的大小,其校正原理如圖3所示:
圖3 傳感器校正原理
GRU神經網絡可以被認為一個黑盒,這個黑盒就是函數(shù)g,將環(huán)境參數(shù)(溫度、濕度、壓力)以及檢測的氣體濃度作為GRU神經網絡的輸入,將氣體真實濃度作為輸出。GRU神經網絡通過大量數(shù)據訓練,建立待測氣體與其環(huán)境變量之間的非線性黑盒模型,以此來修正傳感器檢測數(shù)據。
影響GRU神經網絡模型訓練效果的關鍵參數(shù)主要有學習率(learning rate)、隱藏層神經元(hidden layer neurons)節(jié)點數(shù)和正則化系數(shù)(regularizaiton)等。其中,學習率控制模型更新方向與收斂速度,隱含層神經元個數(shù)決定模型的非線性擬合能力,正則化系數(shù)主要防止模擬過擬合。選取合適的GRU網絡的超參數(shù)可以使得模型快速收斂,提高學習的性能和效果。但是GRU神經網絡的超參數(shù)往往難以確定,不同超參數(shù)的選取對訓練結果會造成很大的影響,還有可能出現(xiàn)多局部極值的問題。由于長鼻浣熊優(yōu)化算法(coati optimization algorithm,COA)具有良好的全局尋優(yōu)能力和收斂速度,于是引入COA對GRU神經網絡進行優(yōu)化,解決GRU神經網絡初始參數(shù)選擇不準確,導致訓練模型收斂速度慢和效果不佳的問題。
長鼻浣熊優(yōu)化算法由M.Dehghani提出,是一種用于全局搜索和局部搜索最優(yōu)值的改進算法[14]。該算法起源于模擬浣熊群攻擊蜥蜴策略和躲避捕食者機制的2種自然行為。COA對浣熊2種自然行為進行建模,浣熊被認為是該算法的群體成員,每個浣熊在搜索空間中的位置決定了決策變量的值,2種自然行為可認為是2個階段。
第1階段模擬浣熊群攻擊蜥蜴時的策略,在搜索空間中更新種群。在這一策略中,一群浣熊爬上樹去圍剿一只蜥蜴并嚇唬它。其他浣熊在樹下等待,直到蜥蜴從樹上摔落。蜥蜴摔倒在地后,地上浣熊攻擊并追捕它。這種策略使浣熊在搜索空間中移動到不同的位置,這表明了COA在解決空間問題中全局搜索的探索能力。
第2階段是基于浣熊遇到捕食者和逃離捕食者時的機制更新浣熊在搜索空間中的位置。當捕食者攻擊一只浣熊時,它會從自己的位置逃跑。浣熊在此策略中使當前位置接近于安全位置,這表明了COA在局部搜索中的開發(fā)能力。COA在全局和局部層面掃描搜索空間的能力較高,并且在識別出主要最優(yōu)區(qū)域后,可以以很高的收斂速度得到最優(yōu)解。
COA尋找最優(yōu)解過程如下:
隨機初始化浣熊群在搜索空間中的位置:
Xi∶xi,j=lbj+r·(ubj-lbj)
(6)
式中:Xi為第i個浣熊在搜索空間的位置,i=1,2,…,N;xi,j為第j個決策變量的值,j=1,2,…,m;N為浣熊種群的數(shù)量;m為決策變量的數(shù)量;r為[0,1]的隨機實數(shù);ubj和lbj分別為決策變量的上限和下限。
浣熊群矩陣用式(7)表示:
(7)
候選解在決策變量中的位置不同,對問題目標函數(shù)值的評估也不同,其值用式(8)表示:
(8)
式中:F為獲得目標函數(shù)的向量;Fi為第i個浣熊獲得的目標函數(shù)值。
浣熊在樹上往上爬的位置用式(9)表示:
(9)
地面上的浣熊在搜索空間中移動搜尋掉落在地上隨機位置的蜥蜴可用式(10)、式(11)表示:
j=1,2,…,m
(11)
判斷是否更新浣熊位置:
(12)
在每個浣熊所在位置的附近生成隨機位置,用式(13)、式(14)表示:
(13)
(14)
式(15)為選擇生成位置:
(15)
如果新生成位置提高了目標函數(shù)的值,則更新浣熊的位置。
根據第1階段和第2階段更新搜索空間中所有浣熊的位置后,COA的迭代完成。根據式(9)~式(15)重復更新種群,直到算法的最后一次迭代。COA運行完成后,將所有算法迭代期間獲得的最優(yōu)解作為輸出。
本文提出了一種新的組合模型COA-GRU對傳感器數(shù)據進行修正,將COA的最優(yōu)解賦值給GRU神經網絡的超參數(shù)。COA-GRU的優(yōu)化流程圖如圖4所示。
圖4 COA-GRU優(yōu)化流程圖
3.1.1 實驗環(huán)境
本文實驗均在64位的Windows10操作系統(tǒng)下完成,平臺基于C++的MatlabR2022b,計算機CPU為11th Gen Intel? CoreTMi5-11400H,GPU為NVIDIA GeForce RTX 3050,內存為16 GB。
3.1.2 數(shù)據來源
本文采用的SO2、CO、NO2、CO2低成本氣體傳感器組的型號分別為PR-3002-SO2、MQ-7、Figaro-TGS2600、JX-CO2-102,檢測精度分別為±5%F·S、±10F·S、±10F·S、±5%F·S。為了建立實際應用中環(huán)境參數(shù)對傳感器影響的模型,獲得更加準確的傳感器修正數(shù)據,本文將傳感器組置于鎮(zhèn)江港4003拖輪船已安裝的H200D氣體檢測裝置的檢測室內。傳感器組與H200D氣體檢測儀器共用一個氣體預處理裝置和檢測室,每min記錄1次環(huán)境參數(shù)和氣體濃度,并使用H200D氣體檢測裝置測得的數(shù)據作為參比數(shù)據。H200D氣體檢測裝置檢測精度小于±2%F·S,分辨率為0.01 ppm(1 ppm=10-6),測得的氣體濃度可認為氣體的真實濃度。記錄8.5 h,共500組數(shù)據,其中80%作為訓練集,20%作為測試集。實驗裝置如圖5所示。
(a)低成本傳感器組
3.1.2.1 參數(shù)設置
本文以檢測室的壓力、氣體溫度、濕度、原始氣體濃度數(shù)據作為COA-GRU網絡的輸入,H200D設備測得的氣體濃度作為輸出,對COA-GRU修正模型進行訓練。
GRU網絡的重置門和更新門選擇Sigmoid函數(shù)作為激活函數(shù)。生成候選隱藏狀態(tài)時使用tanh函數(shù)作為激活函數(shù)。全連續(xù)層中采用Relu函數(shù)作為激活函數(shù)。將均方根誤差(RMSE)設為損失函數(shù)。
設置COA初始的浣熊種群成員數(shù)量為50,算法迭代次數(shù)為30。COA-GRU網絡訓練參數(shù)設置如表1所示。
表1 COA-GRU網絡訓練參數(shù)設置
3.1.2.2 數(shù)據歸一化
在COA-GRU對傳感器數(shù)據進行修正前,首先對測得的數(shù)據進行歸一化處理,數(shù)據歸一化處理是為了提高模型的收斂速度,避免不同指標數(shù)值區(qū)間的差異性,消除不同量綱對修正結果的影響。本文采用mapmaxmin函數(shù)對各影響因素下的檢測數(shù)據進行歸一化處理,經處理后的指標數(shù)值按固定比例縮放至[0,1]范圍內,數(shù)據歸一化公式為
(16)
式中:y為各影響因素下氣體濃度歸一化的值;xmin和xmax分別為y對應的最大值和最小值;ymin和ymax分別為xmin和xmax歸一化后對應的最大值和最小值;x為各影響因素下的氣體濃度值。
本文選擇Adam算法更新修正模型中的權重。雖然Adam優(yōu)化算法可以自適應地調整學習率,但訓練修正模型具有一定的隨機性,并且在更新權重時使用了動量和自適應學習率等技術,從而造成其搜索空間較為廣泛,可能導致出現(xiàn)多個局部極值的問題。
為了判斷修正模型是否存在多個局部極值的問題,驗證COA優(yōu)化GRU神經網絡的必要性。選擇500組環(huán)境參數(shù)數(shù)據以及SO2濃度數(shù)據作為訓練數(shù)據集,其中70%作為訓練集,30%作為測試集。隨后設置超參數(shù)的搜索范圍,其中學習率[0.001,0.05]、隱藏層數(shù)[10,100]、正則化系數(shù)[0.001,0.01]。使用不同的超參數(shù)組合訓練GRU神經網絡,并記錄每個超參數(shù)組合的均方根誤差。最后,將參數(shù)組合繪制成三維圖表,其中橫軸表示隱藏層數(shù),縱軸表示學習率,深度軸表示正則化系數(shù),點的顏色表示均方根誤差的大小。超參數(shù)三維圖如圖6所示:
圖6 超參數(shù)三維圖
由圖6可知,超參數(shù)三維圖中顏色最深的點存在多處且比較分散,可以得出GRU神經網絡修正模型存在多局部極值的問題。所以本文有必要采用COA優(yōu)化算法在全局范圍內尋找最佳參數(shù)組合,從而提高數(shù)據修正模型的性能和準確性。
COA優(yōu)化的GRU網絡的適應度值隨迭代次數(shù)變化如圖7所示:
圖7 適應度值
由圖7得出,COA優(yōu)化的適應度值隨著迭代次數(shù)增加而逐漸降低,最后趨于平穩(wěn)狀態(tài),說明COA-GRU模型的訓練效果較好,COA優(yōu)化后的GRU神經網絡具有更快的收斂速度、更好的學習效果和性能。
選取PR-3002-SO2與H200D同時間段對SO2檢測濃度作為驗證數(shù)據來測試COA-GRU修正模型效果,同時判斷是否存在過擬合問題。部分測試結果如圖8所示。
圖8 COA-GRU網絡修正結果
由圖8可以得出,經過修正的測量值更接近H200D的檢測值。以H200D的測量值為真實參考值,測試集絕對誤差曲線如圖9所示。
圖9 測試集絕對誤差曲線圖
由圖9可以得出,修正后的絕對誤差基本小于測量值的絕對誤差,可以得出經過COA-GRU模型對傳感器數(shù)據進行修正可以提高對SO2的檢測精度。本文采用決定系數(shù)(R2)、均方根誤差、平均絕對誤差(MAE)與平均絕對百分比誤差(MAPE)來量化評估COA-GRU模型的修正性能。不同算法對SO2修正的效果如表2所示。
表2 SO2修正精度對比
由表2可知,PR-3002-SO2傳感器的原始測量值均方根誤差遠大于修正值均方根誤差,修正后的平均絕對誤差相比于測量值減少72%,均方根誤差減少了68%,平均絕對百分比誤差減少了72%。COA-GRU模型在均方根誤差、平均絕對誤差、平均百分比誤差上小于任何一個修正模型。
為了驗證COA-GRU對其他氣體的修正效果,分別對CO、NO2、CO2的濃度、煙氣參數(shù)歷史數(shù)據進行訓練,訓練后的各氣體傳感器數(shù)據修正模型測試結果如圖10所示。
(a)CO修正結果
從圖10可以得出,COA-GRU修正模型對各類氣體傳感器數(shù)據的修正值相較于測量值更加接近H200D煙氣檢測裝置的值,修正曲線比傳感器測量曲線更接近H200D檢測曲線。說明COA-GRU修正模型在對傳感器數(shù)據修正方面具有較好的效果和較強的普遍適用性。
為了更加直觀地分析COA-GRU修正模型在CO、NO2、CO2傳感器數(shù)據修正效果,依舊采用決定系數(shù)、均方根誤差、平均絕對誤差與平均絕對百分比誤差評估修正模型的效果,結果如表3所示。
表3 各類氣體傳感器數(shù)據修正結果對比
由表3可以得出,基于COA優(yōu)化的GRU神經網絡的修正模型對CO、NO2、CO2傳感器數(shù)據修正的均方根誤差均小于測量值的均方根誤差,平均絕對誤差相比于測量值分別降低了28.4%、29.6%、13.5%,平均絕對百分比誤差相比于測量值分別降低了27.9%、46.3%、17.8%。COA-GRU模型的修正值與H200D檢測值的誤差均小于PSO-GRU修正模型以及原始的GRU和LSTM模型。實驗結果表明經過大量數(shù)據訓練后的COA-GRU網絡修正模型對SO2、CO、NO2、CO2傳感器檢測的數(shù)據有良好的修正效果。
本文提出了一種基于COA-GRU的傳感器數(shù)據修正方法,用于提高低成本氣體傳感器檢測精度。實驗結果表明,COA算法可以有效提高GRU修正模型的學習性能和效率。在COA-GRU數(shù)據修正模型的處理下,SO2、CO、NO2、CO2檢測濃度的平均絕對誤差分別降低了72.0%、28.4%、29.6%、13.5%,該方法可以顯著提高低成本氣體傳感器的檢測精度,具有較強的可操作性,可應用于工業(yè)生產與環(huán)境監(jiān)測等領域。