新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的人工神经网络系统的实现方法

基于FPGA的人工神经网络系统的实现方法

作者: 时间:2010-12-06 来源:网络 收藏

摘要:为了改变网络的研究仅仅局限于算法,只是在通用的串行或并行计算机上模拟实现的现状,针对函数逼近问题,将BP神经网络的结构分为3个模块,采用VHDL语言完成对各个模块的硬件描述,并使用Altera公司的QualtusII 6.1综合软件进仿真和调试,然后在Cyc-loneII系列上实现了能够进行片上学习并完成函数逼近的BP神经。测试结果证明,该系统能够很好地完成在线学习,并能满足一般系统应用的速度和精度的要求,验证了该方法的有效性。
关键词:神经网络;硬件实现;;片上学习;函数逼近

神经网络是由大量的神经元通过特殊形式的加权网络相互联接而形成的,可以认为:神经网络由两种基本单元构成,即收集信号并且完成非线性变换的神经元胞,以 及完成各神经元之间的加权互连的突触。标准的神经网络VLSI的实现方式是在单个芯片上集成多个神经元和突触单元,并且将它们按某种通信结构组成神经网络 系统,此外,还有基于ASIC结构的,针对神经网络运算特点进行优化和简化设计的
实现方式,以及基于商业处理器(如数字信号处理、RISC单片处理等)的模拟神经网络的多处理器结构的实现方式。
衡量一个神经网络性能的重要指标是快速性和适用性,而FPGA的集成度已经达到百万门级,用FPGA构造神经网络时,可以灵活地实现各种运算功能和学习规 则,并且设计周期短、系统速度快、可靠性高、输入输出接口灵活、几乎可以和任何形式的并行、串行接口及并行、串行A/D或D/A,DSP等连接,同时由于 可以将整个系统都集成在单个芯片内,因而抗干扰性能极强,使其在自动控制、故障诊断、模式识别,图像获取、DSP应用、嵌人式系统等领域有着广泛的应用前 景。所以,FPGA无疑是首选的实现神经网络的硬件芯片。

1 BP神经网络的基本原理
BP网络即误差后向传播网络,是一种前馈网络,由输入层、隐含层和输出层构成。隐含层通过作用函数执行一种固定不变的非线性变化,将输出空间映像 到一个新的空间,输出层节点则在该新空间进行线性加权组合。BP算法用于多层网络,对于线性情况,多层网络可以简单到只有一个输入层节点和输出层节点,而 没有隐含层(中间层)。实际上,大多数自然、经济和社会系统及其影响因素是非常复杂的非线性系统,它不仅有输入层节点及输出层节点,而且还可以有一层至多 层隐含层节点。权值为零,说明相连的两个神经元不发生作用,若为负,说明相连的两个神经元之间相互抑制。此外,对于隐含层及输出层的各神经元而言,它还有 一个阈值,其作用是调节神经元的兴奋水平。当有信息输入网络时,该信息首先由输入层传至隐含层节点,经特性函数作用后,再传至输出层输出,其间每经过一层 都要由相应的特性函数进行变换。节点的特性函数要求是可微的,通常选用S型函数,特性函数通常取Sigmoid函数,本系统选用Sigmoid函数,即a.JPGb.JPG作为特性函数,具有较好的收敛性,模拟结论也比较符合实际情况。

2 BP学习算法描述
BP网络中每个节点都有一个状态变量xi,节点i到节点j有一个连接权系数wji,每个节点都有一个阈值θj,每一个节点定义一个变换函数fj[xi,wji,θj(i≠j)],最常见的形式为
c.JPG
为了方便起见,将阈值θ作为神经元权值的第一个分量加到权值中去,那么输入向量就应增加一项,可设输入向量的第1个分量固定为l,这样d.JPG的形式就可变为e.JPG
一个3层单输入、单输出、n个隐节点的BP网络结构如图l所示。

本文引用地址://m.amcfsurvey.com/article/191453.htm

e.JPG


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