FPGA實現(xiàn)自建式模糊類神經(jīng)網(wǎng)路的推論輸出_第1頁
FPGA實現(xiàn)自建式模糊類神經(jīng)網(wǎng)路的推論輸出_第2頁
FPGA實現(xiàn)自建式模糊類神經(jīng)網(wǎng)路的推論輸出_第3頁
FPGA實現(xiàn)自建式模糊類神經(jīng)網(wǎng)路的推論輸出_第4頁
FPGA實現(xiàn)自建式模糊類神經(jīng)網(wǎng)路的推論輸出_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、FPGA實現(xiàn)自建式模糊類神經(jīng)網(wǎng)路的推論輸出林瑞昌2 翁萬德1 薛仲達1 沈仲晃21國立雲(yún)林科技大學電機工程系 2南開技術學院電資學群.tw摘 要SCFNN(Self constructing fuzzy neural network)是一個可即時學習自行建立系統(tǒng)的模糊類神經(jīng)網(wǎng)路12。以FPGA硬體實現(xiàn)模糊類神經(jīng)網(wǎng)路的論文也陸續(xù)被發(fā)表16,17,但是具自建結構與學習能力的模糊類神經(jīng)硬體網(wǎng)路比較少見。硬體實現(xiàn)SCFNN,必須對原始的演算法與方程式略作修改以適用於硬體實現(xiàn)。本小組進行SCFNN數(shù)位通道等化器模擬與FPGA硬體實現(xiàn)實現(xiàn)已一段時間18。受限於篇幅本文簡短描述SCF

2、NN的演算法與修改SCFNN的推論輸出演算法成為可硬體實現(xiàn)的形式。1 簡介類神經(jīng)網(wǎng)路在通訊領域有廣泛的應用範圍 1,因其輸出入間的非線性對應關係很適用於非線性分類問題,因此使用類神經(jīng)網(wǎng)路來執(zhí)行等化器工作是適當?shù)?。較常用來處理數(shù)位通道等化問題的類神經(jīng)網(wǎng)路有多層神經(jīng)元類神經(jīng)網(wǎng)路 ( multi layer perceptron ,MLP ) 2、輻狀基底類神經(jīng)網(wǎng)路 ( radial basis function, RBF ) 3、回授型類神經(jīng)網(wǎng)路 ( recurrent neural network, RNN ) 4、函數(shù)鏈結人工類神經(jīng)網(wǎng)路 ( functional link artificial

3、 neural network, FLANN ) 5。近來以模糊類神經(jīng)網(wǎng)路理念建立系統(tǒng)模型的做法逐漸風行,在很多領域諸如:控制、通訊、系統(tǒng)辨識都有工程人員建立模糊類神經(jīng)網(wǎng)路去解決他們所碰到的問題 6-7。專業(yè)人員以適當?shù)姆椒ǘǔ瞿:?guī)則與類神經(jīng)網(wǎng)路結構,並輔以適當演算法調(diào)整歸屬函數(shù)與類神經(jīng)網(wǎng)路鏈結參數(shù),完成學習動作後的模糊類神經(jīng)網(wǎng)路即代替過去系統(tǒng)的數(shù)學模型來操控系統(tǒng)。除此之外,模糊類神經(jīng)網(wǎng)路相較於單獨的使用模糊推論方法或類神經(jīng)網(wǎng)路,模糊類神經(jīng)網(wǎng)路方法包含上述二個方法的優(yōu)點,它將低階學習與類神經(jīng)網(wǎng)路的計算能量帶入模糊系統(tǒng),也將高階類似人類思考模式與模糊系統(tǒng)的推論引入類神經(jīng)網(wǎng)路 8-9。Juang

