论文部分内容阅读
神经网络是智能信息处理的主要技术之一,它所具备的独特知识表示结构和信息处理的原则,使其在许多应用领域取得了显著的进展,如模式识别、函数逼近、智能控制和复杂信号处理等传统计算机极难求解的问题。
神经网络计算有其自身非常鲜明的特点:大量、并行的乘加运算,超越函数的运算,网络结构和权重的可在线配置。这些特点使得神经网络计算非常庞大和复杂,需要消耗大量的计算资源,传统上一般采用计算机对数据进行离线处理和分析,这种数据处理方式在很大程度上限制了神经网络在实时系统中的应用。
本论文讨论了使用FPGA实现神经网络实时计算的关键技术。在对神经网络充分研究的基础上,根据神经网络计算的特点分析了多种可行的硬件算法,选择并行分布式算法和CORDIC算法,使用Verilog语言描述了一个用于函数逼近的多层感知器网络,并对算法和该实现的速度、精度、资源消耗和可扩展性进行了详细的分析和讨论。论文的主要内容包括以下六个章节:
第一章绪论,简单介绍了神经网络的软件仿真实现方法和硬件实时计算方法,阐述了实时计算对神经网络应用的意义,探讨了现场可编程门阵列(FPGA)技术在神经网络实时计算方面的应用。
第二章对神经网络的基本原理进行描述。主要介绍了神经网络的基本概念,神经网络的基本组成单元——神经元模型,神经元模型运算的特点,以及构筑于神经元模型上的三种基本网络结构。最后简单介绍了神经网络的学习过程,学习任务,泛化和应用。
第三章分析了两个典型的神经网络计算的FPGA实现:用于模式识别的GANGLION网络和使用CORDIC算法实现激活函数运算的RBNN网络。重点分析了上述网络所采用的易于FPGA实现的算法和资源消耗情况。
第四章详细介绍了RNS算法,Piecewise算法等适合硬件实现的先进算法,对它们的优缺点进行了系统的分析,对其在神经网络中的应用进行了探讨;本章还讨论了FPGA技术的最近进展,指出FPGA技术的不断发展为神经网络的实时计算提供了更广阔的空间。
第五章详细介绍了按照神经网络理论构造的用于函数逼近的多层感知器网络——PIONEER,给出了网络的Verilog语言描述,讨论了实现网络计算所采用的关键算法:并行分布式算法和CORDIC算法。
第六章通过Matlab仿真运算,研究了算法的参数选择对输出结果精度的影响,以及对整个网络性能的影响。对比了网络的Verilog描述在Modelsim平台,实际硬件平台的运行结果同Matlab实现的精确网络的差别,分析了网络HDL描述的性能。
第七章总结和展望,在总结论文工作的基础上,对使用FPGA实现神经实时计算的前景进行了分析,探讨了使用基本的神经元IP Core实现功能更强大,结构更复杂的神经网络的可能性。