羅 山
(攀枝花學(xué)院交通與汽車工程學(xué)院,四川 攀枝花 617000)
BP神經(jīng)網(wǎng)絡(luò)已成為一種新的圖像壓縮模型,但由于隨機(jī)產(chǎn)生的初始權(quán)值和閾值,導(dǎo)致網(wǎng)絡(luò)收斂速度慢、易收斂到局部最優(yōu)、模型計(jì)算精度不高等缺陷。文獻(xiàn)[1]設(shè)計(jì)并實(shí)現(xiàn)了基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)壓縮算法,壓縮性能有所提高。文獻(xiàn)[2]提出一種基于遺傳算法的混合智能學(xué)習(xí)算法,克服了BP算法收斂速度慢和易局部收斂的缺陷,取得了很好的壓縮效果。但遺傳算法存在運(yùn)算量大、易早熟收斂,重建圖像質(zhì)量差等缺陷。而天牛須搜索(Beetle Antennae Search,BAS)算法[3,4]是受天牛覓食行為的啟發(fā)而提出的一種智能優(yōu)化算法,具有計(jì)算量小、尋優(yōu)速度快、算法簡單等優(yōu)點(diǎn)。文獻(xiàn)[5]提出BAS-BP模型并用于風(fēng)暴潮災(zāi)害損失預(yù)測,該方法克服了訓(xùn)練時(shí)間長、收斂速度慢等缺點(diǎn)。文獻(xiàn)[6]提出了采用BAS優(yōu)化BP神經(jīng)網(wǎng)絡(luò)擬合測距模型,克服了對數(shù)衰減模型易受環(huán)境干擾、參數(shù)取經(jīng)驗(yàn)值等問題,該方法收斂速度快,定位精度更高。
在前人研究的基礎(chǔ)上,本文首次將BAS用于BP神經(jīng)網(wǎng)絡(luò)的圖像壓縮中。利用BAS求得BP神經(jīng)網(wǎng)絡(luò)最優(yōu)的初始權(quán)值和閾值,建立BAS-BP網(wǎng)絡(luò)壓縮模型,實(shí)現(xiàn)交通圖像的壓縮與重建。最后進(jìn)行仿真實(shí)驗(yàn),對壓縮方法進(jìn)行比較分析,驗(yàn)證了本方法的有效性。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)[7]是一種典型的前向神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)包括輸入層、隱含層和輸出層。其基本原理為:首先信號從輸入層輸入到隱含層,經(jīng)過非線性運(yùn)算后輸入到輸出層,再經(jīng)過輸出層處理后得到前向傳播的輸出;然后計(jì)算輸出層的輸出與期望輸出的誤差,如果誤差不滿足設(shè)定的精度要求,則將誤差由輸出層經(jīng)隱含層反向傳回輸入層,并利用梯度下降算法對輸入層到隱含層、隱含層到輸出層的權(quán)值和閾值進(jìn)行修正,結(jié)束一次訓(xùn)練。這兩個(gè)過程不斷循環(huán)進(jìn)行,直到網(wǎng)絡(luò)誤差滿足要求或達(dá)到設(shè)定的訓(xùn)練次數(shù)為止。
圖1為BP神經(jīng)網(wǎng)絡(luò)的交通圖像壓縮模型。將輸入圖像分成大小為n×n的塊,塊中的每一個(gè)像素點(diǎn)對應(yīng)一個(gè)神經(jīng)元,因此輸入層和輸出層神經(jīng)元個(gè)數(shù)等于塊的大小。壓縮的基本原理是輸入圖像到網(wǎng)絡(luò)中訓(xùn)練得到最優(yōu)的網(wǎng)絡(luò),再根據(jù)輸入圖像、權(quán)值和閾值計(jì)算隱含層的輸出,輸出結(jié)果即為壓縮數(shù)據(jù),并將其保存;解壓時(shí),加載壓縮數(shù)據(jù),根據(jù)壓縮數(shù)據(jù)、權(quán)值和閾值計(jì)算輸出層的輸出,即為重建圖像。隱含層的神經(jīng)元個(gè)數(shù)比輸入層和輸出層的神經(jīng)元個(gè)數(shù)要少才能實(shí)現(xiàn)壓縮??梢姡瑝嚎s比和重建圖像的質(zhì)量隨隱含層神經(jīng)元個(gè)數(shù)的變化而變化,隱含層神經(jīng)元個(gè)數(shù)越少,壓縮比越高,但重建圖像的質(zhì)量會(huì)下降。
圖1 BP網(wǎng)絡(luò)的交通圖像壓縮模型
BAS算法的基本原理為:當(dāng)天牛尋找食物時(shí),并不知道食物的具體位置,而是依據(jù)它的兩只觸須感知到食物氣味的強(qiáng)弱來覓食,如果左邊觸須感知到的氣味比右邊強(qiáng),則天牛往左邊搜索,反之,則向右邊搜索。按照這一原理不斷搜索下去,最終天牛可以準(zhǔn)確地找到食物。其主要步驟[3]如下:
1) 創(chuàng)建表示天牛須朝向的單位隨機(jī)向量:
(1)
式中,rands()為產(chǎn)生隨機(jī)數(shù)的函數(shù);n為搜索空間的維數(shù)。
2) 建立天牛左右須的坐標(biāo)為:
(2)
式中,xlt、xrt分別為第t次迭代時(shí)天牛左須、右須的坐標(biāo);xt為第t次迭代時(shí)天牛質(zhì)心的坐標(biāo);d為天牛兩須間的距離。
3) 設(shè)計(jì)適應(yīng)度函數(shù)f(x),并計(jì)算左右須的適應(yīng)度函數(shù)值f(xlt)和f(xrt)。
4) 比較適應(yīng)度函數(shù)值的大小以確定搜索方向,并更新天牛質(zhì)心的坐標(biāo):
xt+1=xt+δt*m*sing[f(xlt)-f(xlt)].
(3)
式中,δt為第t次迭代時(shí)的步長;sign()為符號函數(shù)。
5) 更新距離和步長:
dt+1=eta_d*dt+0.01.
(4)
δt+1=eat_δ*δt.
(5)
式中,eta_d為距離衰減系數(shù);eat_δ為步長衰減系數(shù);均在(0,1)間取值。
BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中依靠誤差的變化率來調(diào)整權(quán)值和閾值,當(dāng)誤差的變化率趨于零時(shí),訓(xùn)練結(jié)束,從而獲得最優(yōu)的權(quán)值和閾值。但初始權(quán)值和閾值是隨機(jī)產(chǎn)生的,若選擇不當(dāng)會(huì)對網(wǎng)絡(luò)性能帶來不利影響。很多研究表明,采用優(yōu)化算法對網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化,可極大避免網(wǎng)絡(luò)收斂到局部最優(yōu)的問題,有效提升網(wǎng)絡(luò)的性能。本文利用BAS算法尋找網(wǎng)絡(luò)的最優(yōu)初始權(quán)值和閾值,并賦予給網(wǎng)絡(luò),從而建立BAS-BP網(wǎng)絡(luò)模型,步驟如下:
1) 創(chuàng)建BP網(wǎng)絡(luò)并設(shè)置參數(shù);
2) BAS算法參數(shù)初始化;
3) 產(chǎn)生[-1,1]間的隨機(jī)數(shù)作為天牛質(zhì)心的初始坐標(biāo);
4) 將網(wǎng)絡(luò)預(yù)測輸出值與樣本的實(shí)際值的均方誤差作為適應(yīng)度函數(shù),即:
.
(6)
式中,K為訓(xùn)練集樣本個(gè)數(shù);si、yi分別為第i個(gè)樣本的預(yù)測輸出值和實(shí)際值。根據(jù)式(6)計(jì)算初始坐標(biāo)的適應(yīng)度函數(shù)值;
5) 設(shè)網(wǎng)絡(luò)結(jié)構(gòu)為L-M-N,則搜索空間維數(shù)為n=M×L+N×M+M+N,利用式(1)創(chuàng)建天牛須朝向的單位隨機(jī)向量;
6) 根據(jù)式(2)確定天牛左、右須的坐標(biāo);
7) 根據(jù)式(6)求左、右須的適應(yīng)度函數(shù)值,并比較其大小,利用式(3)更新天牛質(zhì)心的坐標(biāo);
8) 計(jì)算當(dāng)前質(zhì)心坐標(biāo)的適應(yīng)度函數(shù)值,若此時(shí)的適應(yīng)度值小于前一次迭代的適應(yīng)度值,則更新適應(yīng)度值和質(zhì)心坐標(biāo);
9) 根據(jù)式(4)和式(5)更新距離和步長;
10) 如果迭代進(jìn)行到最大次數(shù)或者適應(yīng)度值達(dá)到預(yù)設(shè)的精度,則進(jìn)入步驟11),否則,返回步驟5);
11) 迭代結(jié)束時(shí),搜尋到的最佳質(zhì)心坐標(biāo)即為網(wǎng)絡(luò)的最優(yōu)初始權(quán)值和閾值,將其賦予網(wǎng)絡(luò),得到BAS-BP模型。
基于前述研究,BAS-BP模型的交通圖像壓縮算法步驟為:
1) 對圖像分塊,并歸一化處理,得到訓(xùn)練輸入數(shù)據(jù);
2) 輸入分塊圖像到BAS-BP模型中,獲得最優(yōu)的初始權(quán)值和閾值;
3) 根據(jù)最優(yōu)的初始權(quán)值和閾值對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到最優(yōu)的網(wǎng)絡(luò);
4) 計(jì)算隱含層的輸出,并保存壓縮數(shù)據(jù);
5) 載入壓縮數(shù)據(jù),計(jì)算輸出層的輸出;
6) 對輸出數(shù)據(jù)反歸一化,由數(shù)據(jù)塊重建圖像。
這里采用256×256的圖像,分成4×4的塊,將所有塊按行從左向右依次轉(zhuǎn)換為列向量,依次排列構(gòu)成矩陣作為訓(xùn)練輸入數(shù)據(jù)。BAS參數(shù)設(shè)為:距離衰減系數(shù)與步長衰減系數(shù)均為0.75,初始步長為30,兩須間的初始距離為6,迭代次數(shù)為50,適應(yīng)度值的精度為0.001。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為16-7-16,目標(biāo)誤差為0.001,訓(xùn)練步數(shù)為3000。實(shí)驗(yàn)結(jié)果如圖2、3所示,其中(b)、(c)為重建圖像。
圖2 不同壓縮算法效果對比(一)
為進(jìn)一步證實(shí)BAS-BP壓縮算法的性能,表1給出不同壓縮算法重建圖像的峰值信噪比(PSNR)和壓縮率(Rate)[8]。
表1 不同壓縮算法的性能比較
對比圖2、圖3的結(jié)果,BP算法的重建圖像中出現(xiàn)少許方塊效應(yīng),細(xì)節(jié)較模糊,有一定失真;而BAS-BP算法重建圖像效果良好,細(xì)節(jié)清晰。從表1可以看出,與BP算法相比,BAS-BP算法的壓縮率減少了0.12以上,峰值信噪比也有所提高,最高6個(gè)dB,極大提高了壓縮性能。可見,BAS-BP算法在重建圖像質(zhì)量與壓縮率方面均表現(xiàn)出優(yōu)越的性能,克服了BP算法的缺點(diǎn),并且運(yùn)算量小,為算法的實(shí)際應(yīng)用提供支撐。
圖3 不同壓縮算法效果對比(二)
針對BP算法的不足,利用BAS算法易于實(shí)現(xiàn)、運(yùn)算量小等優(yōu)點(diǎn),將其優(yōu)化BP網(wǎng)絡(luò)的初始權(quán)值和閾值,將優(yōu)化的網(wǎng)絡(luò)用于交通圖像壓縮,通過實(shí)驗(yàn)及對比分析證實(shí)了本算法的有效性。建立的BAS-BP壓縮模型能良好地實(shí)現(xiàn)交通圖像壓縮,壓縮性能有較大提高,但BAS的參數(shù)設(shè)置沒有理論依據(jù)指導(dǎo),要通過多次實(shí)驗(yàn)才能確定合適的值,并且壓縮性能還有待進(jìn)一步提高。因此在BAS算法和壓縮性能方面還值得進(jìn)一步研究。