4、 10等提出一個具有線上自建構能力的類神經(jīng)模糊推論網(wǎng)路 ( on-line self-constructing neural fuzzy inference network, SONFIN ),在線上學習期間,SONFIN可同時進行結構與相關參數(shù)調(diào)整機制找出結構的最佳參數(shù),因此SONFIN不必事先指定任何模糊規(guī)則,即使面對一個複雜系統(tǒng)的模型,也能產(chǎn)生適當?shù)臍w屬函數(shù)與規(guī)則。經(jīng)過不同領域像控制、通訊、信號處理的模擬,他們證實SONFIN可以應用在數(shù)種領域。Lin 11等提出SCFNN並實現(xiàn)於永久磁鐵式同步馬達速度控制器 ( speed controller for permanent-magnet

5、ic synchronous motor drive ),這是一個具有線上結構學習與參數(shù)學習能力的模糊類神經(jīng)網(wǎng)路,相較於SONFIN的複雜與實用性較困難,SCFNN的推論輸出與參數(shù)學習都較為簡單容易實現(xiàn)。而ANFIS ( artificial neural fuzzy inference system ) 在1993年由Jang 12所提出是近年來頗具代表性的類神經(jīng)模糊推論系統(tǒng),在不同的領域有許多成功的應用實例,例如Altug的馬達故障偵測系統(tǒng) 13、Djukanovic的動態(tài)電力負載系統(tǒng) 14、Chang的水庫即時操作系統(tǒng) 15。貝氏最佳解法 ( Bayesian decision theo

6、ry ) 首先計算測試樣本與所有訓練樣本之間的歐式距離 ( Euclidean distance ),再依計算結果判別測試中的樣本對應輸出值應是1或0,亦即分析訓練樣本的群聚現(xiàn)象,直接計算判別測試樣本的輸出。本論文描述以FPGA ( field programmable gate array ) 硬體實現(xiàn)SCFNN的部份動作?;旧嫌搀w實現(xiàn)SCFNN數(shù)位通道等化器已由本實驗室開發(fā)完成,在維持SCFNN原始演算法精神下,本小組提出適合硬體實現(xiàn)的改良演算法,並且利用分時多工的方法大幅降低了硬體成本,我們也對硬體化的效能做詳細的評估與分析,受限於篇幅此次論文僅描述修改SCFNN的自建結構成為在FPG

7、A環(huán)境下可以執(zhí)行的形式。2 SCFNN結構與推論輸出SCFNN是一個四層結構的模糊類神經(jīng)網(wǎng)路,圖1是SCFNN的結構,運作之初僅有輸入節(jié)點與輸出節(jié)點,隨著即時學習 ( on line learning ) 的進行,訓練樣本逐一進入SCFNN,然後是結構學習、計算推論輸出值、參數(shù)學習三個動作直至學習完成。所謂學習完成有兩個要點,一是建立完整的模糊規(guī)則其次是調(diào)整相關參數(shù)至最佳值?;叵?( recalling ) 是SCFNN另外一個重要的動作,也可以說是測試學習完成的SCFNN工作表現(xiàn)。以本文模擬的數(shù)位通道信號重建為例,我們將失真信號輸入給完成學習動作的SCFNN,檢視SCFNN輸出,並與正確輸出

8、值比較,計算位元錯誤率就是SCFNN的回想動作。SCFNN的推論輸出值依下列的過程計算:Layer 1:此層是輸入節(jié)點,數(shù)位序列r1(k)與r2(k)透過此節(jié)點進入下一層,並沒有計算動作。其中r1(k):傳送端經(jīng)通道效應與白色高斯雜訊後的同相數(shù)位序列ri(k);r2(k):傳送端經(jīng)通道效應與白色高斯雜訊後的正交相數(shù)位序列rq(k)。Layer 2:此層的每一節(jié)點相當於是第一層輸入變數(shù)的語意項 ( linguistic label ),亦即算出輸入變數(shù)i屬於此歸屬函數(shù)的程度Aji,本研究中採用高斯函數(shù)做為歸屬函數(shù) ( membership function )(1)mji:信號ri(k)對第j個

9、歸屬函數(shù)的中點(mean);ji :信號ri(k)對第j個歸屬函數(shù)的標準差 ( standard deviation )。Layer 3:此層的每一節(jié)點表示模糊規(guī)則的後鍵部 ( consequent part ),其函數(shù)是 (2)亦即此層各節(jié)點的輸出是輸入信號的乘積。Layer 4:此層僅有一個節(jié)點主要的動作是解模糊化 ( defuzzify ),若以表示推論輸出值,則 (3)其中 表示第三層的輸出,表示第三層每一節(jié)點與第四層輸出節(jié)點之間的鏈結權重,M是系統(tǒng)學習過程中已建立的規(guī)則數(shù)。圖1 自建型模糊類神經(jīng)網(wǎng)路結構圖3 SCFNN 結構學習演算法當?shù)谝还P訓練樣本進入,則SCFNN直接建立2個高斯

