鄭國梁, 朱紅求, 李勇剛
中南大學(xué)自動化學(xué)院, 湖南 長沙 410083
微型光譜儀是一種利用光的色散原理研制出的光學(xué)儀器, 實現(xiàn)對物質(zhì)濃度和成分的定量和定性分析, 具有檢測精度高、 速度快、 非接觸等優(yōu)點[1]。 在利用微型光譜儀對高濃度比背景下多種痕量重金屬離子濃度的檢測時, 由于離子之間化學(xué)特性相近, 導(dǎo)致不同離子之間的原始光譜信號存在一定的重疊[3]。 然而, 多種痕量重金屬離子的光譜信號幅值相對于高濃度鋅的光譜信號幅值微小, 極容易受到外部環(huán)境噪聲(包括光源發(fā)射功率的不穩(wěn)定而引起的照射光幅值的波動以及電源、 地線帶來的噪聲)和內(nèi)部電路引起的噪聲(包括靜電感應(yīng)、 電磁感應(yīng)以及漏電流感應(yīng)而儀器的噪聲)的干擾[4], 這些噪聲種類多、 來源廣且隨機性強, 給有效光譜信號的提取和高濃度比背景下多種痕量重金屬離子濃度的檢測帶來了極大的困難。
如何有效的從信號中消除噪聲, 針對具體的應(yīng)用場景, 目前國內(nèi)外學(xué)者已經(jīng)進(jìn)行了許多研究工作。 文獻(xiàn)[5]中利用Savitzky-Golay (SG)去噪算法對遙感領(lǐng)域中的高光譜數(shù)據(jù)進(jìn)行降噪分析; 文獻(xiàn)[6]作者設(shè)計了一個收縮因子, 能夠正確區(qū)分高頻系數(shù)中包含的噪聲系數(shù)和信息系數(shù)。 文獻(xiàn)[7]提出了一種新的自適應(yīng)閾值函數(shù)去噪法, 改進(jìn)了傳統(tǒng)的軟硬閾值函數(shù), 提升了去噪效果; 但其閾值函數(shù)較復(fù)雜, 不適用于工程實踐。
基于梯度下降法發(fā)展起來的最小均方(least mean square, LMS)自適應(yīng)濾波算法[8]是依據(jù)最小均方誤差準(zhǔn)則來不斷修正濾波器系數(shù)從而達(dá)到去噪目的的算法。 該算法能夠在無先驗知識的條件下, 通過與外部環(huán)境的接觸不斷修正模型參數(shù)從而提高對信號處理性能, 在許多需要對信號進(jìn)行濾波處理的領(lǐng)域上有著廣泛的應(yīng)用[9]。 然而, 標(biāo)準(zhǔn)LMS算法在對數(shù)據(jù)進(jìn)行去噪處理過程中, 存在著對噪聲信號敏感、 收斂速度慢、 易出現(xiàn)過擬合的問題。 因此, 本工作提出了一種基于sigmoid誤差約束的改進(jìn)型LMS自適應(yīng)去噪算法。 首先對標(biāo)準(zhǔn)LMS算法原理進(jìn)行分析, 并結(jié)合微型光譜儀的數(shù)據(jù)干擾影響情況對標(biāo)準(zhǔn)LMS濾波器結(jié)構(gòu)進(jìn)行優(yōu)化改進(jìn); 利用sigmoid函數(shù)具有誤差約束的特性, 將誤差計算模塊進(jìn)行優(yōu)化改進(jìn); 由于改進(jìn)后的最小均方誤差損失函數(shù)是一個非凸函數(shù)、 求解過程容易陷入局部最優(yōu)解的問題, 為此, 提出一種類交叉熵?fù)p失函數(shù), 將非凸出數(shù)轉(zhuǎn)化為了一個凸優(yōu)化問題, 保證了局部最優(yōu)解也是全局最優(yōu)解, 同時結(jié)合Adam算法來自適應(yīng)的調(diào)整學(xué)習(xí)率因子; 結(jié)合實驗數(shù)據(jù)利用交叉驗證的方法選擇最佳參數(shù)。 最后, 通過交叉驗證的方法對所提方法進(jìn)行實驗驗證。
LMS算法是依據(jù)最小均方誤差準(zhǔn)則, 采用梯度下降的方法來實現(xiàn)損失函數(shù)最小化的去噪算法。 如圖1所示, 該算法結(jié)構(gòu)主要由濾波器結(jié)構(gòu)、 誤差計算模塊、 LMS自適應(yīng)濾波算法結(jié)構(gòu)組成。 濾波器結(jié)構(gòu)如式(1)所示:
y(n)=W(n)TX(n)
(1)
其中,X(n)=[x(n),x(n-1), …,x(n-L+1)]T, 表示與n對應(yīng)的自適應(yīng)濾波器的輸入信號矢量;y(n)表示n對應(yīng)的濾波器輸出信號;L代表該濾波器的階數(shù);W(n)=[w0(n),w1(n), …,wL-1(n)]T, 表示n狀態(tài)下的自適應(yīng)濾波器權(quán)系數(shù)向量。
誤差計算模塊通常用式(2)進(jìn)行表示:
e(n)=y(n)-s(n)
(2)
圖1 LMS算法結(jié)構(gòu)
其中,s表示n對應(yīng)的參考輸入信號; LMS自適應(yīng)濾波算法結(jié)構(gòu)是采用最小均方誤差函數(shù)作為優(yōu)化的目標(biāo)函數(shù)。 因此, 可以用式(3)描述:
(3)
其中,W=[w0,w1,…,wL-1]。 將式(2)代入式(3), 用式(4)進(jìn)行描述:
(4)
利用梯度下降逐步最小化損失函數(shù), 標(biāo)準(zhǔn)LMS算法迭代方程可用式(5)描述:
(5)
由式(1)可知, 標(biāo)準(zhǔn)LMS算法是根據(jù)前L個輸入數(shù)據(jù)點來對當(dāng)前數(shù)據(jù)點進(jìn)行預(yù)測。 微型光譜儀常采用的是電荷耦合器件(charge coupled device, CCD)作為感光組件, 實現(xiàn)光信號轉(zhuǎn)換為數(shù)字信號[11]。 CCD感光組件是通過一系列排列在一起的感光像元矩陣單元組成, 如圖2所示。 當(dāng)一束平行光照射至感光像元矩陣單元, 所有的感光像元同時采集信號。 若將所有的感光像元進(jìn)行有序編號, 圖2中x(n-m)位置的感光像元受到的干擾不僅來自于A+方向的反射光、 散射光、 雜散光的干擾影響, 同時也來自A-方向的干擾影響, 而式(1)只能實現(xiàn)對A+方向的消噪。 因此, 對式(1)進(jìn)行優(yōu)化改進(jìn), 用式(6)描述:
(6)
圖2 CCD采光原理
利用式(2)計算誤差的過程中, 僅利用訓(xùn)練樣本中的一個樣本來進(jìn)行誤差計算, 將導(dǎo)致對噪聲信號比較敏感, 且容易陷入局部最優(yōu)解中, 當(dāng)噪聲信號過大時, 則計算得到的偏差非常大, 利用式(5)進(jìn)行權(quán)系數(shù)向量W迭代的過程中, 權(quán)系數(shù)向量值變化劇烈, 導(dǎo)致收斂時間變長, 甚至讓整個算法模型處于不收斂狀態(tài)。 為了避免該情況發(fā)生, 采用小批量隨機梯度下降法[12]更新迭代權(quán)系數(shù)向量W, 同時為了避免算法對噪聲信號的過度敏感性, 用式(7)對式(2)進(jìn)行改寫:
(7)
利用sigmoid函數(shù)將噪聲信號引起的偏差量約束到-0.5至0.5之間, 如圖3所示, 在某種程度上減低了算法模型對噪聲信號的敏感性, 同時在進(jìn)行權(quán)值更新迭代時, 自適應(yīng)濾波器的權(quán)系數(shù)向量權(quán)值變化不會處于震蕩狀態(tài), 有利于權(quán)值系數(shù)的快速收斂。
圖3 誤差約束
將式(7)代入由小批量隨機梯度下降法建立起的最小均方誤差函數(shù), 用式(8)進(jìn)行描述:
(8)
其中,k表示隨機采樣且用于模型訓(xùn)練的樣本數(shù)量。 利用參數(shù)辨識的過程中, 式(8)是一個非凸函數(shù), 存在許多局部最優(yōu)解[13], 避免局部最優(yōu)解的干擾。 將式(8)中的μ(n)進(jìn)行改進(jìn), 用式(9)進(jìn)行描述:
(9)
將式(9)代入式(8), 然后用式(10)進(jìn)行描述, 將其稱為類交叉熵?fù)p失函數(shù)。 如圖4所示, 將式(8)中的非凸問題轉(zhuǎn)換為了一個凸問題, 在進(jìn)行參數(shù)尋優(yōu)的過程中, 有效地保證局部最優(yōu)解也是全局最優(yōu)解。
(ln0.5-ln(μ(n)(i)+0.5)))2
(10)
利用式(10)對樣本數(shù)據(jù)進(jìn)行模型迭代訓(xùn)練, 若算法模型選擇了更多的參數(shù)、 更復(fù)雜的模型, 則意味著算法對樣本訓(xùn)練數(shù)據(jù)處理非常好(J(W)≈0)。 但是這樣獲得的模型喪失了一般性, 從而導(dǎo)致在一個新給定的環(huán)境中處理未知樣本數(shù)據(jù)的過程中存在處理效果差的情況。 為了讓模型具有較高的泛化能力和抗噪能力, 通常采用正則化的方式對式(10)進(jìn)行參數(shù)約束, 用式(11)對式(10)進(jìn)行進(jìn)一步優(yōu)化改寫。
(11)
其中,λ表示正則化系數(shù)。 當(dāng)λ值過大時, 模型將處于欠擬合狀態(tài), 當(dāng)λ值過小時, 模型將處于過擬合狀態(tài); 當(dāng)λ>0時, 能夠保證最小化損失函數(shù)是一個強凸函數(shù)。 將式(11)代入式(5)中進(jìn)行更新迭代求解最優(yōu)Wbest, 但是式(5)中的學(xué)習(xí)率因子α仍然為固定值, 為了不讓α成為影響算法收斂速度的主要因素, 需要采用合適的算法來實時調(diào)整學(xué)習(xí)率因子。
圖4 誤差與損失函數(shù)之間的關(guān)系
采用自適應(yīng)矩估計(adaptive moment estimation, Adam)算法來實時調(diào)整對應(yīng)的學(xué)習(xí)率因子α。 Adam算法[14]根據(jù)目標(biāo)損失函數(shù)中每個參數(shù)的梯度的一階矩估計和二階矩估計動態(tài)調(diào)整針對每個參數(shù)的學(xué)習(xí)速率因子。 其中, Adam也是基于梯度下降的方法, 每次迭代參數(shù)的學(xué)習(xí)步長都有一個確定的范圍, 不會因為很大的梯度而導(dǎo)致很大的學(xué)習(xí)步長, 保證參數(shù)的值比較穩(wěn)定。 具體程序流程圖如圖5所示。
根據(jù)圖5的算法步驟求解出最優(yōu)W, 但是算法中依然存在超參數(shù)濾波器階數(shù)m和正則化系數(shù)λ的選擇; 采用交叉驗證的方法找最佳超參數(shù)mbest,λbest。 首先, 將樣本按照比例為70%, 15%和15%隨機劃分為訓(xùn)練集、 驗證集和測試集, 其中訓(xùn)練樣本用于訓(xùn)練模型, 驗證樣本用于檢驗和評價訓(xùn)練樣本獲得的模型性能, 并根據(jù)模型性能優(yōu)劣來選擇最優(yōu)超參數(shù)mbest,λbest; 然后, 利用已選擇mbest,λbest并結(jié)合訓(xùn)練樣本和驗證樣本來再次訓(xùn)練改進(jìn)型LMS算法模型獲得最優(yōu)Wbest; 最后, 利用測試樣本來測試獲得的模型性能。 采用信噪比(signal noise ratio, SNR)和均方誤差(mean squared error, MSE)作為模型性能優(yōu)劣的選擇標(biāo)準(zhǔn)。
圖5 Adam流程圖
為了驗證所提方法的可行性和正確性, 選擇廈門奧普天成有限公司生產(chǎn)型號為ATP2000的便攜式微型光譜儀作實驗, 光源采用氘鹵燈, 比色皿選擇石英比色皿。
以鋅濕法冶煉為背景, 配置Zn2+, Cu2+, Co2+, Ni2+濃度分別為16 g·L-1, 1.4 mg·L-1, 0.8 mg·L-1, 0.3 mg·L-1的混合標(biāo)準(zhǔn)溶液。 微型光譜儀采樣積分時間設(shè)定為3 ms, 采樣積分間隔為500 ms, 在相同實驗條件下將該濃度的光譜信號重復(fù)采集4 000次。 圖6(a)為其中一次采樣獲得的吸收光譜信號。 圖6(b)是根據(jù)中心極限定理統(tǒng)計獲得的吸收光譜信號, 在此作為參考吸收光譜信號。
為了驗證方法的有效性和正確性, 選擇MATALB2016b作為實驗仿真平臺。 首先選擇圖6(b)中的標(biāo)準(zhǔn)參考吸收光譜信號進(jìn)行仿真實驗驗證, 選擇matlab軟件中函數(shù)名為awgn的函數(shù), 獲取添加高斯白噪后信噪比SNR=[8, 8.08, 8.16, …, 26]的仿真數(shù)據(jù), 單位為dB, 總樣本量為226。 如圖7為信噪比為16.32 dB的光譜含噪仿真信號。 為了讓算法模型具有較強的實用性, 在樣本劃分過程中, 將含噪的仿真數(shù)據(jù)進(jìn)行歸一化處理, 然后進(jìn)行模型訓(xùn)練。 對圖5中初始化值進(jìn)行以下設(shè)定:
k=20;λ=[0.001, 0.005, 0.01, 0.1, 1, 2, 3, 6, 9, 15, 20];m=[3, 5, …, 29]; 最大迭代次數(shù)Tmax=300。
根據(jù)圖5的程序步驟和交叉驗證的方法對模型進(jìn)行迭代求解, 同時獨立重復(fù)100次實驗驗證。
圖6 混合溶液的吸收光譜信號
為了進(jìn)一步驗證本方法的降噪效果, 選擇標(biāo)準(zhǔn)LMS算法、 小波硬閾值去噪算法、 小波軟閾值去噪算法、 SG去噪算法與本方法進(jìn)行性能比較。 其中標(biāo)準(zhǔn)LMS算法參數(shù)設(shè)定為:α=[0.000 5, 0.000 1, 5.0×10-5, 1.0×10-5, 5.0×10-6, 1.0×10-6, 5.0×10-7, 1.0×10-7];L=[3, 5, …, 30]; 選擇連續(xù)性和對稱性較好的”sym8”作為小波基函數(shù), 并進(jìn)行3層分解; SG濾波器窗口寬度選擇3, 多項式擬合次數(shù)選擇1次。
選擇相同的測試集樣本來評價這5種不同算法的性能, 如圖8所示的均方誤差和信噪比這兩項性能指標(biāo)進(jìn)行統(tǒng)計計算, 本文所提出的改進(jìn)型LMS算法相對于標(biāo)準(zhǔn)LMS算法、 SG去噪算法、 小波軟閾值、 小波硬閾值去噪算法, 信噪比分別提高了9.225%, 19.678%, 7.591%, 12.042%; 均方誤差分別降低了59.647%, 63.070%, 53.600%, 57.793%; 有效地說明了本方法的正確性和可行性。
圖7 信噪比為16.32 dB的光譜含噪仿真信號
圖8 不同算法性能指標(biāo)對比
以圖7中信噪比為16.32 dB的含噪仿真數(shù)據(jù)為例, 利用上述5種濾波去噪算法進(jìn)行濾波處理, 去噪效果如圖9—圖13所示; 觀察虛線框中的去噪后的信號, 改進(jìn)后的LMS濾波算法能夠較為真實的還原了原始信號的數(shù)據(jù)特征, 其他4種方法進(jìn)行去噪后仍然存在較大的毛刺, 在某種程度上影響著光譜分析精度。
圖9 改進(jìn)LMS算法對仿真數(shù)據(jù)降噪效果
圖10 SG算法對仿真數(shù)據(jù)降噪效果
圖11 小波硬閾值算法對仿真數(shù)據(jù)降噪效果
利用本方法對微型光譜儀實測吸光度光譜信號進(jìn)行去噪處理, 去噪效果如圖14所示, 改進(jìn)型LMS算法有效的消除了強噪聲的干擾, 同時也有效的保留了高濃度比背景下多種痕量重金屬離子的原始吸收光度圖譜信號特征。
圖12 小波軟閾值算法對仿真數(shù)據(jù)降噪效果
圖13 標(biāo)準(zhǔn)LMS算法對仿真數(shù)據(jù)降噪效果
圖14 改進(jìn)LMS算法對實測光譜數(shù)據(jù)降噪效果
微型光譜儀檢測高濃度比背景下多種痕量重金屬離子濃度的光譜吸收信號存在噪聲信號大的問題, 通過對標(biāo)準(zhǔn)LMS算法原理和微型光譜儀的數(shù)據(jù)干擾影響情況進(jìn)行了分析, 提出了一種基于sigmoid誤差約束的改進(jìn)型LMS自適應(yīng)去噪算法, 有效降低了標(biāo)準(zhǔn)LMS算法對噪聲的敏感性。 針對改進(jìn)后的最小均方誤差損失函數(shù)是一個非凸函數(shù)的問題, 本工作提出了一種類交叉熵?fù)p失函數(shù), 將非凸問題轉(zhuǎn)化為了一個凸優(yōu)化問題, 并結(jié)合Adam算法來自適應(yīng)的調(diào)整學(xué)習(xí)率因子, 保證了算法具有較快的收斂速度。 最后結(jié)合仿真實驗和實測實驗進(jìn)行分析對比。 其結(jié)果表明: 對處理信噪比低的吸收光譜信號過程中, 所提方法在信噪比和均方誤差的性能指標(biāo)均優(yōu)于標(biāo)準(zhǔn)LMS算法、 SG去噪算法、 小波軟閾值算法、 小波硬閾值算法, 不僅有效去除無關(guān)噪聲的影響, 保留光譜信號中的一些重要真實細(xì)節(jié)特征, 而且也避免了關(guān)鍵細(xì)節(jié)參數(shù)需要依靠主觀判斷選擇的問題, 為分析低信噪比下的光譜信號提供了一種新的解決思路。