弱弱的问一下,用FPGA能否搭建一个并行的BP神经网络?

2020-02-28 18:36发布

由几十个神经元互联而成,总共大概需要几十个加法器、几百个乘法器和几十个sigmoid传递函数(f(x)=1/(1+exp(-x))),都是浮点数。
如果不能的话,那么一个FPGA芯片能搭建几个神经元?一个神经元由一个乘法器、一个加法器和一个sigmoid传递函数组成。
用这个方法做出来的神经网络能比PC机速度高出几个数量级?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
lwq030736
1楼-- · 2020-02-29 18:46
定点数的乘法器和加法跑到100M没问题,传递函数可能你需要转换一下,这么直接的算的话速度肯定很慢的
可以参考下快速傅立叶变换的算法对该函数进行变换,当然我没做过快速傅立叶变换,只是提一个想法,不一定正确
GoldSunMonkey
2楼-- · 2020-02-29 19:15
acone 发表于 2013-5-29 08:36
回楼上:不一定要浮点数,32位的定点数精度应该能达到要求。

用HLS来完成吧
GoldSunMonkey
3楼-- · 2020-02-29 19:38
lwq030736 发表于 2013-5-29 08:52
定点数的乘法器和加法跑到100M没问题,传递函数可能你需要转换一下,这么直接的算的话速度肯定很慢的
可以 ...

我觉得并行的路数也很关键啊
GoldSunMonkey
4楼-- · 2020-03-01 00:39
acone 发表于 2013-5-29 08:36
回楼上:不一定要浮点数,32位的定点数精度应该能达到要求。

想法用C实现吧
ChaiTF
5楼-- · 2020-03-01 04:37
 精彩回答 2  元偷偷看……
acone
6楼-- · 2020-03-01 10:31
回金阳猴版主:C语言的我已经在PC机上实现,但是这种串行的运算方式速度太慢,达不到我的要求。最好能把速度提高100倍以上。

一周热门 更多>