欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于bp神經(jīng)網(wǎng)絡(luò)的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮方法

文檔序號(hào):7510258閱讀:347來(lái)源:國(guó)知局
專利名稱:一種基于bp神經(jīng)網(wǎng)絡(luò)的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)嵌入式系統(tǒng)中數(shù)據(jù)壓 縮解壓縮的方法。
背景技術(shù)
目前,市場(chǎng)對(duì)嵌入式系統(tǒng)產(chǎn)品的需求不斷增長(zhǎng)。但由于嵌入式系統(tǒng)在成本、體 積、存儲(chǔ)容量、功耗、速度、處理能力等多方面受到制約,龐大的數(shù)據(jù)量已經(jīng)成為 嵌入式系統(tǒng)辭典機(jī)發(fā)展的一個(gè)瓶頸。如果能夠?qū)?shù)據(jù)進(jìn)行壓縮,減小數(shù)據(jù)的存儲(chǔ)空 間,就能夠降低產(chǎn)品的成本,增強(qiáng)產(chǎn)品的競(jìng)爭(zhēng)力。因此,數(shù)據(jù)壓縮技術(shù)己成為嵌入 式系統(tǒng)發(fā)展的一項(xiàng)關(guān)鍵技術(shù)。
由于嵌入式系統(tǒng)本身的局限性,如運(yùn)行速度不夠高,硬件資源有限,同時(shí)又需 要完成許多控制功能等,因此就決定了嵌入式系統(tǒng)不可能使用在PC機(jī)上常用的具 有較高壓縮率的復(fù)雜技術(shù)(如WINRAR、 WINZIP),而應(yīng)當(dāng)探索適合于嵌入式系統(tǒng) 的數(shù)據(jù)壓縮技術(shù)。
在許多實(shí)際情況下,數(shù)據(jù)壓縮過(guò)程可以在PC機(jī)上完成,在嵌入式系統(tǒng)中存放 的是壓縮后的數(shù)據(jù),只需要對(duì)數(shù)據(jù)進(jìn)行解壓就可以了。因此,在壓縮過(guò)程中主要考 慮的是壓縮率,對(duì)壓縮算法的實(shí)現(xiàn)速度要求不是太高;而在解壓過(guò)程中,則需要一 種簡(jiǎn)單、快捷、占用資源少、容易實(shí)現(xiàn)的解壓方法。
如圖1所示,傳統(tǒng)數(shù)據(jù)壓縮的方法很多,比如Huffinan編碼、算術(shù)編碼、字典 編碼、游程編碼、預(yù)測(cè)編碼等,它們基于不同的理念,適合不同的數(shù)據(jù)類型,并產(chǎn) 生不同的效果,但原理都是相同的,即通過(guò)去除源文件的原始數(shù)據(jù)中的冗余度來(lái)壓 縮數(shù)據(jù)。傳統(tǒng)的壓縮方法主要基于減少信息中的冗余,著力于編碼設(shè)計(jì),高概率出 現(xiàn)的符號(hào)具有低的信息內(nèi)容,只需要較少的位來(lái)編碼。雖然傳統(tǒng)壓縮方法已經(jīng)取得 了許多成就,但是傳統(tǒng)方法在壓縮比方面很難取得進(jìn)一步的進(jìn)展。另外,許多原始 數(shù)據(jù)經(jīng)過(guò)傳統(tǒng)編碼壓縮之后仍有很高的冗余度,仍然有很大的壓縮"空間",但卻很 難再經(jīng)類似的方法進(jìn)一步壓縮。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于BP神經(jīng)網(wǎng)絡(luò),通過(guò)構(gòu) 造特殊的映射關(guān)系,從而實(shí)現(xiàn)更高壓縮比的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮方法。人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)是由大量簡(jiǎn)單的高度互聯(lián)的 處理元素(神經(jīng)元)所組成的復(fù)雜網(wǎng)絡(luò)計(jì)算系統(tǒng)。
1986年,Rumelhart和McCelland領(lǐng)導(dǎo)的科學(xué)家小組對(duì)具有非線性連續(xù)轉(zhuǎn)移函 數(shù)的多層前饋網(wǎng)絡(luò)的誤差反向傳播(Error Back Propagation,簡(jiǎn)稱BP)算法進(jìn)行了 詳盡的分析,實(shí)現(xiàn)了Minsky關(guān)于多層網(wǎng)絡(luò)的設(shè)想。由于BP克服了簡(jiǎn)單感知機(jī)不能 解決的XOR和其他一些問(wèn)題,所以BP模型已成為神經(jīng)網(wǎng)絡(luò)的重要模型之一,并得 以廣泛使用。
基于BP算法的三層前饋網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖2所示,由輸入層、中間層(隱 層)和輸出層組成。三層前饋網(wǎng)絡(luò)中,輸入向量X-(xl ,x2 , ... ,xi,... xn)T,如加入乂0 = -1,可為隱層引入閾值;隱層輸出向量Y-(yl , y2 ,... yj , ... , ym)T,如加入yO--l,可為輸出層引入閾值;輸出向量為0 = (01 o2, ... ,ok , ... ,ol)T,期望輸出向量為D-(dl ,d2 , ... , dk ,... dl )T。輸入層到隱層間的權(quán)值矩陣用V表示,V= (vl , v2 , ... , vj ,... vm)T,其中vj為隱層第j個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)向量;隱層到輸出層間的權(quán)值矩陣用 W表示,W = ( wl , w2 , ... , wk , ... , wl )T,其中wk為輸出層第k 個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)向量。下面分析各層信號(hào)之間的數(shù)學(xué)關(guān)系。
對(duì)于輸出層,有
<formula>formula see original document page 5</formula>對(duì)于隱層,有
Xi =f(netj) j = l,2,...,m
""y = Z j = l,2,...,m 式(1)和式(3)中,轉(zhuǎn)移函數(shù)f(x)均為單極性Sigmoid函數(shù)
/\ 乂 1 + e x 其曲線如圖3所示。f(x)具有連續(xù)、可導(dǎo)的特點(diǎn),且有
<formula>formula see original document page 5</formula>
式(1) 式(6)共同構(gòu)成了三層BP網(wǎng)絡(luò)的模型。
BP網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程由兩部分組成工作信號(hào)正向傳播和誤差信號(hào)反向傳播。當(dāng)
工作信號(hào)正向傳播時(shí),輸入信息從輸入層經(jīng)隱單元層處理后傳向輸出層,每一層神 經(jīng)元的狀態(tài)只影響下一層的神經(jīng)元狀態(tài)。如果在輸出層得不到希望的輸出,則轉(zhuǎn)入 誤差信號(hào)反向傳播,將誤差信號(hào)沿原來(lái)的神經(jīng)元連接通路返回,并逐一修改各層神 經(jīng)元連接的權(quán)值。這種過(guò)程不斷迭代,最后使得信號(hào)誤差達(dá)到允許的范圍之內(nèi)。 神經(jīng)網(wǎng)絡(luò)可以通過(guò)學(xué)習(xí)得到輸入與指定輸出的映射,神經(jīng)網(wǎng)絡(luò)具有神奇的非線
性映射能力。在1990年,Hornik等人就利用泛函分析方法證明了在很寬的條件下, 隱層神經(jīng)元足夠多的3層BP神經(jīng)網(wǎng)絡(luò)能夠以任意精度逼近任意連續(xù)函數(shù)及其各階 導(dǎo)數(shù)。
本發(fā)明的目的通過(guò)以下技術(shù)方案予以實(shí)現(xiàn)
本發(fā)明提供的一種基于BP神經(jīng)網(wǎng)絡(luò)的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮方法,包括 以下步驟
1) 神經(jīng)網(wǎng)絡(luò)模型的選擇
選擇基于BP算法的三層前饋網(wǎng)絡(luò)模型,其輸入層有12個(gè)神經(jīng)元,隱層有27 個(gè)神經(jīng)元,輸出層有12個(gè)神經(jīng)元,整個(gè)網(wǎng)絡(luò)共有3層51個(gè)神經(jīng)元;網(wǎng)絡(luò)中的聯(lián)接 權(quán)值共有648個(gè),閾值有51個(gè); 一般權(quán)值和閾值的初始值范圍是(-l, 1);
2) 映射關(guān)系的構(gòu)造
2-1)將待壓縮文件數(shù)據(jù)視為由0與1組成的bit長(zhǎng)串,以長(zhǎng)度為49152位的bit 串作為標(biāo)準(zhǔn)串;待壓縮bit串如果長(zhǎng)度大于49152位,則先拆分為若干個(gè)標(biāo)準(zhǔn)串, 再進(jìn)行壓縮;待壓縮bit串如果長(zhǎng)度小于49152位,則先用特殊字符擴(kuò)充為標(biāo)準(zhǔn)串, 再進(jìn)行壓縮;
2- 2)把待壓縮標(biāo)準(zhǔn)串按先后順序每12bit分成一行,則得到一個(gè)4096*12的大 型矩陣;在壓縮過(guò)程中把這個(gè)矩陣的行編號(hào)按先后順序單調(diào)遞增地進(jìn)行二進(jìn)制編碼, 則擴(kuò)充為12bit的二進(jìn)制編碼;對(duì)于一個(gè)由標(biāo)準(zhǔn)串組成的4096*12矩陣,12bit的行編 號(hào)和12 bit的行數(shù)據(jù)之間存在一個(gè)映射關(guān)系,每一個(gè)12bit的行號(hào)對(duì)應(yīng)著一個(gè)12bit 的行數(shù)據(jù);
3) 在PC機(jī)上對(duì)每一個(gè)標(biāo)準(zhǔn)串進(jìn)行基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)壓縮
3- 1)用所有的行編號(hào)和待壓縮標(biāo)準(zhǔn)串的對(duì)應(yīng)行數(shù)據(jù)學(xué)習(xí)訓(xùn)練所述的BP神經(jīng)網(wǎng) 絡(luò),即將行編號(hào)擴(kuò)充為12bit的二進(jìn)制編碼作為輸入模式,從輸入模式計(jì)算各隱層單元的輸出,然后計(jì)算輸出層各單元的輸出;訓(xùn)練時(shí)將所有神經(jīng)元的連接權(quán)值和閾 值都精確到小數(shù)點(diǎn)后兩位;
3-2)將與行編號(hào)對(duì)應(yīng)的待壓縮標(biāo)準(zhǔn)串中的行數(shù)據(jù)作為教師信號(hào),計(jì)算輸出層各 單元的誤差;選定網(wǎng)絡(luò)的某一狀態(tài)為穩(wěn)態(tài),在該狀態(tài)下輸出值和期望值之間的誤差 絕對(duì)值小于0.5;
3-3)在穩(wěn)態(tài)時(shí),順序選取所有神經(jīng)元的連接權(quán)值和閾值并對(duì)它們依次進(jìn)行二進(jìn) 制編碼,即為每個(gè)權(quán)值和閾值提供16位編碼,其中l(wèi)位是符號(hào)位,l位是小數(shù)點(diǎn)記 號(hào)位,7位用于小數(shù)點(diǎn)后兩位的編碼,7位用于小數(shù)點(diǎn)前整數(shù)的編碼;所得到的二進(jìn) 制編碼即為壓縮結(jié)果; -
3- 4)將每一個(gè)標(biāo)準(zhǔn)串的壓縮結(jié)果依次寫入壓縮后的數(shù)據(jù)文件中;
4) 把所述壓縮后的數(shù)據(jù)文件下載到嵌入式系統(tǒng)中,在嵌入式系統(tǒng)中進(jìn)行網(wǎng)絡(luò)重 建,并應(yīng)用重建后的網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)解壓
4- 1)按順序把壓縮結(jié)果中的二進(jìn)制編碼轉(zhuǎn)換成為相應(yīng)神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值, 利用這些值重建穩(wěn)態(tài)時(shí)的BP神經(jīng)網(wǎng)絡(luò);
4-2)把行編號(hào)依次按照遞增的順序逐個(gè)輸入恢復(fù)好的BP神經(jīng)網(wǎng)絡(luò)中,所得到
的輸出結(jié)果就是相應(yīng)12位行數(shù)據(jù)的近似值;
4-3)將每個(gè)輸出結(jié)果加0.5后取整,則得到原來(lái)的12位行數(shù)據(jù);
4-4)按單增順序把所有行編號(hào)輸入BP神經(jīng)網(wǎng)絡(luò),按上述步驟計(jì)算后,得到的
所有輸出就是所有行編號(hào)對(duì)應(yīng)的所有行數(shù)據(jù),將這些行數(shù)據(jù)按順序連接起來(lái)則得到
原來(lái)的標(biāo)準(zhǔn)串;
5) 將解壓縮得到的每一個(gè)標(biāo)準(zhǔn)串依次寫入解壓縮后的數(shù)據(jù)文件中;
6) 從解壓縮后的數(shù)據(jù)文件的末尾開(kāi)始,往前掃描,刪除文件尾出現(xiàn)的所有特殊字符。
本發(fā)明基于的BP神經(jīng)網(wǎng)絡(luò),具有神奇的非線性映射能力,帶隱含層的神經(jīng)網(wǎng) 絡(luò)可實(shí)現(xiàn)任意非線性函數(shù)關(guān)系的映射。因此,可以利用適當(dāng)?shù)纳窠?jīng)網(wǎng)絡(luò)去模擬行編 號(hào)和行數(shù)據(jù)之間的映射關(guān)系。這樣,通過(guò)建立從占用信號(hào)空間較少的信息到占用信 號(hào)空間較多的信息之間的映射關(guān)系,利用占用信號(hào)空間較少的信息表示占用信號(hào)空 間較多的信息達(dá)到數(shù)據(jù)壓縮的目的,從而突破了傳統(tǒng)的只依靠編碼減少數(shù)據(jù)冗余的 局限性,能夠?qū)崿F(xiàn)更高的壓縮比。根據(jù)建立的網(wǎng)絡(luò)模型分析得到數(shù)據(jù)壓縮比為
壓縮前數(shù)據(jù)長(zhǎng)度__待壓縮標(biāo)準(zhǔn)串長(zhǎng)度_
壓縮后數(shù)據(jù)長(zhǎng)度—648個(gè)權(quán)值的二進(jìn)制編碼長(zhǎng)度+ 51個(gè)閾值的二進(jìn)制編碼長(zhǎng)度
49152 =^~~ = 4.39 (648 + 51) x 16
由于數(shù)據(jù)壓縮過(guò)程中神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練運(yùn)算量相當(dāng)大,往往會(huì)花費(fèi)很長(zhǎng)的時(shí) 間,而嵌入式系統(tǒng)的資源又很有限,為此將數(shù)據(jù)壓縮過(guò)程中神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練等 運(yùn)算量大的工作放在PC機(jī)上進(jìn)行。當(dāng)網(wǎng)絡(luò)收斂后,將壓縮結(jié)果存入一個(gè)文件,把 該文件下載到嵌入式系統(tǒng)中,在嵌入式系統(tǒng)中進(jìn)行網(wǎng)絡(luò)重建,應(yīng)用重建后的網(wǎng)絡(luò)進(jìn) 行數(shù)據(jù)解壓。這樣,在實(shí)際情況下,壓縮過(guò)程在PC機(jī)上完成,在嵌入式系統(tǒng)中其 實(shí)只需要對(duì)數(shù)據(jù)進(jìn)行解壓就可以了。而基于神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)壓縮方案的解壓過(guò)程比 較簡(jiǎn)便、快捷、占用資源少、容易實(shí)現(xiàn),因而對(duì)于資源有限的嵌入式系統(tǒng)能夠很好 地滿足實(shí)時(shí)性的要求。
為獲得滿意的壓縮比,根據(jù)需要本發(fā)明對(duì)所述步驟3)獲得的壓縮數(shù)據(jù)可重復(fù)進(jìn) 行壓縮。從理論上說(shuō),可以重復(fù)多次壓縮信息,以達(dá)到理想的壓縮比。但因多次壓 縮需經(jīng)多次解壓才能還原,因此壓縮次數(shù)不應(yīng)超過(guò)一定限度,以避免壓縮時(shí)間和解 壓時(shí)間增加到不可忍受的地步。
由于BP神經(jīng)網(wǎng)絡(luò)的思想方法不同于基于熵編碼(哈夫曼編碼、算術(shù)編碼、字 典編碼、游程編碼等)的算法,而且BP網(wǎng)絡(luò)具有自學(xué)習(xí)能力,可以進(jìn)一步找出熵 編碼沒(méi)有找出的規(guī)律。因此,本發(fā)明所述待壓縮文件數(shù)據(jù)可以為已經(jīng)用熵編碼壓縮 過(guò)的數(shù)據(jù),即可以有效地對(duì)巳經(jīng)用熵編碼壓縮過(guò)的數(shù)據(jù)進(jìn)行再壓縮,這樣便可以和 各種傳統(tǒng)壓縮方案配合使用,以進(jìn)一步提高壓縮效果。
本發(fā)明具有以下有益效果
1) 突破了傳統(tǒng)的只依靠編碼減少數(shù)據(jù)冗余的局限性,能夠?qū)崿F(xiàn)更高的壓縮比。
2) 可以重復(fù)多次壓縮數(shù)據(jù),以達(dá)到理想的壓縮比。可根據(jù)需要選擇壓縮次數(shù), 以滿足實(shí)時(shí)性要求。
3) 能夠進(jìn)一步尋找熵編碼沒(méi)有找出的規(guī)律,可以有效地壓縮已經(jīng)用熵編碼壓縮 過(guò)的數(shù)據(jù)。當(dāng)傳統(tǒng)算法已經(jīng)把冗余減到最低限度時(shí),本發(fā)明還可以用更少的信息來(lái) 表示冗余度很低的這些信息,從而最大限度地壓縮信號(hào)空間。
4) 把數(shù)據(jù)壓縮過(guò)程中神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練等運(yùn)算量大的工作放在PC機(jī)上進(jìn) 行,當(dāng)網(wǎng)絡(luò)收斂后,將壓縮結(jié)果存入一個(gè)文件,把該文件下載到嵌入式系統(tǒng)中,在 嵌入式系統(tǒng)中進(jìn)行網(wǎng)絡(luò)重建,應(yīng)用重建后的網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)解壓,這樣就能很好地達(dá)
到實(shí)時(shí)的要求?;贐P神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)解壓方法比較快捷、簡(jiǎn)便、容易實(shí)現(xiàn),因
而適合于資源有限、實(shí)時(shí)性要求較高的嵌入式系統(tǒng)。


