论文部分内容阅读
卷积神经网络被广泛应用于人脸识别、语音识别、文档分析、车牌识别、图像识别和目标检测等领域。随着更多深度卷积神经网络应用的发掘,如何提高图像处理过程的性能成为至关重要的问题。目前,卷积神经网络多数是基于通用处理器中央处理器(Central Processing Unit,CPU)或图形处理器(Graphics Processing Unit,GPU)来实现,即比较灵活的软件实现,而作为层与层之间没有数据反馈的前馈神经网络,它的算法中是具有高度并行性的,通用处理器受限于其自身只为完成逻辑计算的特点,不适合挖掘卷积神经网络的并行性。因此,从系统计算速度和功耗方面考虑,相比软件的实现方式,硬件的近似方法、定点化实现方式具有更低的能耗,还可以降低处理器负担。本文提出了卷积神经网络的硬件加速方案,合理化加速器架构设计,并在数据传输上进行创新改进。直接存储器访问(Direct Memory Access,DMA)是快速传输成组数据的一种方法,本文创新性地提出了一种专用于卷积神经网络硬件加速器的DMA控制器。整个架构有四个DMA控制器,每个DMA控制器支持单通道传输,可以并行工作互不影响。DMA控制器支持多种操作模式,除基本的直接内存访问模式,还包括三维数据变型模式,极大提高了加速器的工作效率。DMA控制器基于三维数据变型模式,还支持数据在加速器内部存储的不同区块间搬运,此功能主要是针对卷积的中间结果。中间结果在参与下层计算时如果需要三维数据变型,则可以通过配置DMA控制器参数,将内存的源区块数据取出,变型后再送到目标区块中去,而无需送到外部存储器后再加载进来,这样不仅降低带宽的压力和出错的概率,更节约了时间。现场可编程门阵列(Field-Programmable Gate Array,FPGA)是作为专用集成电路的一种半定制电路而出现的,它不仅具有丰富的硬件资源,灵活且可配置的优点,更以其功耗低、开发周期短的优势,可以作为实现卷积神经网络很好的平台。加速器基于FPGA进行原型验证,手写数据集(Mixed National Institute of Standards and Technology database,MNIST)和VGG16(Visual Geometry Group)网络测试结果表明,具有高达98%的数字分类准确率,网络运算硬件加速效果极为显著,相比软件实现提升两个数量级。