基于FPGA的可配置卷积结构的神经网络协处理器设计
2021-10-23许庚林郭爱英
许庚林,冉 峰,郭爱英,李 娇
(上海大学 微电子研究与开发中心,上海 200444)
近年来,人工智能在日常生活中的应用越来越广泛,卷积神经网络(Convolution Netural Networks, CNN)成为学术界的研究热点,神经网络的深度和计算复杂度也在不断增加,对运算平台的计算能力和资源要求越来越高,针对CNN的硬件加速处理器已成为重要的研究方向.针对神经网络的硬件加速主要有以下方案: 专用集成电路[1](Application Specific Integrated Circuit, ASIC)、图形处理器(Graphics Processing Unit, GPU)和现场可编程逻辑门阵列[2](Field Programmable Gate Array, FPGA),其中FPGA通过动态地修改LUT单元和链路选择单元进行计算任务的配置,通用性和灵活性好,且功耗低、便携性高,可以在移动端部署,是极具市场潜力的发展方向.
Zhou等[3]使用高层次综合(High-Level Synthesis, HLS)在Virtex7 FPGA上实现了MNIST手写体数字识别任务,采用11 bit定点数运算,在150 MHz下达到16.6 GMACS的峰值性能.Li等[4]将卷积神经网络的所有层都映射在一个芯片上,设计流水线结构使它们同时工作,提高吞吐率,该方法极大提高了计算速度,代价是消耗大量的硬件资源.Feng等[5]基于Zynq-7000平台实现高效LeNet-5网络,通过定点量化、激活函数逼近、存储器重组、循环和任务流水线和并行化的方式优化计算结构.仇越等[6]在FPGA上对ZynqNet进行并行优化,设计了64个3×3的卷积计算阵列,所有运算均由该固定尺寸的阵列负责,易于控制但效率较低.秦华标等[7]提出一种输入输出通道并行和卷积窗口深度流水的硬件架构实现卷积神经网络的加速,采用全并行乘加树(Multiply Adder TREE, MATREE)实现卷积操作,性能达到317.86 GOPS.以上研究属于对特定网络的硬件固化,只实……
