论文部分内容阅读
随着信息时代的到来,对数据处理的要求越来越高,传统的数字计算机的处理器是以串行方式进行信息处理,在很多情况下并不能满足现在的需要,而人工神经网络是为了模拟人脑神经系统的一种数学模型,这种并行处理方式的人工神经网络使得人们对未来海量数据的处理看到了希望。BP神经网络是一种通过反向传播学习算法训练的人工神经网络,目前对BP神经网络的软件实现研究已经很成熟,应用也比较广泛,然而在硬件实现方面却研究较少,所以现如今相对于软件实现来说,BP神经网络硬件实现更能体现出它的并行处理机制,具有非常重要的现实意义。本文首先通过研究BP神经网络的基本原理,建立BP神经网络数学模型,由全局到局部确定实现整个BP神经网络所需的主要电路,包括加权求和电路、I/V转换电路、sigmoid激活函数电路以及学习电路;然后分别对加权求和电路、I/V转换电路和sigmoid激活函数电路进行仿真测试以确定各电路实现条件和参数;其次结合国内外对BP神经网络硬件实现研究状况,针对BP神经网络的应用范围设计出了一种可循环学习电路,并仿真验证了此电路可以通过脉冲控制不断学习并刷新权值;最后再由局部到全局,将所有主要电路进行组合实现整个BP神经网络硬件电路,通过仿真测试本文设计的可循环学习电路的有效性。仿真结果显示,对单个样本的输入而言,使用可循环学习电路仿真的结果误差仅为零点几毫伏,相对误差只有0.013%左右,而不使用可循环学习电路时相对误差可达4.78%左右;对于多个样本的输入而言,可循环学习电路运用于BP神经网络电路中可通过脉冲在控制学习时同步控制所有样本循环输入,然后以实现函数拟合为例,得到仿真的相对误差约为11.95%,与本文使用C++编程实现的相对误差为9.00%相差不大,表明可成功通过硬件替代软件编程实现BP神经网络,同时也验证了该可循环学习电路的有效性。