基于FPGA的神经网络sigmoid函数设计与实现

基于FPGA的神经网络sigmoid函数设计与实现

ID:39474233

大小:485.50 KB

页数:4页

时间:2019-07-04

基于FPGA的神经网络sigmoid函数设计与实现_第1页
基于FPGA的神经网络sigmoid函数设计与实现_第2页
基于FPGA的神经网络sigmoid函数设计与实现_第3页
基于FPGA的神经网络sigmoid函数设计与实现_第4页
资源描述:

《基于FPGA的神经网络sigmoid函数设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于FPGA的神经网络sigmoid函数设计与实现摘要提出基于HybridCORDIC算法计算神经网络sigmoid激活函数的方法,采用VHDL硬件描述语言和流水线技术构造了sigmoid函数的寄存器传输级模块,并在现场可编程门阵列上给予硬件实现。优化后的sigmoid函数模块结合了查找表和CORIDC迭代算法的特点,具有高效率、高速度、高精度等优点。实验数据表明,本设计模块的计算结果与实际结果的误差小于0.15%,完全满足神经网络数字VLSI的要求。关键词神经网络,sigmoid函数,坐标旋转

2、数字计算机,现场可编程门阵列,流水线ImplementSigmoidFunctionforNeuralNetworksbasedFPGADesignAbstractEfficientdesignofsigmoidfunctionforneuralnetworksbasedFPGAispresentedinthispaper.EmployingthehybridCORDICalgorithm,thesigmoidfunctionisdescribedwithVHDLinregistertransf

3、erlevel.InordertoenhancetheefficiencyandaccuracyofimplementationonAltera’sFPGA,thetechnologyofpipelineandlook-uptablehavebeenutilized.Throughcomparingtheresultsobtainedbythepost-simulationofEDAtoolswiththeresultsdirectlyaccountedbyMatlab,itcanbeconcl

4、udedthatthedesignedmodelworksaccuratelyandefficiently.Keywordsneuralnetworks,sigmoidfunction,CORDIC,FPGA,pipeline10.引言人工神经网络(ANN)理论模型[1]要求发展神经网络型计算机来实现,但迄今为止,由于条件的限制,这方面的工作还主要集中在传统计算机的软件模拟实现上。大多数学者认为,要使人工神经网络更快、更有效地进行大规模计算,关键在于其超大规模集成电路(VLSI)硬件的实现。正是

5、基于上述考虑,神经网络的数字VLSI技术近年来发展很快,已成为ANN的一个重要分支。在神经网络的数字VLSI技术中,sigmoid函数[2]的硬件设计与实现是一个重点,文献[3]中提出了利用泰勒级数多项式展开来实现sigmoid函数的方法,但是该方法需要大量的乘法器单元,因此不利于大规模数字神经网络的集成;文献[4]中提出了利用分段线性逼近的方法,但利用该方法来计算sigmoid函数,会降低sigmoid函数的计算精度。本文提出了一种利用HybridCORDIC算法来计算sigmoid函数的方法

6、,基于现场可编程门阵列(FieldProgrammableGateArray)进行了相应的硬件设计、优化和实现。由于采用了查找表、流水线等技术,所研制的sigmoid函数模块具有高效、高速、精确等优点,充分满足了数字神经网络系统的需要。1.CORDIC算法1.1CORDIC算法CORDIC(Co-ordinateRotationDigitalComputer,坐标旋转数字计算机)算法[5]是一种高效的迭代算法,它通过一系列简单的移位和加/减法迭代来实现矢量极坐标的旋转。由于该算法采用的运算符简单

7、(移位和加/减),易于硬件实现,因此广泛的应用于乘法、除法、双曲线函数等超越代数函数的数字硬件设计和实现中。基本的CORDIC算法方程如式(1)(2)所示:(1)(2)参数m可取值-1、0、1,分别代表双曲线、线性、圆周三种极坐标变换模式,与其对应的迭代角度分别为,,。每种变换模式的两个4旋转方向都是确定的,对向量化()而言,具有原点的向量(X0,Y0)根据的值进行旋转,直到迭代收敛到0;对旋转()而言,具有原点的向量(X0,Y0)根据的值进行旋转,直到迭代收敛到0。是模校正因子,用于校正第k次

8、迭代所引起的模值改变,一般在每次迭代过程中先不考虑的模校正作用,在迭代结束后用整个迭代过程的总模校正因子对输出结果进行校正。整个CORDIC算法的操作模式如表1所示。4表1CORDIC算法的操作模式m(Rotation)(Vectoring)1(Circular)0(Linear)4-1(Hyperbolic)4CORDIC算法的本质是利用一组常数的角度基底{,}去逼近任意一个旋转角度,为了确保CORDIC算法的收敛性,这组常数的角度基底必须满足式(3)的不等式关系[6]:(3)对于圆周模式或者

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。