论文部分内容阅读
深度卷积神经网络算法近年来迅猛发展,现已被广泛应用于图像识别、医疗诊断等领域。深度卷积神经网络通常在CPU、GPU、ASIC、FPGA等平台实现,现有的深度卷积神经网络处理器主要被用于高端应用,如自动驾驶汽车,数据中心和智能手机,其注重产品性能。而对于物联网应用,更注重产品功耗与产品成本。此外可编程性对于处理器支持不同的深度卷积神经网络算法也尤为重要。本文提出一种专用于物联网应用的低功耗低成本可编程深度卷积神经网络处理器。本文首先对深度卷积神经网络处理器的国内外研究现状进行分析,介绍在不同平台实现深度卷积神经网络处理器的最新成果。根据处理器的应用需求不同,提出本文所设计的低功耗低成本可编程深度神经网络处理器。接下来本文对深度卷积神经网络算法的基本概念、硬件实现、并行性特征进行介绍。从理论层面验证卷积层、池化层、激活函数与全连接层硬件实现的可行性,同时从卷积核内并行性、输入通道并行性与输出通道并行性三个维度对本文深度卷积神经网络处理器并行计算设计进行分析,并提出衡量处理器性能的三种参数。然后在可编程深度神经网络处理器硬件设计部分,本文采用五种创新技术。在处理器低功耗设计部分,本文采用基于“簇”的“S”型读取策略与数据复用技术,达到对数据的最大化复用,减少存储区读取次数从而降低功耗;本文采用基于“图”累加的方式完成中间特征图累加操作,减少输入特征图像重复加载次数从而降低功耗;将近零值过滤与零值跳过技术结合,屏蔽零值数据的传输和计算从而降低功耗。在处理器低成本与可编程设计部分,本文采用可编程层处理计算架构,通过复用层处理计算架构完成深度卷积神经网络所有层操作,减少硬件资源降低设计成本,同时其可编程性也增强处理器的灵活性。并且处理器采用基于“行”型数据存储结构,加快数据读取速度,在数据读取与计算间取得平衡,提升处理器整体速度。最后本文使用Vivado 2017.1套件作为开发和仿真工具,给出仿真结果。并在Xilinx Virtex-7 FPGA VC707评估套件进行硬件验证。对基于FPGA的可编程深度卷积神经网络处理器进行准确率分析与性能分析,本文处理器获得了31.01GOPS/W,0.22GOPS/DSP的成绩,优于现有的几种深度神经网络处理器。同时针对本文所提出的可编程深度神经网络处理器进行总结,并对后期优化提出建议。