周 超
(華南理工大學(xué)廣州學(xué)院,廣東 廣州 510800)
隨著計(jì)算機(jī)處理能力的大幅提升,機(jī)器學(xué)習(xí)成為熱門學(xué)科。神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)算法在很多領(lǐng)域優(yōu)勢(shì)明顯,通信學(xué)科亦是如此。BP神經(jīng)網(wǎng)絡(luò)被廣泛用于各種信號(hào)處理場(chǎng)景,如語(yǔ)音處理、圖像識(shí)別等,其中廣泛使用的模型是“M-P神經(jīng)元模型”[1]。神經(jīng)元樹突部分用于接收傳輸信號(hào)xn,輸入信號(hào)與權(quán)值θn相乘,通過(guò)累加后求得輸出神經(jīng)元的輸入值,再與自身閾值進(jìn)行比對(duì)判斷是否產(chǎn)生輸出,從而完成信號(hào)的非線性映射處理[2-3]。神經(jīng)網(wǎng)絡(luò)是將N個(gè)小單元按照一定的次序組合在一起的結(jié)果,因此神經(jīng)網(wǎng)絡(luò)內(nèi)部含有大量的權(quán)值和閾值需要確定。圖1為應(yīng)用最廣泛的單隱層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[3]。
圖1中第j個(gè)輸出神經(jīng)元的輸出為,輸入為第h個(gè)隱層神經(jīng)元的輸入為隱藏層單元的閾值用bh表示;輸出層單元的閾值用θj表示。
BP神經(jīng)網(wǎng)絡(luò)算法的工作原理包括兩個(gè)過(guò)程:
(1)正向求解,即輸入層神經(jīng)元接收的信號(hào)順著神經(jīng)網(wǎng)絡(luò)正向流動(dòng),逐級(jí)求解,直至到達(dá)輸出層神經(jīng)元,并經(jīng)過(guò)輸出層神經(jīng)元處理后得到輸出信號(hào)。
(2)反向校正,若該輸出信號(hào)與其期望值存在誤差,則神經(jīng)網(wǎng)絡(luò)進(jìn)行反向校正過(guò)程[3]。反向過(guò)程將誤差值e順信號(hào)傳播的反方向傳遞,使各神經(jīng)元調(diào)整權(quán)值和閾值,直至輸入層,如此反復(fù)[4]。其中,權(quán)值ω的調(diào)整為 Δωhj=ηgjbh,式中學(xué)習(xí)效率η∈(0,1);權(quán)值v的調(diào)整為vih=vih+μX'eh。此外,隱藏層閾值的調(diào)整為b=b-μeh,eh(n)=b(n)*(1-b(n))*(whj(n))*gj。
至此,給出了BP算法的詳細(xì)實(shí)現(xiàn)過(guò)程和調(diào)整公式。通過(guò)將接收序列輸入神經(jīng)網(wǎng)絡(luò)均衡器,以校正碼間串?dāng)_產(chǎn)生的影響。
圖1 單隱層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文利用MATLAB工具搭建一個(gè)BP神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)包含9個(gè)輸入層神經(jīng)元、20個(gè)隱層神經(jīng)元以及2個(gè)輸出層神經(jīng)元,學(xué)習(xí)步長(zhǎng)為0.8。仿真共使用100 000個(gè)信號(hào)碼元,其中10 000個(gè)訓(xùn)練碼元,用于對(duì)BP神經(jīng)網(wǎng)絡(luò)內(nèi)部參數(shù)的訓(xùn)練;90 000個(gè)測(cè)試數(shù)據(jù),用于測(cè)試訓(xùn)練后神經(jīng)網(wǎng)絡(luò)的均衡效果[5]。仿真信道的誤碼率為2.050 1×10-3。圖2為系統(tǒng)訓(xùn)練過(guò)程的誤碼個(gè)數(shù)曲線,初始過(guò)程誤碼數(shù)量急劇增加,但從第1 900個(gè)碼元開始不再產(chǎn)生錯(cuò)誤信息,因此該BP神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)1 900個(gè)碼元后完成了內(nèi)部參數(shù)調(diào)整并能起到均衡效果。
圖2 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程誤碼個(gè)數(shù)統(tǒng)計(jì)
訓(xùn)練完成后,使用90 000個(gè)碼元測(cè)試訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)誤碼率曲線如圖3所示??梢?jiàn),經(jīng)過(guò)訓(xùn)練序列訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)均衡器能夠起到很好的均衡作用。
圖3 BP神經(jīng)網(wǎng)絡(luò)測(cè)試過(guò)程誤碼統(tǒng)計(jì)結(jié)果
使用訓(xùn)練序列定期訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方式會(huì)給通信系統(tǒng)增加額外的數(shù)據(jù)負(fù)擔(dān),占用通信資源而盲均衡可以在不需要訓(xùn)練序列的情況下實(shí)現(xiàn)自適應(yīng)均衡過(guò)程。由于接收信號(hào)自身含有發(fā)送信號(hào)的信息,因此用來(lái)計(jì)算誤差的期望信號(hào)能夠被接收信號(hào)判決值代替,這便是判決反饋盲均衡的原理[4]。圖4為判決反饋BP神經(jīng)網(wǎng)絡(luò)盲均衡仿真的誤碼數(shù)量曲線,從8 500個(gè)碼元開始,盡管系統(tǒng)產(chǎn)生的通信誤碼個(gè)數(shù)沒(méi)有急劇上升,但隨著通信碼元數(shù)量的增加,誤碼數(shù)量仍在逐步增多。
為了充分排除網(wǎng)絡(luò)前期調(diào)整過(guò)程中累積的誤碼數(shù)量對(duì)誤碼率的影響,從第8 500個(gè)碼元處開始計(jì)算誤碼率,結(jié)果如圖5所示。
通過(guò)圖4、圖5的結(jié)果可知,在信道高誤碼率情況下采用判決反饋方案,由于多徑效應(yīng)而導(dǎo)致的誤碼在一定程度上能被BP神經(jīng)網(wǎng)絡(luò)均衡器糾正。只要傳輸?shù)拇a元數(shù)量夠多,神經(jīng)網(wǎng)絡(luò)能夠逐漸匹配信道。然而,這個(gè)收斂的過(guò)程相較于使用訓(xùn)練時(shí)要緩慢,且收斂后神經(jīng)網(wǎng)絡(luò)的均衡效果不佳,穩(wěn)定后依然會(huì)產(chǎn)生較多誤碼。而采用訓(xùn)練序列的方式時(shí),神經(jīng)網(wǎng)絡(luò)有很好的均衡效果。
圖4 BP神經(jīng)網(wǎng)絡(luò)判決反饋均衡器誤碼統(tǒng)計(jì)
圖5 誤碼率從第8 500個(gè)碼元處開始統(tǒng)計(jì)