一种基于FPGA的神经网络硬件实现方案详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于FPGA的神经网络硬件实现方案详解
人工神经网络在智能控制、模式识别、图像处理等领域中应用广泛。在进行神经网络的应用研究时,人们可以将神经网络模型或算法在通用的计算机上软件编程实现,但很多时间浪费在分析指令、读出写入数据等,其实现效率并不高。软件实现的缺点是并行程度较低,因此利用软件实现神经网络的方法无法满足某些对数据实时处理要求较高的场合(如工业控制等领域)。
目前实现大规模、实时性要求高的神经网络,传统的软件算法实现方法显示出其难以满足速度等要求的不足。此外,在构建神经网络时必然需要考虑硬件实现问题。由于神经网络具有并行计算的特点和功能,可以有效发掘算法本身的并行特性,提出高效的硬件电路结构,从而完成神经网络的硬件实现。
脉冲耦合神经网络(Pulse Coupled Neural Network,PCNN)是新一代的神经网络,在研究猫等哺乳动物的视觉神经元时,根据其脉冲同步发放的工作原理所提出的。目前,P CNN 理论仍在发展中,由于其独特的并行性能,在图像分割与平滑、边缘检测与细化、决策与优化等领域应用广泛。当前的研究重点在于模型的优化和软件的实现,而相关的硬件实现在国内并不多见,PCNN并行结构的特性为硬件实现提供了可能。
1 PCNN的基本原理
脉冲耦合神经网络是一种单层模式的两维神经网络,它的基本单元是脉冲耦合网络的神经元。图1为PCNN的单个神经元模型框图,它由输入部分、连接调制部分、脉冲发生器部分3部分构成。
输入部分即接收域,其接收信号来源有两部分:邻近神经元产生的信号和外部的输入激励。这两部分信号通过两个不同的路径进行传递,其中一个路径传递反馈输入信号,其包含外部输入激励,该路径即为F路径;另一个路径传递连接输入信号,其包含来自邻近神经元产生的信号,该路径即为L路径。
连接调制部分完成上述两个路径信号的耦合,经过一定的信号处理,产生神经元的内部活