论文部分内容阅读
人工神经网络能够通过对样本的学习实现任意精度的非线性映射,从而被广泛地应用于系统控制、模式识别、信号处理、信息预测等诸多领域。通常情况下,神经网络大多是基于软件实现的,软件实现的神经网络无法进行并行运算,在实时性要求较高的情况下应用受限。本文提出了一种基于FPGA的神经网络硬件实现方法,由于FPGA的高速、并行运算特性,有效地提高了神经网络的收敛速度。首先对FPGA实现BP神经网络的关键问题进行了改进,利用平滑插值法对神经网络的双极性S型激活函数进行改进,优化了FPGA实现激活函数的资源;在中间数据存储中提出采用寄存器循环缓存方式,解决了外部存储吞吐量不足的问题,保证了学习过程中各模块内部能够进行并行计算;在网络搭建中利用了FPGA深度流水线技术实现网络的串并联,优化了网络的整体运算能力。其次,利用硬件描述语言Verilog对BP神经网络各模块进行了实现并完成了整体架构的搭建。通过多个测试函数与PC平台进行实际效率的对比,经过20次对比实验,证明了FPGA实现的网络收敛速度超出软件实现速度3个数量级,为人工神经网络的硬件实现提供了重要的理论依据。最后,以带钢冷轧过程的轧制力预报为实际工程背景,完成了基于FPGA的BP神经网络轧制力预报模型的设计。利用现场采集的数据对网络进行训练与预测,实验结果表明,轧制力预报的模型的精度要高于传统的轧制力预报模型,且训练速度远快于利用PC实现BP神经网络轧制力预报模型。