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

其中,



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

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

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