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