解本巨 王 寧
(青島科技大學信息學院 青島 266100)
自適應濾波器是以線性維納濾波和Kalman 濾波為基礎(chǔ)發(fā)展起來的一種新型濾波技術(shù),由于其性能良好,在未知環(huán)境的狀況下具有較強的適應能力[1],因此在現(xiàn)代通信處理、信號去噪和自動化控制等方面有著廣泛的應用。自濾波技術(shù)發(fā)展以來,研究者主要集中致力于復雜不確定性條件下的信號擾動,通過改進傳統(tǒng)濾波算法模型進行參數(shù)更新。例如歸一化最小均方誤差NLMS 算法、迭代可變步長VSS算法、變換域LMS改進算法等。這些原理都是基于傳統(tǒng)LMS(最小均方誤差)自適應濾波器,修改算法步長μ常數(shù)改為變量控制,通過收斂和時域變化規(guī)則建立聯(lián)系[2]。因此基于線性控制步長因子的方法始終不能解決自適應濾波器穩(wěn)態(tài)失調(diào)量和收斂速度的矛盾[3]。
隨著信息技術(shù)的發(fā)展,非線性信號處理越來越重要,傳統(tǒng)自適應濾波器面臨的問題越來越多。近年來,人工神經(jīng)網(wǎng)絡發(fā)展迅猛,其應用方面十分廣泛,以多層前饋BP神經(jīng)網(wǎng)絡為例,在非線性大規(guī)模并行處理和自組織自學習能力方面引起廣泛重視,并取得了很多成果。使用神經(jīng)網(wǎng)絡解決自適應濾波信號處理問題,無疑是一個好的辦法?;诶碚摲治觯疚牟捎酶郊觿恿?自適應學習速率改進BP神經(jīng)網(wǎng)絡的方法融合LMS自適應濾波器,建立關(guān)系模型,控制信號數(shù)據(jù)處理過程。
自適應濾波器是能夠根據(jù)輸入信號自動調(diào)整性能進行數(shù)字信號處理的濾波器[4],其本質(zhì)是根據(jù)環(huán)境改變通過自適應濾波算法來實現(xiàn)更新濾波系數(shù)和結(jié)構(gòu),從而達到濾波功能的實現(xiàn)。原理如圖1所示。
圖1 自適應濾波器原理圖
圖中:n 為時間變量;x(n)為n 時刻的輸入信號,其中包含有用信號和待濾除的噪聲;y(n)為濾波器的輸出信號;d(n)為已知的參考信號或期望響應;e(n)為估計誤差信號,有e(n)=d(n)-y(n)。自適應濾波器是一個系數(shù)可調(diào)的FIR(有限長單位沖擊響應)數(shù)字濾波器,其系數(shù)根據(jù)一定的自適應算法進行調(diào)節(jié),調(diào)節(jié)的目標是使e(n)達到最小值。當e(n)達到最小值時,也即意味著濾波器的輸出信號y(n)實現(xiàn)了對期望響應d(n)的最佳估計。
由Widrow 和Hoff 早些時候提出的LMS 算法,運用了最速下降法的思想,在權(quán)值系數(shù)向量隨時間變化過程中加入比例項-?,即在“上一時刻”wi與“現(xiàn)時刻”wi+1之間加入負均方誤差梯度[5],由此得到
其中μ為步長因子,是決定算法穩(wěn)定性和收斂快慢的常數(shù)。在計算?n時由于計算復雜,常常采用近似值??(n)=-2e(n)x(n)進行取代,所以基于常數(shù)μ 的LMS算法公式可以表示為
LMS 算法在解決線性問題時表現(xiàn)出比較明顯的優(yōu)勢,但穩(wěn)態(tài)失調(diào)量和收斂速度依舊是最大的矛盾,在現(xiàn)代信號處理中,面臨的非線性問題也越來越多,使用基本LMS算法不再滿足要求。本文使用附加動量-自適應學習速率法修改BP 網(wǎng)絡權(quán)值,并結(jié)合LMS自適應濾波器構(gòu)造模型,利用神經(jīng)網(wǎng)絡自學習的特點,更準確確定參數(shù)變量,改善穩(wěn)態(tài)失調(diào)量和收斂速度的矛盾。
利用BP 神經(jīng)網(wǎng)絡對LMS 算法輸入信號進行融合時,由于信號的相似性和廣泛性,以及按照誤差負梯度方向優(yōu)化權(quán)值的特性,易造成BP 網(wǎng)絡收斂性效果不佳,陷入局部最?。?]。針對傳統(tǒng)BP 神經(jīng)網(wǎng)絡的缺陷,本文采用附加動量-自適應學習速率的方法進行改進。
使用動量因子附加作用于神經(jīng)網(wǎng)絡的反向傳播過程,在每一次權(quán)值變化中,加入一項正比于前一次權(quán)值(或閾值)的變化量,產(chǎn)生新的權(quán)值[7],帶有附加動量因子和閾值變化的調(diào)節(jié)公式為
其中,k 為訓練次數(shù),mc 為動量因子,一般取值為0.95左右。在進行附加動量法訓練過程中,為了防止權(quán)值修正過大或者過小,采用以下公式作為修正限制條件,判定條件為
其中E(k)為第k 步誤差平方和。當mc=0 時,即未加入動量因子,其誤差變化如圖2所示。
圖2 mc=0的變化趨勢
網(wǎng)絡訓練陷入局部最小值,停止不動。當加入動量因子并取值為0.95 時,如圖3 所示,網(wǎng)絡會在附加動量作用下,越過局部最小值。
圖3 mc=0.95的變化趨勢
對于網(wǎng)絡學習速度過慢的問題則采用自適應學習速率法進行控制。自適應學習速率通過檢驗網(wǎng)絡權(quán)值是否降低了誤差函數(shù)作為標準,如果顯示降低,則表示學習速率小,可以增加一個量,如果沒有,則可以適當減?。?]。自適應學習速率公式為
圖4,圖5 分別表示未加入自適應學習速率法和加入自適應學習速率法在網(wǎng)絡訓練中達到相同精度的迭代情況。
圖4 網(wǎng)絡訓練誤差(傳統(tǒng)算法)
圖5 網(wǎng)絡訓練誤差(改進算法)
可以看出網(wǎng)絡達到相同的誤差時,未使用自適應學習速率法需要迭代218 次,而加入自適應學習速率法只需要26次,在速度上有明顯改觀。
附加動量法使動量因子與BP神經(jīng)網(wǎng)絡權(quán)值相結(jié)合,避免因網(wǎng)絡權(quán)值更改過大陷入局部極小,可以找到全局最優(yōu)解。自適應學習速率可以縮短網(wǎng)絡訓練時間,避免由經(jīng)驗判斷而盲目性的學習。改進后的BP 神經(jīng)網(wǎng)絡與傳統(tǒng)型BP 神經(jīng)網(wǎng)絡對比如圖6 所示:新算法模型可以促進網(wǎng)絡性能優(yōu)化、更具有魯棒性。結(jié)合LMS自適應濾波算法,可以更準確地學習到最優(yōu)μ步長,實時加快收斂速度,提高濾波器精度。
圖6 傳統(tǒng)與改進后BP神經(jīng)網(wǎng)絡對比
使用BP 神經(jīng)網(wǎng)絡融合LMS 算法并進行優(yōu)化,首先建立神經(jīng)網(wǎng)絡與自適應濾波算法的模型,并通過網(wǎng)絡結(jié)構(gòu)與輸入向量、誤差以及學習步長相關(guān)聯(lián)[9]。圖3 顯示了BP-LMS 模型在自適應濾波器中的融合規(guī)則,利用BP 神經(jīng)網(wǎng)絡解決濾波信號處理問題,實現(xiàn)BP-LMS模型。
圖7 BP-LMS模型自適應濾波器
其中X(i)和ε(i)為BP 神經(jīng)網(wǎng)絡的輸入信息,數(shù)據(jù)以向量模式表示,μ為神經(jīng)網(wǎng)絡訓練結(jié)果的輸出。可以看出神經(jīng)網(wǎng)絡結(jié)合自適應濾波算法實際上就是建立學習的網(wǎng)絡結(jié)構(gòu),通過誤差和輸入向量尋找最佳學習步長。學習給定樣本數(shù)據(jù),建立實時數(shù)據(jù)關(guān)聯(lián)模型,并集成到BP-LMS 算法中。在網(wǎng)絡訓練結(jié)束后,通過BP神經(jīng)網(wǎng)絡算法得出的參數(shù),代表三者之間的非線性關(guān)聯(lián)。其BP-LMS 更新算法參數(shù)的規(guī)則如下:
在上述方程中,β代表了在采樣時間n 時刻根據(jù)輸入向量X(i)和誤差ε(i)得到的BP 神經(jīng)網(wǎng)絡模塊的輸出。為保證神經(jīng)網(wǎng)絡算法收斂性,β必須 使用改進BP-LMS模型建立神經(jīng)網(wǎng)絡結(jié)構(gòu),首先需要采集數(shù)據(jù)作為樣本集,由于大多數(shù)自適應濾波信號數(shù)據(jù)都具有相似性,故本文采用工程應用中常用的正弦波信號作為仿真數(shù)據(jù),通過引入噪聲干擾進行Matlab仿真實驗和對比。 為了驗證改進BP-LMS 模型后的有效性,故與其他幾種自適應算法進行仿真比較。 1)標準LMS 算法,μ步長因子是一個給定的較小的正數(shù)。 2)NLMS 算法(歸一化最小均方誤差),步長因子由公式μ=得出,其中η為自適應常數(shù),δ為正數(shù),X(i)為采樣時間n時刻輸入信號值。 仿真1:輸入帶有噪聲的標準正弦波信號,和其他兩種算法作性能比較,如圖5所示。 圖8 仿真1誤差收斂曲線 仿真步驟如下: 1)濾波器階數(shù)設定為L=10,初始權(quán)重Wi定義為0。 2)加入噪聲X(i)為零均值,方差σ2為0.1 的獨立高斯隨機序列。 3)標 準LMS 算 法 不 變 步 長 因 子μ 設 置 為0.005。NLMS 自適應濾波器參數(shù)η和δ分別為0.15和2。 4)平均統(tǒng)計時間為20,樣本容量為1000,在改進BP-LMS 模型中使用greed 算法尋找訓練樣本,部分數(shù)據(jù)如表1所示。 表1 BP模型部分訓練樣本數(shù)據(jù) 附加動量-自適應學習速率BP-LMS 模型最重要的是建立神經(jīng)網(wǎng)絡結(jié)構(gòu),尋找樣本進行訓練。根據(jù)信號數(shù)據(jù)的相似性,任意三層網(wǎng)絡結(jié)構(gòu)就可以完成隨機向量的映射,所以本文采用單層BP 神經(jīng)網(wǎng)絡進行訓練和預測。設定輸入向量為10個單位的輸出(假設自適應濾波器輸出信號為8,偏差為2),隱藏層包含20 個中間單元節(jié)點。通過神經(jīng)網(wǎng)絡訓練掃描模型中輸出結(jié)果,產(chǎn)生最優(yōu)步長因子μ。 可以看出,對比其他兩種算法,附加動量-自適應學習速率BP-LMS 算法模型可以使得自適應濾波器在收斂速度方面取得更好效果。 仿真2:進一步評估改進BP-LMS 算法的性能和有效性,輸入信號為帶有噪聲的高斯白噪聲序列,如圖9所示。 圖9 仿真2誤差收斂曲線 仿真步驟如下: 1)自適應濾波器階數(shù)L=7。初始權(quán)重W(i)=[0.25,0.25,0.75,1,0.25]T。 2)輸入信號s(n)為零均值方差σ2=1.5 的高斯白噪聲隨機序列,加入噪聲X(i)為零均值,方差σ2=0.06的獨立高斯隨機序列。 3)標 準LMS 學 習 步 長 因 子μ 設 置 為0.005,NLMS算法兩個參數(shù)η和δ分別為0.15和2。 4)平均統(tǒng)計時間為300,樣本容量為1000。同比于仿真1,首先使用greed 算法尋找訓練樣本,部分數(shù)據(jù)如表2所示。 表2 改進BP模型部分訓練樣本數(shù)據(jù) 建立基于附加動量-自適應學習速率BP 網(wǎng)絡模型,輸入向量設定為15(假設自適應濾波器輸入信號為12,偏差為3),隱藏層為25 個單元,通過神經(jīng)網(wǎng)絡再次訓練。 可以看出,基于附加動量自適應學習速率BP-LMS 算法在200 次迭代周期后趨于穩(wěn)定,對比于迭代周期在400 和500 次左右的LMS 和NLMS 兩種算法,收斂速度上有明顯的加快。 仿真1、2 實驗結(jié)果可以表明,基于附加動量-自適應學習速率BP-LMS 模型具有明顯的實用性。在噪聲功率相同類型且已知的情況下,神經(jīng)網(wǎng)絡處理性能要比LMS 和NLMS 更有效果,在誤差調(diào)整方面也更加穩(wěn)定。 自適應濾波器在通訊信號處理中具有重要的價值,隨著集成電路和計算機的快速蓬勃發(fā)展,使其應用范圍也在不斷的擴大,已經(jīng)遍及圖像識別、語音信號處理和模式識別等相關(guān)領(lǐng)域。濾波技術(shù)發(fā)展的根本取決于算法的創(chuàng)新和融合,本文提出的附加動量-自適應學習速率BP-LMS 模型,采用一種新型神經(jīng)網(wǎng)絡控制技術(shù),建立信號數(shù)據(jù)與人工神經(jīng)網(wǎng)絡之間的聯(lián)系,并通過Matlab仿真實驗得以證明和實現(xiàn)。 結(jié)果表明,通過神經(jīng)網(wǎng)絡控制信號處理過程,可以提高實時信號處理精度,更好的彌補自適應濾波器的缺陷和不足。在工程應用信號處理過程中,使用神經(jīng)網(wǎng)絡控制自適應濾波,凸顯了實用性和推廣性,拓寬了人工神經(jīng)網(wǎng)絡和自適應濾波結(jié)合的思想,具有重要意義和發(fā)展前景。4 實驗與分析
4.1 數(shù)據(jù)采集
4.2 實驗對比
5 結(jié)語