10、型歸屬函數(shù),以輸入變數(shù)值為高斯函數(shù)中點m,標準差採固定值,完成第一個模糊規(guī)則建立SCFNN的雛形。自第二筆訓練樣本起,對已建立之歸屬函數(shù)依公式(1),求出2M個歸屬函數(shù)值(M是目前已存在的歸屬函數(shù)數(shù)目)。接著,在每一組Aj1與Aj2中,尋找較小的值令為Aj,min,並且在所有的Aj,min中,尋找出最大的值令為Amax。最後,將Amax與既定值Umin做比較,若Amax大於Umin則表示目前規(guī)則適當可涵蓋所有資料分佈,不必增加新的規(guī)則,否則需建立一個新的規(guī)則以涵蓋這筆資料;亦即第二層每群增加一個歸屬函數(shù),增加的兩個歸屬函數(shù)平均值mji分別等於r1(k)與r2(k),標準差ji則採隨機值。因為後

11、續(xù)尚需調(diào)整,第三層增加一個乘積運作節(jié)點,鏈結權重值j亦採隨機值。這個動作在每筆訓練樣本進入SCFNN時都會執(zhí)行一次,Umin的數(shù)值設定為0.01以控制建立規(guī)則數(shù)在一定範圍內(nèi)。4 SCFNN參數(shù)學習演算法SCFNN的參數(shù)學習與計算推論輸出值方向相反,由離輸出端最近的參數(shù)先調(diào)整,逐步調(diào)整相關的參數(shù)。首先定義誤差函數(shù)E如下: (4)y:對應每一訓練樣本的正確輸出值,y*:SCFNN推論輸出值。Layer 4:鏈結權重j變化量j及更新方式如下: (5)其中j是第三層節(jié)點編號,是計算鏈結權重差距量的係數(shù).。計算出鏈結權重j的變化量,j之後,以 (6)更新j,其中N是樣本序號。Layer 3:歸屬函數(shù)的平

12、均值 (mean)與標準差 (standard deviation)之差距量公式如下: (7) (8)上式中分別是歸屬函數(shù)平均值與標準差差距量的係數(shù),可用錯誤嘗試法調(diào)整以得到較快較好的收斂。接著以 (9) (10)更新高斯歸屬函數(shù)的與。每一筆訓練樣本進入SCFNN,上述三個動作都需完整執(zhí)行一次,所有訓練樣本都執(zhí)行過一次叫一個學習循環(huán) (learning cycle),一般用均方根值 (mean square error,MSE)評估SCFNN是否完成學習,均方根值的定義如下式: (11)P:總訓練樣本數(shù),y:期望輸出值或正確輸出值,y*:SCFNN推論輸出值。在模擬過程中,為了達即時控制效果,

13、我們都僅執(zhí)行一個學習循環(huán)。5 SCFNN推論輸出的硬體實現(xiàn)在圖2中,因為考慮到結構自建的因素,而將完整的推論輸出部份切割分成前推論輸出與後推論輸出兩部份,其細部方塊圖如圖3(a)(b)所示。圖3(a)即是前推論輸出部份,此圖在實體上存在著相同的兩個部份,一個輸入為ri,另一個的輸入則為rq,基於圖形的簡單化,只畫出一組為示意圖。前推論輸出部份的輸入變數(shù)為r (ri與rq),系統(tǒng)參數(shù)m (m1與m2)與(1與2),輸出值為與。其中r為通訊系統(tǒng)接收端所接受到的信號大小,在此系統(tǒng)中以15位元的定點數(shù)來表示,最高1位元表示符號,接下來的2位元表示整數(shù),剩下的12位元均用來表示小數(shù)。m為系統(tǒng)參數(shù),就是高

14、斯歸屬函數(shù)中的平均值參數(shù),其定點數(shù)的表示方式也跟r是相同地。系統(tǒng)參數(shù)也是高斯歸屬函數(shù)中的標準差參數(shù),其只用了9位元來表示。此參數(shù)只有正數(shù),故不用符號位元,整數(shù)用1位元表示,8位元表示小數(shù)。輸出值由1-bit sign與16-bits unsigned number所組成,儲存到暫存器供參數(shù)修正使用。為12-bits unsigned number,此數(shù)值為前推輸出部份的最後一級輸出,提供到結構學習運算,決定是否進行結構增加。圖2 (a) SCFNN運作流程 (b) 訓練過程運作流程圖3 (a) 前推論輸出部份圖3 (b) 後推論輸出部分(12)根據(jù)公式(1)-(3),我們推導出公式(12),以

