摘要:對自組織特征映射(SOFM)神經(jīng)網(wǎng)絡(luò)學習算法進行闡述#65377;討論SOFM神經(jīng)網(wǎng)絡(luò)學習算法,通過研究基于SOFM學習算法的矢量碼書設(shè)計中存在的問題,提出一種改進算法#65377;最后把這種算法應(yīng)用在IP電話語音壓縮編碼的參數(shù)矢量量化上#65377;計算機仿真結(jié)果表明,SOFM神經(jīng)網(wǎng)絡(luò)對于語音碼書訓練是非常有效的,改進的SOFM學習算法能夠大大減少訓練時間,提高整個系統(tǒng)的性能#65377;
關(guān)鍵詞:SOFM神經(jīng)網(wǎng)絡(luò);學習算法;矢量量化;IP電話;語音壓縮編碼
中圖分類號:TP273+.21文獻標識碼:A
1引言
矢量量化(Vector Quantitation)作為一種高效的數(shù)據(jù)壓縮技術(shù)在語音#65380;圖像的壓縮編碼中獲得了廣泛的應(yīng)用#65377;由Shannon的率失真理論可知,它比標量量化能更有效地去除信號之間的相關(guān)性,獲得更高的壓縮比#65377;矢量量化的關(guān)鍵在于碼書(Codebook)的設(shè)計,碼書的好壞直接影響圖像#65380;語音編碼的質(zhì)量#65377;矢量量化的經(jīng)典方法是1980年由Linde#65380;Buzo#65380;Gray提出的GLA算法(也稱LBG),該算法理論依據(jù)充分#65380;推導過程嚴謹#65380;物理概念清晰#65380;通用性好且易于實現(xiàn)#65377;但也存在以下嚴重缺陷:(1)從碼書中搜索訓練矢量的最近碼字需要大量的存儲空間和煩瑣的計算;(2)初始碼書的選擇影響碼書訓練的收斂速度;(3)碼書的自適用能力不強#65377;為了解決這些問題,人們進行了許多研究與改進,其中用神經(jīng)網(wǎng)絡(luò)的方法設(shè)計碼書取得了很好的效果#65377;在各種神經(jīng)網(wǎng)絡(luò)模型中,Kohonen的自組織特征映射(SOFM)神經(jīng)網(wǎng)絡(luò)非常適合碼書的設(shè)計#65377;用SOFM神經(jīng)網(wǎng)絡(luò)設(shè)計的碼書,由于有受初始碼書影響小#65380;較強的抗信道誤碼能力#65380;適應(yīng)性強等特點,在性能上優(yōu)于GLA算法#65377;雖然該算法有上述優(yōu)點,但也存在網(wǎng)絡(luò)收斂速度較慢#65380;計算量太大的等缺點#65377;針對這些問題,本文提出了一種改進算法,該算法不僅改善了語音編碼質(zhì)量,同時大大降低了碼書的訓練時間#65377;
2SOFM網(wǎng)絡(luò)聚類算法分析
SOFM網(wǎng)絡(luò)也稱為Kohonen網(wǎng)絡(luò)#65377;Kohonen認為,神經(jīng)網(wǎng)絡(luò)在接受外界輸入時,將會分成不同的區(qū)域,不同的區(qū)域?qū)Σ煌哪J骄哂胁煌捻憫?yīng)特征,同時這一過程是自動完成的#65377;該網(wǎng)絡(luò)是一種具有側(cè)向聯(lián)想能力的神經(jīng)網(wǎng)絡(luò),其輸出節(jié)點呈二維陣列分布#65377;輸出節(jié)點與其鄰域和其它節(jié)點廣泛互連,互相激勵,在穩(wěn)定時每一鄰域的所有節(jié)點對某種輸入具有類似的輸出,并且這種聚類的概率分布與輸入模式的概率分布相接近#65377;計算技術(shù)與自動化2007年3月第26卷第1期譚建豪等:自組織特征映射網(wǎng)絡(luò)在壓縮編碼設(shè)計中的應(yīng)用
2.1輸入樣本模式
SOFM的輸入樣本模式一般為RN的矩陣,記作Xk,其中列數(shù)N為變量空間維數(shù),行數(shù)R為樣本數(shù)#65377;輸入樣本模式以長度為N的行向量輸入到每個神經(jīng)元#65377;
2.2網(wǎng)絡(luò)結(jié)構(gòu)
SOFM包含一個輸入層和一個二維輸出層,在這些輸出層上,分布著離散的神經(jīng)元,這些神經(jīng)元即為信息吸引點#65377;對于每個神經(jīng)元,都有一個長度為N的權(quán)值向量#65377;這些權(quán)值向量不是用于相互連接神經(jīng)元,而是用于連接輸入信號和每個神經(jīng)元,信號之間的相似性即表現(xiàn)在這些權(quán)值上#65377;SOFM就是通過這種方式將輸入樣本模式按其信息的相似性組織到各自的類中,同類中的成員具有相近的權(quán)值,不同類之間的權(quán)值存在明顯差別#65377;根據(jù)Melssen's 1994年的研究,建議結(jié)構(gòu)圖中采用的神經(jīng)元數(shù)目可依照2Me 2.3相似性標準 在網(wǎng)絡(luò)智能化之前,必須預(yù)先定義相似函數(shù)以衡量輸入樣本模式和類之間的相似性,這樣相近的模式就被組織到同類中,不同的模式就擊中不同的類#65377;相似性越差,擊中的類之間的距離就越遠#65377;目前比較常用的相似性檢測方法是Euclidean距離函數(shù),其表達式為:式中:ξki(t)為正則化的輸入樣本模式;wkij(t)為權(quán)值#65377; 2.4輸入樣本模式正則化 由于輸入樣本模式中某些變量的變化或分布范圍比較大,這些變量將會完全主導模式識別結(jié)果,從而屏蔽了其他變量的影響,因此輸入樣本模式在輸入網(wǎng)絡(luò)之前必須進行正則化處理#65377;其處理方式為:將 2.5網(wǎng)絡(luò)智能化 在進行網(wǎng)絡(luò)智能化時,首先,對所有權(quán)值向量進行隨機初始化#65377;然后,計算并比較相似距離函數(shù),其中的一些相似性較好的神經(jīng)元被選為信息吸收中心點#65377;假設(shè)神經(jīng)元j被選為中心點,隨著智能化過程的反復進行,j及其周邊神經(jīng)元的權(quán)值向量將依據(jù)式(7)被不斷更新#65377; 式中:η(t)為學習速率;rj(t)為邊境半徑;λ(rj(t))為邊境函數(shù),通常所使用的邊境函數(shù)為方波函數(shù)或?qū)ΨQ三角函數(shù)#65377; 邊境rj(t)之外的權(quán)值向量保持不變#65377;當所有的R個樣本都輸送到網(wǎng)絡(luò)之后,即完成了一次智能化過程,此時所有權(quán)值向量都收斂于穩(wěn)定值wkij#65377;如果還有新的輸入樣本模式則進入下一次循環(huán),直至所有輸入樣本模式被識別#65377; 2.6分析結(jié)果解釋 在完成網(wǎng)絡(luò)智能化之后,這些輸入樣本模式被依據(jù)其內(nèi)在的相關(guān)性被組織到結(jié)構(gòu)圖中,從而形成一定的空間結(jié)構(gòu),因此我們必須對該結(jié)構(gòu)圖進行物理意義上的解釋以尋求有用的信息#65377;通常的解釋方法有: (1)計數(shù)圖 主要用于分析信息吸引點的空間拓撲#65377;統(tǒng)計每個神經(jīng)元被擊中的次數(shù),然后描繪為二維或三維圖形,波峰處即為信息吸引中心點,也即我們所尋求的類#65377; (2)距離圖 主要用于分析權(quán)值#65377;隨機選取一個神經(jīng)元作為原點,然后依據(jù)式(8)計算所有其他點與該點之間的距離,從而得到距離圖#65377;距離圖對于分析類之間的差異程度非常有用#65377;假設(shè)有神經(jīng)元j1#65380;j2,而神經(jīng)元j1被選為原點,則j1與j2之間的距離可表示為: 2.7反正則化 在確定了類之后,對各自類所對應(yīng)的權(quán)值向量進行反正則化,即可獲得該類所代表的具體的變量取值范圍#65377;例如,神經(jīng)元為某一類的信心吸引中心,那么j中變量的反正則化處理方式可表示為:設(shè) 這樣,我們就可知道類j中,變量的平均值為ykij#65377; 3基于SOFM網(wǎng)絡(luò)的碼書設(shè)計 利用SOFM網(wǎng)絡(luò)設(shè)計碼書時,SOFM網(wǎng)絡(luò)由一個輸入層和一個輸出層組成,輸出層的節(jié)點是一個二維陣列,他們中的每個神經(jīng)元是輸出樣本的代表,每個輸入樣本模式通過權(quán)值和輸出層的每個節(jié)點(神經(jīng)元)相連#65377;該網(wǎng)絡(luò)的輸入節(jié)點個數(shù)和碼書維數(shù)相同,輸出節(jié)點個數(shù)等于碼書大小#65377;每個輸入節(jié)點通過可變權(quán)值與輸出節(jié)點相連,訓練結(jié)束后,所有的權(quán)值就構(gòu)成碼書#65377;另外每個輸出節(jié)點都有一個隨時間變化的拓撲鄰域,如圖1所示#65377; 圖1 輸出節(jié)點隨時間變化的拓撲鄰域[JZ)] 4改進的SOFM學習方法 基本的SOFM算法在選擇獲勝神經(jīng)元時需要計算輸入矢量和輸出矢量之間的歐氏距離,共 需要M次失真計算,那么N個輸入矢量需要進行MN次失真計算,如果平均迭代次數(shù)為R,則共需要MNR次失真計算,計算量相當大#65377;本文將引入一種改進的SOFM網(wǎng)絡(luò)學習算法,以提高系統(tǒng)性能#65380;減少搜索時間#65377;其算法原理如下: 定義矢量各分量的和為矢量的和值#65377;設(shè)訓練矢量Xki的和值為 因此,我們可從每次搜索獲勝神經(jīng)元前預(yù)先計算M個碼字的和值SYki j,j=1,2,…,M,并保存在碼書中#65377;在搜索 獲勝神經(jīng)元過程中,預(yù)先計算MD,然后判斷碼字Ykij的和值SY kij是否滿 足不等式(13)#65377;若滿足,則碼字Ykij可免去距離計算#65377;至此,改進的SOFM學 習算法可描述為: (1)初始化權(quán)值向量wkij(0); (2)計算當前碼書中個碼字Ykij的和值SYkij; (3)計算訓練矢量Xki的和值SXki,Xki以并行方式輸入到每個神經(jīng)元; (4)根據(jù)不等式(12)搜索與訓練矢量Xki距離最小的神經(jīng)元,并按式(15)調(diào)整碼矢及其鄰域的權(quán)值: 5計算機仿真及結(jié)果分析 為了驗證改進的SOFM優(yōu)越性,我們把它應(yīng)用在800 B/s速率的IP電話語音編碼模型(圖3)的VQ編碼器中#65377;圖2的主要原理是利用編碼速率為2.4KB/s的LPC-10模型產(chǎn)生一個800 B/s編碼器模型,應(yīng)用矢量量化技術(shù)使用與原來相同的比特來傳輸3幀原編碼數(shù)據(jù)#65377;矢量編碼器的作用是編碼10個線性預(yù)測系數(shù),其碼書大小為1024,即用10個比特來表示編碼索引,3個幀就用30個比特來表示#65377;碼書用10人(5男4女1小孩)大約30分鐘的隨機對話語音數(shù)據(jù)訓練產(chǎn)生#65377; 圖2 IP電話語音壓縮編碼原理圖 用GLA算法和基本的SOFM算法及改進的SOFM算法在計算機上對語音數(shù)據(jù)以22.5ms一幀的速率進行訓練#65377;我們來比較一下系統(tǒng)的性能和各種算法的訓練時間#65377; 表1三種算法仿真結(jié)果比較 峰值信噪比(dB)信噪比(dB)訓練時間 (s)GLA算法18.8315.6856基本的SOFM算法19.4517.0744改進的SOFM算法19.9117.5213從仿真結(jié)果看,SOFM算法優(yōu)于基于窮盡搜索的GLA算法,而改進的SOFM算法的訓練時間要遠低于基本的SOFM算法,系統(tǒng)性能也有較大提高#65377; 6結(jié)論 本文在基本的SOFM算法基礎(chǔ)上提出了一種改進的SOFM算法,并把它應(yīng)用在語音壓縮編碼的碼書設(shè)計上,設(shè)計的碼書效果較好,節(jié)省了大量的訓練時間#65377;通過計算機仿真實驗,可以看出,改進的SOFM算法比基本的SOFM算法在訓練時間上有很大縮短,在語音合成質(zhì)量上也有一些提高,平均可以提高0.4dB左右#65377; 注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。