基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)
2.3 隱層非線性函數(shù)映射的實(shí)現(xiàn)
RBF神經(jīng)網(wǎng)絡(luò)隱層中的映射函數(shù)為高斯函數(shù),為非線性函數(shù)。而非線性函數(shù)在硬件上實(shí)現(xiàn)往往比較復(fù)雜,難度較大。通常實(shí)際工程中采用查表法或迭代法來近似模擬這些非線性函數(shù),查表法較迭代法雖在結(jié)構(gòu)和運(yùn)算復(fù)雜度上有明顯降低,但在精度上也會明顯降低。若要提高精度,只能增加表的大小,但增加表的大小,直接帶來的影響就是會加大存儲空間和降低查表效率,所以,在FPGA上采用何種方法實(shí)現(xiàn)高斯函數(shù)的存儲達(dá)到精度和效率之間的平衡就至關(guān)重要。
高斯函數(shù)表達(dá)式為

其中,



2.3.1 STAM算法
STAM算法的主體思想是先產(chǎn)生系數(shù),然后利用系數(shù)的對稱性減小ROM表的大小。在該算法中先把輸入X分為m+1個部分:x0,x1,…,xm。則f(x)可以近似為

該種方法雖然在某種程度上使得查找表的數(shù)量增加了,但每個表的大小卻大大減小了,整體上查找表還是減少了,效率上也相應(yīng)提高了。

式(13)構(gòu)造的查找表a0(x0,x1),其輸入值的位數(shù)為n0+n1。式(14)所構(gòu)造的其余m-1個查找表ai-1(x0,xi),由于δi被定義為xi的取值區(qū)間的中間點(diǎn),故查找表中的系數(shù)值具有對稱性,即ai-1(x0,xi)與ai-1(x0,2δi-xi)互為補(bǔ)碼,其輸入值的位數(shù)可以減為n0+n1-1,從而使這m-1個查找表的存儲空間節(jié)省了一半。
評論