15、清楚的表示整個推論輸出得運算過程。並且此公式簡化了原始的演算法,將原來的exp(a)*exp(b)化簡成exp(a+b),間接的影響了之後硬體實現(xiàn)的成本。依照公式(12)運算的順序,從最高順序的括弧算起由內(nèi)到外,第一個運算是r(k)-m,配合到圖3(a)即做減法運算,其結果為16-bits signed number??山逵捎^察圖3(a)可得知,下一個運算方塊為除法運算,此除法器方塊為無號數(shù)除法。因此,必須將符號與數(shù)值分開表示,將其轉換為1-bit sign與16-bits unsigned number。經(jīng)除法器運算可得到1-bit signed與16-bits unsigned numbe

16、r,此數(shù)值部份為12位元表示整數(shù),4位元表示小數(shù)。在實際的運算上,的數(shù)值範圍大約介於-4到4之間,故整數(shù)部分並不需要用到12位元來表示。為了節(jié)省運算量與硬體成本,我們在除法器之後增加了限制器,此運算並不包含在原始演算法裡。限制器將16-bits unsigned number縮減到6-bits unsigned number,僅用2位元表示整數(shù),小數(shù)部份依舊用4位元表示。限制器的輸出除了進入乘法器做平方運算,另一方面則儲存到暫存器供參數(shù)修正使用。此乘法器的大小為輸入6*6-bits,輸出為12-bits unsigned number (整數(shù)4位元,小數(shù)8位元)。前推論輸出部份的運算至此已經(jīng)告

17、一段落,接下來將進入結構學習的部份。但是,為求文章的一貫性,結構學習的部份將留待下一節(jié)再詳細說明,本節(jié)先只討論推論輸出部份。在完成結構學習的步驟後,即繼續(xù)執(zhí)行後推論輸出的部份,如圖3(b)所示。後推論輸出部分的輸入即為前推論輸出的輸出值,包含了兩個部份與。假若在經(jīng)過結構學習後,隱藏層的節(jié)點有再增加,則新增的節(jié)點其輸入值設定為0。為系統(tǒng)內(nèi)部參數(shù),屬於類神經(jīng)網(wǎng)路中的鏈結權重值,用13-bits signed number ( 1-bit符號,1-bit整數(shù),12-bits小數(shù)) 來表示。第一個輸出值u只有正數(shù),故只需用10-bits unsigned number所表示,其所有位元均為小數(shù);第二個

18、輸出值u由1-bit sign與13-bits unsigned number ( 1-bit整數(shù),12-bits小數(shù)) 所組成,以上兩個輸出值均儲存到暫存器供參數(shù)修正使用。後推論輸出的最後一級輸出值為y*,為整個SCFNN的最終結果,用15-bits signed number ( 1-bit符號,2-bits整數(shù),12-bits小數(shù)) 來表示。圖3所顯示的後推論輸出是公式(12)的運算流程。首先,將兩部分的做相加運算,得到結果為13-bits unsigned number ( 5-bits整數(shù),8-bits小數(shù))。藉由觀察公式(12)顯示,接下來要做的運算為exp(-S),S為加法器的輸

19、出。對於exp(-S)的運算,我們採用查表法的方式來實現(xiàn),將對映到exp(-S)的數(shù)值儲存到唯讀記憶體。爲了減少記憶體的容量,先在exp(-S)查表前先加入一個限制器,exp(-S)函數(shù)映射到的數(shù)值範圍,輸入一但超過7,其輸出可視為0。限制器將數(shù)值限制在8以下;此外,小數(shù)也只需取到10-bits即可達到精確度的要求。因此,限制器的輸出為11-bits unsigned number ( 3-bits整數(shù),8-bits小數(shù))。唯讀記憶體為11-bits的輸入,輸出10-bits unsigned number,由於exp()函數(shù)的輸出並無負數(shù),故不需符號位元。換言之,此唯讀記憶體有11條位址線,

