论文部分内容阅读
70年前人工智能理论被提出,之后这项技术不断发展。到了21世纪,由于计算能力大大提升,人工智能技术突破原有的限制得到进一步发展。其中,卷积神经网络(Convolutional Neural Networks,CNN)作为一种具有深度结构且包含大量卷积计算的网络,由于其在计算机视觉上取得了惊人成就,成为最具有代表性的算法之一。在现有的条件下,卷积神经网络大多数是在CPU、GPU等通用设备上进行加速计算的,这需要大量的计算能力和存储空间,因此卷积神经网络算法很难移植到功耗低、存储量小的嵌入式设备上。另一方面,卷积神经网络技术存在着很多衍生算法(AlexNet、GoogleNet、VGGNet等),这就导致其网络结构具有多样性的特点,仅对一种网络进行加速意义不大。为了应对以上问题,本文设计出一种基于传输触发体系结构(Transport Triggered Architecure)的通用可编程神经网络处理器,主要应用于目标的分类和检测。处理器采用分时复用的设计理念,理论上可以实现任意结构的神经网络算法。通过编写配置数据以及控制程序,处理器可以实现对神经网络的各项参数进行配置,从而可以适应一系列神经网络的衍生算法,大大提高了处理器的通用性。除此之外,处理器通过大量的运算单元进行并行计算,因此非常适于神经网络这种数据传输与计算密集型的应用。总的来说,本次设计具有通用性强、可编程、并行度高、可重构等优点,具有一定的创新性和实用性。系统采用硬件描述语言Verilog HDL进行设计,目前已经在赛灵思公司的Kintex UltraScale KU040系列FPGA上实现。系统采用8 bit定点数制进行存储和计算,相对于32 bit浮点数,极大地提高计算速度并减少了存储资源的消耗。在实际应用中,我们将两个不同深度的神经网络在处理器上实现,并且两组应用分别在两个不同的环境和不同的FPGA上进行实际测试验证。第一个应用中,我们将VGG-11网络模型在处理器上实现,并在ImageNet数据集上进行识别测试,相较于使用32位浮点数运算的上位机,其结果的正确率下降不到2%。在100 MHz主时钟频率下,处理器处理一幅224×224×3的图片仅需要300ms,其中在计算上的时间占据总时长的67%,系统总功耗1.91 W。第二个应用中,笔者创造性地将毫米波雷达同神经网络相结合,我们选用改造后的AlexNet模型作为本次处理器实现的目标网络,通过卷积神经网络处理器对雷达目标进行实时分类。最终处理器对4类目标分类的精度达到93%,并且可以进行实时分类。