基于FPGA的卷积神经网络加速器动态余数处理映射模型*
2021-09-22赵小强姜晶菲许金伟
赵小强,姜晶菲,许金伟,窦 勇
(国防科技大学计算机学院,湖南 长沙 410073)
1 引言
卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,通过权值共享减少网络参数,通过卷积和降采样获得表征学习的能力。由于其优异的表征学习能力被广泛应用于人工智能算法的特征提取。卷积神经网络成为人工智能算法的主流,其在图像分类[1,2]、目标识别[3 - 5]和视频分析[6 - 8]等计算机视觉应用中均展现出了优良的效果。
随着卷积神经网络的广泛应用,卷积神经网络硬件加速器成为新的研究热点。FPGA高性能、低功耗和可重构等优点使其成为实现卷积神经网络加速器的高效平台。目前基于FPGA实现的卷积神经网络加速器,根据加速方法主要分为以下4类:第1类是通用矩阵乘法卷积神经网络加速器[9 - 11],如Liu等[9]设计的2D/3D通用的可重构卷积神经网络加速器;Ma等[10]设计的最大化资源利用率卷积神经网络加速器。第2类是FFT卷积神经网络加速器[12 - 14],如Zhang等[12]设计的采用FFT和OaA来减少卷积冗余计算,将频域算法映射到基于OaA的高度并行的2D FFT卷积神经网络加速器;Lin等[13]设计的嵌入式FFT的深度卷积神经网络加速器。第3类是Winograd卷积神经网络加速器[15 - 17],Winograd快速算法将特征映射到特定域来降低算法复杂度,如Lu等[15]设计的稀疏有效Winograd卷积神经网络加速器;Wu等[16]设计的适应大步长卷积的Winograd卷积神经网络加速器。第4类是算子定制卷积神经网络加速器[18 - 20],如Liu等[18]设计的层间流水优化卷积神经网络加速器;Kim等[19]设计的零值感知卷积神经网络加速器。……
