论文部分内容阅读
人工智能领域的研究包含人脸识别和物体检测等多个方向,被广泛应用在多种行业,越来越多的人们享受到人工智能所带来的便利。而在人工智能和机器学习中扮演重要角色的卷积神经网络,就成为了当下的研究热点。卷积神经网络算法一般是在CPU和GPU上实现,通过网络的构建对目标进行训练,提取出关键信息。但由于通用处理器的体积相对较大、功耗较高的问题,难以将卷积神经网络部署,来满足边缘计算的需求。现场可编程门阵列(Field Programmable Gate Array,FPGA)拥有着编程逻辑资源丰富、灵活可配置、功耗低等特点,能够实现卷积神经网络的并行化计算,是移植卷积神经网络运算的重要硬件平台之一。本文研究了基于FPGA的卷积神经网络的IP化设计与实现,结合FPGA自身特性,对卷积神经网络中卷积层和池化层的计算进行了并行化的研究,选取合适FPGA电路实现的激活函数。在此基础上,为了实现简单便捷的将卷积神经网络向FPGA端的移植,故提出对卷积神经网络各层进行IP化设计,从而降低网络向FPGA端的移植难度。主要研究内容如下:(1)构建了MY-NET网络。在传统数字手写识别网络MNIST的基础上进行改进,重新设计并训练了MY-NET网络。采用相同训练集,在同样训练次数的情况下,由于MY-NET具有更复杂的网络结构和更多的参数,MY-NET网络相较MNIST网络的识别率有了进一步的提高。(2)对卷积神经网络内部计算采用了并行化设计。对卷积神经网络各层内的计算部分进行研究。由于不同卷积核与输入特征图之间的卷积运算相互独立,且不同输入特征图在进行池化运算时也相互独立,故对这两部分的运算进行并行化设计。通过对卷积层和池化层中的计算进行并行化设计,以提升卷积神经网络在移植到FPGA端后的运算性能。(3)对卷积神经网络各层进行IP化设计。由于其通用化的设计,不但可以在整个卷积神经网络移植时通过复用来精简移植后系统的结构,还可以再移植不同卷积神经网络时直接重新调用。通过在FPGA平台成功实现MY-NET网络和MNIST网络,证明了通过IP化设计在FPGA在实现卷积神经网络时具有简易性和高效性。为不同网络结构的卷积神经网络向FPGA端移植提供了便利。