新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應用 > BP神經(jīng)網(wǎng)絡圖像壓縮算法乘累加單元的FPGA設(shè)計

BP神經(jīng)網(wǎng)絡圖像壓縮算法乘累加單元的FPGA設(shè)計

作者: 時間:2009-11-12 來源:網(wǎng)絡 收藏


0 引 言
神經(jīng)網(wǎng)絡(Neural Networks)是人工神經(jīng)網(wǎng)絡(Ar-tificial Neural Networks)的簡稱,是當前的研究熱點之一。人腦在接受視覺感官傳來的大量圖像信息后,能迅速做出反應,并能在腦海中重現(xiàn)這些圖像信息,這不僅與人腦的海量信息存儲能力有關(guān),還與人腦的信息處理能力,包括數(shù)據(jù)壓縮能力有關(guān)。在各種神經(jīng)網(wǎng)絡中,多層前饋神經(jīng)網(wǎng)絡具有很強的信息處理能力,由于其采用BP,因此也稱為。采用模型能完成圖像數(shù)據(jù)的壓縮處理。在中,神經(jīng)網(wǎng)絡的處理優(yōu)勢在于:巨量并行性;信息處理和存儲單元結(jié)合在一起;自組織自學習功能。
與傳統(tǒng)的數(shù)字信號處理器DSP(Digital Signal Processor)相比,現(xiàn)場可編程門陣列(Field Programma-ble Gate Array,)在神經(jīng)網(wǎng)絡的實現(xiàn)上更具優(yōu)勢。DSP處理器在處理時采用指令順序執(zhí)行的方式,而且其數(shù)據(jù)位寬是固定的,因而資源的利用率不高,限制了處理器的數(shù)據(jù)吞吐量,還需要較大的存儲空間。處理數(shù)據(jù)的方式是基于硬件的并行處理方式,即一個時鐘周期內(nèi)可并行完成多次運算,特別適合于神經(jīng)網(wǎng)絡的并行特點,而且它還可以根據(jù)設(shè)計要求配置硬件結(jié)構(gòu),例如根據(jù)實際需要,可靈活設(shè)計數(shù)據(jù)的位寬等。隨著數(shù)字集成電路技術(shù)的飛速發(fā)展,芯片的處理能力得到了極大的提升,已經(jīng)完全可以承擔神經(jīng)網(wǎng)絡數(shù)據(jù)壓縮處理的運算量和數(shù)據(jù)吞吐量。是信息傳輸和存儲系統(tǒng)的關(guān)鍵技術(shù),然而如何進行FPGA設(shè)計,以實現(xiàn)給定的功能已經(jīng)成為神經(jīng)網(wǎng)絡應用的關(guān)鍵。
基于以上原因,選擇FPGA作為三層的實現(xiàn)方式,提出了具體的一種實現(xiàn)方案,并對其中的重點單元進行了FPGA設(shè)計與仿真驗證。

本文引用地址:http://butianyuan.cn/article/191891.htm


1 BP神經(jīng)網(wǎng)絡圖像壓縮
一般習慣將單隱層前饋網(wǎng)稱為三層前饋網(wǎng),它包括輸入層、隱含層和輸出層。三層BP神經(jīng)網(wǎng)絡結(jié)構(gòu)如圖1所示,原始數(shù)據(jù)節(jié)點和重建數(shù)據(jù)節(jié)點構(gòu)成節(jié)點數(shù)較大的外層(輸入層和輸出層),而中間的具有較小節(jié)點數(shù)的細腰層即構(gòu)成壓縮結(jié)果。其基本思想是強迫原始數(shù)據(jù)通過細腰型網(wǎng)絡瓶頸,并期望在網(wǎng)絡的瓶頸處能獲得較為緊湊的數(shù)據(jù)表示,以達到壓縮的目的。在網(wǎng)絡的學習過程中,通過BP訓練算法,調(diào)整網(wǎng)絡的權(quán)重,使重建圖像在均方誤差意義上盡可能近似于訓練圖像。經(jīng)過訓練的網(wǎng)絡即可用來執(zhí)行數(shù)據(jù)壓縮任務,網(wǎng)絡輸入層與隱含層之間的加權(quán)值相當于一個編碼器,隱含層與輸出層之間的加權(quán)相當于一個解碼器。從輸入端輸入的原始圖像數(shù)據(jù)經(jīng)過神經(jīng)網(wǎng)絡的處理,在隱含層得到的輸出數(shù)據(jù)就是原始圖像的壓縮編碼,而輸出層矢量即為解壓后重建的圖像數(shù)據(jù)。

BP神經(jīng)網(wǎng)絡用于圖像編碼的壓縮比與輸入層和隱含層的節(jié)點數(shù)有關(guān):
壓縮比一輸入層節(jié)點數(shù)(n)/隱含層節(jié)點數(shù)(m)
因此一般來說采用不同數(shù)目的隱含層神經(jīng)元就可實現(xiàn)同一圖像的不同壓縮比。
三層BP前饋網(wǎng)中輸入向量X=x(x1,x2,…,xi,…,xn)T,隱含層輸出向量Y=y(y1,y2,…,yi,…,ym)T,輸出層輸出向量O=O(O1,O2,…,Ok,…,Ol)T,期望輸出向量d=d(d1,d2,…,dk,…,dl)T,輸入層到隱含層的權(quán)值向量V=v(v1,v2,…,vj,…,vm)T,其中vj為隱含層第j個神經(jīng)元對應的權(quán)值向量;隱含層到輸出層的權(quán)值向量W=W(w1,w2,…,wk,…wl)T,其中wk為輸出層第k個神經(jīng)元對應的權(quán)值向量;隱含層的閾值向量θ=(θ1,θ2,…,θi,…,θm)T;輸出層的閾值向量γ=(γ1,γ2,…,γk,…,γl)T。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