论文部分内容阅读
近年来,神经网络的应用越来越广泛,同时人们对其研究也随之更加深入, RBF神经网络是其中一种比较典型的神经网络,其结构简单、训练简洁而且学习收敛速度快,在时间序列分析,模式识别,非线性控制和图像处理等方面有着广泛应用。聚类算法中具有代表性的学习算法—K均值聚类算法是研究RBF神经网络的经典学习算法,通过软件对该算法的改进已经达到一定深度,所以本文另辟蹊径在软件研究的基础之上通过硬件对该算法进行加速。FPGA(Field Programmable Gate Array)是一种可编程的数字集成电路IC(Integrated Circuit),凭借其自身的优势目前在国内外研究相当广泛,其结构非常灵活,这个特性使得它适合于流水线结构应用和大寄存器量的应用,FPGA可以用来实现任何硬件设计,FPGA还能用来实现“处理器加软件”的应用,特别是那些需要快速处理输入数据流的应用中,所以对该算法的研究首先考虑利用FPGA对该算法进行硬件加速,相比于硬件加速来说软件受到处理过程复杂以及软件耗时的局限,使得对算法本身的改进还有很大的空间。本文从分析算法本身特点着手,从两个方面论证了利用FPGA对该算法进行硬件加速的可行性,首先算法必须具备需要快速处理输入的大量数据流,其次算法本身具有一定的并行性,K均值聚类算法本身的特性非常符合以上特点,其中对于并行性方面,软件对算法的数据只能逐个依次循环处理,直至处理结束,而在硬件处理过程中可以同时处理一个以上的数据,即硬件可以实现算法的并行处理,当然这需要消耗一定的硬件资源,在对资源与速度的综合分析后可得到最优值,在这种前提下可以使得K均值聚类算法在很大程度上提高速度,并提升处理效率,在算法本身的速度得到相当的提高同时,其必然对辅助研究RBF神经网络、图像处理等聚类算法起着至关重要的领域有相当的帮助。本文第四章详细介绍了硬件加速K均值聚类算法的细节,设计采用自上而下的设计方法,在模块的设计中应用了经典的有限状态机的原理,文章对总的大模块以及重要的小模块分别进行了仿真测试与逻辑综合,整个设计是在Xilinx公司的ISE环境下编写的,文章末尾对系统的仿真测试结果与算法在软件上的实现进行了比较,验证了对算法进行硬件加速的可行性和必要性,文章的最后对未来的工作进行了展望。