20、共有2048個位址,每個位址儲存10-bits的資料。若未加入限制器,則此記憶體的容量會是目前的4倍。如此,以增加限制器的成本來換取記憶體容量是很劃算的考量。查表所得到的值將會先儲存到暫存器,供參數(shù)學習使用。在做乘法前,必須先將由14-bits signed number轉換成1-bit sign與13-bits unsigned number,才能送到乘法器做無號數(shù)乘法。乘法器的輸出為1-bit sign與23-bits unsigned number ( 1-bit整數(shù),22-bits小數(shù)),而小數(shù)只需要取12-bits即足夠,變成13-bits unsigned number ( 1-b

21、it整數(shù),12-bits小數(shù))。根據(jù)圖3(b)所示,輸出值u依然存到暫存器供參數(shù)學習使用。依照公式(12),將所有的項做加總動作即可得到最後的推論輸出值。此加總的作法,在本文中採用階層式加法器來完成。所謂的階層式加法器即為一個狀似二元樹的加法器,每一個節(jié)點都是一個加法器。再加入一個限制器,將其範圍限制在-4到4之間,輸出為15-bits signed number ( 1-bit符號,2-bits整數(shù),12-bits小數(shù))。最後,將推論輸出值y*儲存到暫存器中,送到差距量方塊計算差距量,即成完整的推論輸出部份。6 結論本文數(shù)位通道等化器為範例簡短描述自建型模糊類神經(jīng)網(wǎng)路(SCFNN)的演算法與

22、硬體實現(xiàn)SCFNN推論輸出的技術。硬體實現(xiàn)過程中加上部分限制器,雖然會引起些許誤差但都在可接受範圍之內(nèi);規(guī)劃部分暫存器儲存重複使用的資料;指數(shù)計算部份則以查表法處理,上述皆對執(zhí)行速度有顯著的助益。本研究小組進行SCFNN數(shù)位通道等化器模擬與FPGA硬體實現(xiàn)實現(xiàn)已一段時間18。受限於篇幅本文簡短描述SCFNN的演算法與SCFNN的推論輸出演算法硬體實現(xiàn)的技術。參考文獻1 M. Ibnkahla. Applications of neural networks to digital communications. Signal Processing, pp. 1185-1215, 80(2000)

23、.2 S. Chen, G. Gibson, C. Cowan, and P. Grant. Adaptive equalization of finite non-linear channels using multi-layer perceptron. Signal Processing, pp.107-119, 20(1990).3 S. Chen, B. Mulgrew, and P. M. Grant. A clustering technique for digital communica- tion channel equalization. IEEE Trans. on Sig

24、nal Processing, pp. 107-119, 20(1990).4 G. Kechriotis, E. Zervas, and E. S. Manolakos. Using recurrent neural networks for adaptive communication channel equalization. IEEE Trans. on Neural Networks, vol. 5, pp. 267- 278, Mar. 1994.5 J. C. Patra, R. N. Pal, R. Baliarsinghn and G. Panda. Nonlinear ch

25、annel equalization for QAM signal constellation using artificial neural networks. IEEE Trans. on System, Man, Cybernetics, vol. 29, no. 2, Apr. 1999.6 S. Ong, S. Choi, C. You and D. Hong. A decision feedback recurrent equalizer for digital communication. IEEE Trans. on magnetic, vol. 33, pp. 2967-29

26、69, Sep. 1997.7 S. Horokawa, T. Furnhashi, and Y. Uchikawa. On fuzzy modeling using neural networks with the backpropagation algorithm. IEEE Trans. on Neural Networks, vol. 3, pp. 801- 806, Sep. 1992.8 Y. Lin and G. A. Cunningham. A new approach to fuzzy-neural system modeling. IEEE Trans. on Fuzzy

27、System, vol. 3, pp. 190-197, May 1995.9 B. Kosko. Neural networks and fuzzy systems. Englewood Cliffs, NJ: Prentice-Hall, 1992.10 C. T. Lin. Neural fuzzy control systems with structure and parameter learning. New York: World Scientific, 1994.11 I. Cha and S. Kassam. Channel equalization using adapti

28、ve complex radial basis function networks. IEEE J. Select. Areas Commun., vol. 13, pp122-131, Jan. 1995.12 F. J. Lin, C. H. Lin, and P. H. Shen, Self-constructing fuzzy neural network speed controller for permanent-magnetic synchro- nous motor drive, IEEE Trans. on Fuzzy System, vol. 9, no.5, pp.751-759, Oct. 2001.13 J. Shing and R. Jang. ANFIS: Adaptive- network-based fuzzy inference system. IEEE Trans. on Systems, Man, and Cybernetics, vol. 23, no.3, pp. 665-685, May/Jun. 1993.14 Altug S., Chow M. Y. and Trussell H. J. Fuzzy inference system implemented on neural network

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論