论文部分内容阅读
当前人工智能作为计算科学学术界与产业界的一大热门方向,渐渐在实际运用中发挥出显著的效果。卷积神经网络是一种前馈神经网络,近几年在深度学习领域取得较为显著的效果,成功地运用于图像视频识别、自然语言处理、智能推送等领域,其错误率比传统方法得到了极大的降低。深度学习,特别是神经网络领域,拥有庞大的数据量和复杂的计算过程,其对硬件平台的数据带宽和计算力有较高的要求,而在移动便携式领域对功耗要求严苛场景更是限制了其应用效果。本文提出了一种针对卷积神经网络中卷积层计算的专用加速处理器,设计了内部专用的数据映射方式,以期解决卷积层中特征图通道间与不同卷积核间的并行计算问题,降低控制实现的复杂度。针对图像输入层和中间卷积层的不同数据规模,设计了两种对应的工作模式。为了平衡存储带宽与计算速度,将卷积层细分为更细粒度的任务并乒乓执行,以掩盖访问外部存储的时间。以重构的方式对计算阵列进行复用,减少所需资源,提高硬件资源利用率。本设计的MAC单元可以重构为4路64通道的乘累加树或64路4通道的乘累加树,以适应不同卷积层的数据规模。以经典的AlexNet五层卷积层为测试集,用实际情况下的IO速度对整个加速器进行了行为级仿真。在乒乓操作下卷积运算核的工作时间占到了整个运算的87.8%,访存时间占到了 12.2%,绝大部分的访存时间被计算所隐藏,整个系统的计算速度与IO带宽相匹配。基于FPGA的实现,在160MHz下仿真ALexNet性能可达到57.7GOPS,乘累加单元平均利用率为70.5%,充分利用了现有的计算资源。本论文所涉及的CNN专用卷积加速器设计实现方法具有很好的可扩展性,对于同类设计有较好的参考价值和指导意义。