基于FPGA的RBF神經網絡的硬件實現
摘要:介紹了RBF神經網絡,并采用CORDIC算法實現了其隱層非線性高斯函數的映射。同時,為縮減ROM表的存儲空間并提高查表效率,本設計還采用了基于STAM算法的非線性存儲。最后,以Altera公司開發(fā)的EDA工具QuarlusⅡ作為編譯、仿真平臺,采用Cyclone系列中的EP1C6Q 240C8器件,實現了RBF神經網絡在FPGA上的實現,并以XOR問題為算例進行硬件仿真,得出仿真結果與理論值一致。
關鍵詞:RBF神經網絡;FPCA;CORDIC;STAM
人工神經網絡廣泛應用于圖像處理、模式識別和自動控制等領域。但是,傳統(tǒng)的基于軟件實現的神經網絡,存在并行程度低、速度慢,計算速度無法滿足實時性的需求,造成了理論研究與實際應用脫節(jié)。因此,神經網絡的硬件實現是神經網絡研究的基本問題之一。神經網絡的硬件實現的最大特點就是體現了系統(tǒng)的并行性,處理速度快,易于滿足實時性要求。另外,算法的復雜程度以及在實際工程中應用的可行性仍需要通過硬件的實現效果來檢驗。因此,神經網絡的硬件實現意義重大。
1 RBF神經網絡的簡介
徑向基函數(Radial Basis Function,RBF)網絡是由Moody J和Darken C于20世紀80年代末提出的一種神經網絡結構,是一種有監(jiān)督的神經網絡。它是借鑒生物機制中的局部凋節(jié)及交叉接受區(qū)域知識的基礎上提出的一種采用局部接受域來執(zhí)行函數映射的人工神經網絡。RBF網絡最基本的構成包括3層,其結構如圖1所示,其中每一層都有著完全不同的作用。
輸入層由一些源點(感知單元)組成,他們將網絡與外界環(huán)境連接起來;第二層是網絡中僅有的一個隱層,它的作用是進行從輸入空間到隱層空間的非線性變換。隱層節(jié)點中的作用函數(基函數)對輸入信號將在局部產生響應,也就是說,當輸入信號靠近基函數的中央范圍時,隱層節(jié)點將產生較大的輸出,由此看出這種網絡具有局部逼近能力。輸出層是線性的,它為作用于輸入層的激活模式(信號)提供響應。
徑向基函數有多種形式,如:二次型、逆二次型或Gauss型等。若采用高斯函數作為徑向基函數,則神經元的輸出為:
上式中,m是隱含層結點數;‖·‖是歐幾里德范數;Ci和σi分別為與每個隱含層節(jié)點相關的參數向量的中心和寬度;ωi是第i個基函數與輸出結點的連接權值。
2 RBF網絡的FPGA實現
2.1 RBF單元中心Ci和半徑σi的確定
對各RBF的中心及半徑的確定通常有以下兩種方式:
1)根據經驗選中心。只要訓練樣本的分布能代表所給問題,可根據經驗選定均勻分布的m個中心,其間距離為d,則高斯函數的方差(即半徑σi)為,其中m為中心數。
2)用聚類方法,把樣本聚成幾類,以類中心為各RBF函數的中心。
首先,中心Ci確定。采用k-均值聚類分析技術確定Ci。找出有代表性的數據點(不一定位于原始數據點)作為RBF單元中心,從而極大地減少隱RBF單元數目,降低網絡復雜化程度。利用k-均值算法獲得各個聚類中心后,即可將之賦給各RBF單元作為RBF的中心。
然后,半徑σi的確定。半徑σi決定了RBF單元接受域的大小,對網絡的精度有極大的影響。半徑選擇的原則是使得所有RBF單元的接受域之和覆蓋整個訓練樣本空間。
通常應用k-均值聚類法后,對每個聚類中心Ci可以令相應的半徑σi等于與其屬于該類的訓練樣本之間的平均距離,即
2.2 調節(jié)權矩陣W
這里權W是指輸出層和隱層之間的權值,可以采用線性最小二乘法和梯度法來調節(jié)權矩陣W。
由于輸出為線性單元,因而可以確保梯度算法收斂于全局最優(yōu)解。所以,在本設計中采用梯度法來修改權值W。
評論