下面將結(jié)合實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述
圖1是現(xiàn)有技術(shù)中數(shù)據(jù)壓縮方法的分類示意圖2是基于BP算法的三層前饋網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖3是單極性S型轉(zhuǎn)移函數(shù)曲線圖4是本發(fā)明實(shí)施例數(shù)據(jù)壓縮總體工作流程框圖5是本發(fā)明實(shí)施例數(shù)據(jù)壓縮算法(包括學(xué)習(xí)過(guò)程)工作流程框圖; 圖6是本發(fā)明實(shí)施例數(shù)據(jù)解壓縮總體工作流程框圖; 圖7是本發(fā)明實(shí)施例數(shù)據(jù)解壓縮算法工作流程框圖; 圖8是本發(fā)明實(shí)施例與LZSS編碼相結(jié)合示意圖。
具體實(shí)施例方式
圖4 圖8所示為本發(fā)明的實(shí)施例,包括以下步驟
1) 神經(jīng)網(wǎng)絡(luò)模型的選擇
選擇基于BP算法的三層前饋網(wǎng)絡(luò)模型,其輸入層有12個(gè)神經(jīng)元,隱層有27 個(gè)神經(jīng)元,輸出層有12個(gè)神經(jīng)元,整個(gè)網(wǎng)絡(luò)共有3層51個(gè)祌經(jīng)元;網(wǎng)絡(luò)中的聯(lián)接 權(quán)值共有648個(gè),閾值有51個(gè); 一般權(quán)值和閾值的初始值范圍是(-l, 1)。
2) 映射關(guān)系的構(gòu)造
2-1)如圖4所示,將待壓縮文件或數(shù)據(jù)視為由O與l組成的bit長(zhǎng)串,以長(zhǎng)度為 49152位的bit串作為標(biāo)準(zhǔn)串;順序掃描該bit長(zhǎng)串,依次取出"標(biāo)準(zhǔn)串",即長(zhǎng)度 為49152 bit ( 2A12 * 12 = 4096*12 )的bit串,若到了接近文件末尾的地方,剩余的 數(shù)據(jù)長(zhǎng)度可能會(huì)小于49152 bit,則用特殊字符擴(kuò)充為標(biāo)準(zhǔn)串。
2-2)把待壓縮標(biāo)準(zhǔn)串按先后順序每12bit分成一行,則得到一個(gè)4096 (即2A12) 行的大型矩陣;在壓縮過(guò)程中把這個(gè)矩陣的行編號(hào)按先后順序單調(diào)遞增地進(jìn)行二進(jìn) 制編碼,可以擴(kuò)充為12bit的二進(jìn)制編碼。例如,第O行編號(hào)為000000000000;第l
行編號(hào)為000000000001;......;第4095行編號(hào)為111111111111。對(duì)于一個(gè)由標(biāo)
準(zhǔn)串組成的4096*12矩陣,12 bit的行編號(hào)和12 bit的行數(shù)據(jù)之間存在一個(gè)映射關(guān)系, 每一個(gè)12 bit的行號(hào)對(duì)應(yīng)著一個(gè)12 bit的行數(shù)據(jù)。
假設(shè)待壓縮標(biāo)準(zhǔn)串為S = bl b2 b3 ...... b49151 b49152 ,行編號(hào)和待壓縮
標(biāo)準(zhǔn)串的行數(shù)據(jù)之間的映射關(guān)系M如下所示
行編號(hào) 映射關(guān)系M 待壓縮標(biāo)準(zhǔn)串的行數(shù)據(jù)
000000000000 -^ b! b2 b3 b4b5b6b7b8b9 b10 bu b12
bi3b14 ......... b22b23 b24
b25 b26 b27 ......... b34 b35 b36
111111111110 _ b49129 b49130 b49131 ......... b49i3g b49139 b4W40
111111111111 -^ b49141 b49142 b49143 ......... b49150 &49151 b49152
3) 在PC機(jī)上對(duì)每一個(gè)標(biāo)準(zhǔn)串進(jìn)行基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)壓縮
3-1)如圖5所示,用所有的行編號(hào)和待壓縮標(biāo)準(zhǔn)串的對(duì)應(yīng)行數(shù)據(jù)學(xué)習(xí)訓(xùn)練所述 的BP神經(jīng)網(wǎng)絡(luò),即將行編號(hào)擴(kuò)充為12bit的二進(jìn)制編碼作為輸入模式,從輸入模式 計(jì)算各隱層單元的輸出,然后計(jì)算輸出層各單元的輸出;訓(xùn)練時(shí)將所有神經(jīng)元的連 接權(quán)值和閾值都精確到小數(shù)點(diǎn)后兩位;
3-2)將與行編號(hào)對(duì)應(yīng)的待壓縮標(biāo)準(zhǔn)串中的行數(shù)據(jù)作為教師信號(hào),計(jì)算輸出層各 單元的誤差;選定網(wǎng)絡(luò)的某一狀態(tài)為穩(wěn)態(tài),在該狀態(tài)下輸出值和期望值之間的誤差 絕對(duì)值小于0.5;
3-3)在穩(wěn)態(tài)時(shí),順序選取所有神經(jīng)元的連接權(quán)值和閾值并對(duì)它們依次進(jìn)行二進(jìn) 制編碼,即為每個(gè)權(quán)值和閾值提供16位編碼,其中l(wèi)位是符號(hào)位,l位是小數(shù)點(diǎn)記 號(hào)位,7位用于小數(shù)點(diǎn)后兩位的編碼,7位用于小數(shù)點(diǎn)前整數(shù)的編碼;所得到的二進(jìn) 制編碼即為壓縮結(jié)果;
3- 4)將每一個(gè)標(biāo)準(zhǔn)串的壓縮結(jié)果依次寫入壓縮后數(shù)據(jù)文件中;
4) 如圖6所示,把所述壓縮后的數(shù)據(jù)文件下載到嵌入式系統(tǒng)中,在嵌入式系統(tǒng) 中進(jìn)行網(wǎng)絡(luò)重建,并應(yīng)用重建后的網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)解壓
4- 1)將壓縮后數(shù)據(jù)文件視為由O與l組成的bit長(zhǎng)串,順序掃描該bit長(zhǎng)串,依 次取出一個(gè)長(zhǎng)度為(648+51)X 16 = 11184 (648個(gè)權(quán)值的二進(jìn)制編碼長(zhǎng)度+51個(gè)閾值 的二進(jìn)制編碼長(zhǎng)度)的bit串;如圖7所示,按順序把壓縮結(jié)果中的二進(jìn)制編碼轉(zhuǎn)
換成為相應(yīng)神經(jīng)網(wǎng)絡(luò)的權(quán)值或閾值,具體轉(zhuǎn)換方式是每16位二進(jìn)制編碼對(duì)應(yīng)一個(gè)權(quán) 值或閾值,其中1位是符號(hào)位,1位是小數(shù)點(diǎn)記號(hào)位,7位用于小數(shù)點(diǎn)后兩位的編碼, 7位用于小數(shù)點(diǎn)前整數(shù)的編碼,利用轉(zhuǎn)換后獲得的這些權(quán)值和閾值重建穩(wěn)態(tài)時(shí)的BP 神經(jīng)網(wǎng)絡(luò);
4-2)把行編號(hào)依次按照遞增的順序逐個(gè)輸入恢復(fù)好的BP神經(jīng)網(wǎng)絡(luò)中,所得到
的輸出結(jié)果就是相應(yīng)12位行數(shù)據(jù)的近似值;
4-3)將每個(gè)輸出結(jié)果加0.5后取整,則得到原來(lái)的12位行數(shù)據(jù);
4-4)按單增順序把所有行編號(hào)輸入BP神經(jīng)網(wǎng)絡(luò),按上述步驟計(jì)算后,得到的
所有輸出就是所有行編號(hào)對(duì)應(yīng)的所有行數(shù)據(jù),將這些行數(shù)據(jù)按順序連接起來(lái)則得到
原來(lái)的標(biāo)準(zhǔn)串(長(zhǎng)度為49152 bit);
5) 將解壓縮得到的每一個(gè)標(biāo)準(zhǔn)串依次寫入解壓縮后的數(shù)據(jù)文件中;
6) 從解壓縮后的數(shù)據(jù)文件的末尾開(kāi)始,往前掃描,刪除文件尾出現(xiàn)的所有特殊 字符。
為獲得滿意的壓縮比,根據(jù)需要可以對(duì)經(jīng)過(guò)步驟3)獲得的壓縮數(shù)據(jù)重復(fù)進(jìn)行壓 縮。從理論上說(shuō),可以重復(fù)多次壓縮信息,以達(dá)到理想的壓縮比。但因多次壓縮需 經(jīng)多次解壓才能還原,因此壓縮次數(shù)不應(yīng)超過(guò)一定限度,以避免壓縮時(shí)間和解壓時(shí) 間增加到不可忍受的地步。
此外,本實(shí)施例待壓縮的文件數(shù)據(jù)可以為已經(jīng)用熵編碼壓縮過(guò)的數(shù)據(jù),即可以 有效地對(duì)已經(jīng)用熵編碼壓縮過(guò)的數(shù)據(jù)進(jìn)行再壓縮,這樣便可以和各種傳統(tǒng)壓縮方案 配合使用,以進(jìn)一步提高壓縮效果。例如,如圖8所示,可以與LZSS編碼相結(jié)合, 可以進(jìn)一步提高壓縮比。
權(quán)利要求
1、一種基于BP神經(jīng)網(wǎng)絡(luò)的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮方法,其特征在于包括以下步驟1)神經(jīng)網(wǎng)絡(luò)模型的選擇選擇基于BP算法的三層前饋網(wǎng)絡(luò)模型,其輸入層有12個(gè)神經(jīng)元,隱層有27個(gè)神經(jīng)元,輸出層有12個(gè)神經(jīng)元,整個(gè)網(wǎng)絡(luò)共有3層51個(gè)神經(jīng)元;網(wǎng)絡(luò)中的聯(lián)接權(quán)值共有648個(gè),閾值有51個(gè);一般權(quán)值和閾值的初始值范圍是(-1,1);2)映射關(guān)系的構(gòu)造2-1)將待壓縮文件數(shù)據(jù)視為由0與1組成的bit長(zhǎng)串,以長(zhǎng)度為49152位的bit串作為標(biāo)準(zhǔn)串;待壓縮bit串如果長(zhǎng)度大于49152位,則先拆分為若干個(gè)標(biāo)準(zhǔn)串,再進(jìn)行壓縮;待壓縮bit串如果長(zhǎng)度小于49152位,則先用特殊字符擴(kuò)充為標(biāo)準(zhǔn)串,再進(jìn)行壓縮;2-2)把待壓縮標(biāo)準(zhǔn)串按先后順序每12bit分成一行,則得到一個(gè)4096*12的大型矩陣;在壓縮過(guò)程中把這個(gè)矩陣的行編號(hào)按先后順序單調(diào)遞增地進(jìn)行二進(jìn)制編碼,則擴(kuò)充為12bit的二進(jìn)制編碼;對(duì)于一個(gè)由標(biāo)準(zhǔn)串組成的4096*12矩陣,12bit的行編號(hào)和12bit的行數(shù)據(jù)之間存在一個(gè)映射關(guān)系,每一個(gè)12bit的行號(hào)對(duì)應(yīng)著一個(gè)12bit的行數(shù)據(jù);3)在PC機(jī)上對(duì)每一個(gè)標(biāo)準(zhǔn)串進(jìn)行基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)壓縮3-1)用所有的行編號(hào)和待壓縮標(biāo)準(zhǔn)串的對(duì)應(yīng)行數(shù)據(jù)學(xué)習(xí)訓(xùn)練所述的BP神經(jīng)網(wǎng)絡(luò),即將行編號(hào)擴(kuò)充為12bit的二進(jìn)制編碼作為輸入模式,從輸入模式計(jì)算各隱層單元的輸出,然后計(jì)算輸出層各單元的輸出;訓(xùn)練時(shí)將所有神經(jīng)元的連接權(quán)值和閾值都精確到小數(shù)點(diǎn)后兩位;3-2)將與行編號(hào)對(duì)應(yīng)的待壓縮標(biāo)準(zhǔn)串中的行數(shù)據(jù)作為教師信號(hào),計(jì)算輸出層各單元的誤差;選定網(wǎng)絡(luò)的某一狀態(tài)為穩(wěn)態(tài),在該狀態(tài)下輸出值和期望值之間的誤差絕對(duì)值小于0.5;3-3)在穩(wěn)態(tài)時(shí),順序選取所有神經(jīng)元的連接權(quán)值和閾值并對(duì)它們依次進(jìn)行二進(jìn)制編碼,即為每個(gè)權(quán)值和閾值提供16位編碼,其中1位是符號(hào)位,1位是小數(shù)點(diǎn)記號(hào)位,7位用于小數(shù)點(diǎn)后兩位的編碼,7位用于小數(shù)點(diǎn)前整數(shù)的編碼;所得到的二進(jìn)制編碼即為壓縮結(jié)果;3-4)將每一個(gè)標(biāo)準(zhǔn)串的壓縮結(jié)果依次寫入壓縮后的數(shù)據(jù)文件中;4)把所述壓縮后的數(shù)據(jù)文件下載到嵌入式系統(tǒng)中,在嵌入式系統(tǒng)中進(jìn)行網(wǎng)絡(luò)重建,并應(yīng)用重建后的網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)解壓4-1)按順序把壓縮結(jié)果中的二進(jìn)制編碼轉(zhuǎn)換成為相應(yīng)神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,利用這些值重建穩(wěn)態(tài)時(shí)的BP神經(jīng)網(wǎng)絡(luò);4-2)把行編號(hào)依次按照遞增的順序逐個(gè)輸入恢復(fù)好的BP神經(jīng)網(wǎng)絡(luò)中,所得到的輸出結(jié)果就是相應(yīng)12位行數(shù)據(jù)的近似值;4-3)將每個(gè)輸出結(jié)果加0.5后取整,則得到原來(lái)的12位行數(shù)據(jù);4-4)按單增順序把所有行編號(hào)輸入BP神經(jīng)網(wǎng)絡(luò),按上述步驟計(jì)算后,得到的所有輸出就是所有行編號(hào)對(duì)應(yīng)的所有行數(shù)據(jù),將這些行數(shù)據(jù)按順序連接起來(lái)則得到原來(lái)的標(biāo)準(zhǔn)串;5)將解壓縮得到的每一個(gè)標(biāo)準(zhǔn)串依次寫入解壓縮后的數(shù)據(jù)文件中;6)從解壓縮后的數(shù)據(jù)文件的末尾開(kāi)始,往前掃描,刪除文件尾出現(xiàn)的所有特殊字符。
2、 根據(jù)權(quán)利要求1所述的基于BP神經(jīng)網(wǎng)絡(luò)的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮方法, 其特征在于對(duì)所述步驟3)獲得的壓縮數(shù)據(jù)可重復(fù)進(jìn)行壓縮。
3、 根據(jù)權(quán)利要求1或2所述的基于BP神經(jīng)網(wǎng)絡(luò)的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮 方法,其特征在于所述待壓縮文件數(shù)據(jù)為已經(jīng)用熵編碼壓縮過(guò)的數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種基于BP神經(jīng)網(wǎng)絡(luò)的嵌入式系統(tǒng)數(shù)據(jù)壓縮解壓縮方法,包括以下步驟1)神經(jīng)網(wǎng)絡(luò)模型的選擇;2)映射關(guān)系的構(gòu)造;3)在PC機(jī)上對(duì)每一個(gè)標(biāo)準(zhǔn)串進(jìn)行基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)壓縮;4)在嵌入式系統(tǒng)中進(jìn)行基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)解壓;5)將解壓獲得的標(biāo)準(zhǔn)串依次寫入解壓縮后的數(shù)據(jù)文件中;6)刪除文件尾出現(xiàn)的所有特殊字符。本發(fā)明利用神經(jīng)網(wǎng)絡(luò)模擬行編號(hào)和行數(shù)據(jù)之間的映射關(guān)系,從而利用占用信號(hào)空間少的信息表示占用信號(hào)空間多的信息來(lái)達(dá)到數(shù)據(jù)壓縮的目的,突破了傳統(tǒng)的只依靠編碼減少數(shù)據(jù)冗余的局限性,能夠?qū)崿F(xiàn)更高的壓縮比。此外可以重復(fù)多次壓縮數(shù)據(jù),以達(dá)到滿意的壓縮比。并且可以有效地壓縮已經(jīng)用熵編碼壓縮過(guò)的數(shù)據(jù),從而進(jìn)一步提高壓縮效果。
文檔編號(hào)H03M7/30GK101183873SQ20071003235
公開(kāi)日2008年5月21日 申請(qǐng)日期2007年12月11日 優(yōu)先權(quán)日2007年12月11日
發(fā)明者王建民, 羅笑南, 鄒才鳳 申請(qǐng)人:中山大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
连城县| 临高县| 佛学| 西华县| 宁化县| 凌源市| 博罗县| 舞钢市| 汉阴县| 苏尼特右旗| 阿合奇县| 景洪市| 丰原市| 台东市| 滁州市| 永嘉县| 兴和县| 乌恰县| 三明市| 泸溪县| 报价| 石渠县| 且末县| 榕江县| 连南| 鄯善县| 桃园市| 咸宁市| 衡东县| 芜湖市| 鄂温| 海盐县| 仲巴县| 边坝县| 镇赉县| 巴彦县| 塔河县| 灵璧县| 临安市| 灯塔市| 万荣县|