新闻中心

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

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

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

3. 2.2 反向传输模块的设计
反向传输模块的VHDL程序设计流程如图3所示。

本文引用地址:https://www.eepw.com.cn/article/191453.htm

m.JPG


使用3输入的乘法器计算△w02,4输入的乘法器计算△w2.5输入的乘法器计算△w01,6输入的乘法器计算△w1,这样并行计算△w02、△w2、△wO1、△w1。
3.2.3 系统控制模块的设计
该系统控制模块由一个计数器组成,计数器的输入信号有:时钟信号、启动运算信号start、最大训练次数maxcount、误差信号e、 误差容限eps,样本数目;输出信号有:前向传输控制信号enl,求误差控制信号en2、反向传输控制信号en3、权值调整控制信号en4、权值读写信号 en5、读样本地址信号,训练次数count。
3.3 基于的芯片和仿真软件选型
芯片选型要考虑的因素有:硬件资源,例如LE个数、PLL个数、RAM个数;核心及外设电压标准、功耗;软件工具的功能对VHDL语言的支持;市场上专业开发板的支持。
本系统设计采用Altera公司Cyclonell系列的EP2C20Q240C8型。器件EP2C20Q240C8片内资源丰富,逻辑单元共18752个,最大用户输入输出引脚为142个,器件EP2C20Q240C8还内嵌RAM,共208 KB,包含4个PLL,同时支持Nios软核处理器。EP2C20Q240C8型的核心电压是1.2 V,I/O电压是3.3 V。而综合软件则使用Altera公司的QuallusⅡ6.1。

4 实验验证
将该BP网络用来实现函数逼近,取网络为l-5-l(输入、输出层神经元数为1,隐层神经元数为5),本系统测试了很多函数,现将其中2例测试结果列出, 如图4所示,(图中实线为目标曲线,+线为逼近曲线)。由测试结果可以看出,对于函数中比较平坦的地方,该系统拟合结果不太理想,对于不同的网络结构,网 络模型的误差或性能和泛化能力也不一样,一般地,随着网络结构的变大,误差变小。通常,在隐层节点数增加的过程中,网络误差会出现迅速减小然后趋于稳定的 一个阶段,因此,合理的隐层节点数应取误差迅速减小后基本稳定时的隐层节点数。合理网络模型是必须在具有合理隐层节点数、训练时没有发生“过拟合”现象、 求得全局极小点和同时考虑网络结构复杂程度和误差大小的综合结果。设计合理的BP网络模型的过程是一个不断调整参数的过程,也是一个不断对比结果的过程, 比较复杂且有时还带有经验性。
例l:待测函数y=x2,测试结果如图4所示。

n.JPG


例2:待测函数p.jpg,测试结果如图5所示。

5 结论
以BP网络为例提出了神经网络硬件。应该说明的是:这种方法并非只适合于BP网络,由于神经网络都具有大规模并行的简单运算的特点,所以可以将此方法推广至更多类型的神经网络。
本系统在参考前人工作的基础上,综合考虑了各种因素,用VHDL硬件描述语言设计并实现了该系统,从测试结果来看,本文所设计的BP神经网络不但达到了一 定的数据精度,也能满足一般场合下的速度处理要求。此尝试的成功将改变网络的研究局限于算法和应用等领域的现状,也必将极大促进神经网络研究的进 一步发展,这也将推动神经网络硬件在相关应用领域中的实用化。



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