高级搜索

基于FPGA的卷积神经网络硬件加速器设计

秦华标 曹钦平

引用本文: 秦华标, 曹钦平. 基于FPGA的卷积神经网络硬件加速器设计[J]. 电子与信息学报, doi: 10.11999/JEIT190058 shu
Citation:  Huabiao QIN, Qinping CAO. Design of Convolutional Neural Networks Hardware Acceleration Based on FPGA[J]. Journal of Electronics and Information Technology, doi: 10.11999/JEIT190058 shu

基于FPGA的卷积神经网络硬件加速器设计

    作者简介: 秦华标: 男,1967年生,教授,研究方向为智能信息处理、无线通信网络、嵌入式系统、FPGA设计;
    曹钦平: 男,1995年生,硕士生,研究方向为集成电路设计;
    通讯作者: 秦华标, eehbqin@scut.edu.cn
  • 基金项目: 广东省科技计划项目(2014B090910002)

摘要: 针对卷积神经网络(CNN)计算量大,计算时间长的问题,该文提出一种基于FPGA的卷积神经网络硬件加速器。首先通过深入分析卷积层的前向运算原理和探索卷积层运算的并行性,设计了一种输入通道并行、输出通道并行以及卷积窗口深度流水的硬件架构。然后在上述架构中设计了全并行乘法-加法树模块来加速卷积运算和高效的窗口缓存模块来实现卷积窗口的流水线操作。最后实验结果表明,该文提出的加速器能效比达到32.73 GOPS/W,比现有的解决方案高了34%,同时性能达到了317.86 GOPS。

English

    1. [1]

      LIU Weibo, WANG Zidong, LIU Xiaohui, et al. A survey of deep neural network architectures and their applications[J]. Neurocomputing, 2017, 234: 11–26. doi: 10.1016/j.neucom.2016.12.038

    2. [2]

      HAN Song, MAO Huizi, and DALLY W J. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding[J]. arXiv preprint arXiv: 1510.00149 , 2015.

    3. [3]

      COATES A, HUVAL B, WANG Tao, et al. Deep learning with COTS HPC systems[C]. Proceedings of the 30th International Conference on International Conference on Machine Learning, Atlanta, USA, 2013: III-1337–III-1345.

    4. [4]

      JOUPPI N P, YOUNG C, PATIL N, et al. In-datacenter performance analysis of a tensor processing unit[C]. Proceedings of the 44th Annual International Symposium on Computer Architecture, Toronto, Canada, 2017: 1–12. doi: 10.1145/3079856.3080246.

    5. [5]

      MOTAMEDI M, GYSEL P, AKELLA V, et al. Design space exploration of FPGA-based deep convolutional neural networks[C]. Proceedings of the 21st Asia and South Pacific Design Automation Conference, Macau, China, 2016: 575–580. doi: 10.1109/ASPDAC.2016.7428073.

    6. [6]

      ZHANG Jialiang and LI Jing. Improving the performance of OpenCL-based FPGA accelerator for convolutional neural network[C]. Proceedings of 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, USA, 2017: 25–34. doi: 10.1145/3020078.3021698.

    7. [7]

      QIU Jiantao, WANG Jie, YAO Song, et al. Going deeper with embedded FPGA platform for convolutional neural network[C]. Proceedings of 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, USA, 2016: 26–35. doi: 10.1145/2847263.2847265.

    8. [8]

      余奇. 基于FPGA的深度学习加速器设计与实现[D]. [硕士论文], 中国科学技术大学, 2016: 30–38.
      YU Qi. Deep learning accelerator design and implementation based on FPGA[D]. [Master dissertation], University of Science and Technology of China, 2016: 30–38.

    9. [9]

      LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278–2324. doi: 10.1109/5.726791

    10. [10]

      ABADI M, BARHAM P, CHEN Jianmin, et al. Tensorflow: A system for large-scale machine learning[C]. Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation, Savannah, USA, 2016: 265–283.

    11. [11]

      XIAO Qingcheng, LIANG Yun, LU Liqiang, et al. Exploring heterogeneous algorithms for accelerating deep convolutional neural networks on FPGAs[C]. Proceedings of the 54th Annual Design Automation Conference, Austin, USA, 2017: 62. doi: 10.1145/3061639.3062244.

    12. [12]

      SHEN Junzhong, HUANG You, WANG Zelong, et al. Towards a uniform template-based architecture for accelerating 2D and 3D CNNs on FPGA[C]. Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, USA, 2018: 97–106. doi: 10.1145/3174243.3174257.

    1. [1]

      杨宏宇王峰岩. 基于深度卷积神经网络的气象雷达噪声图像语义分割方法. 电子与信息学报, doi: 10.11999/JEIT190098

    2. [2]

      贺丰收何友刘准钆徐从安. 卷积神经网络在雷达自动目标识别中的研究进展. 电子与信息学报, doi: 10.11999/JEIT180899

    3. [3]

      王斐吴仕超刘少林张亚徽魏颖. 基于脑电信号深度迁移学习的驾驶疲劳检测. 电子与信息学报, doi: 10.11999/JEIT180900

    4. [4]

      王巍周凯利王伊昌王广袁军. 基于快速滤波算法的卷积神经网络加速器设计. 电子与信息学报, doi: 10.11999/JEIT190037

    5. [5]

      张小恒李勇明王品曾孝平颜芳张艳玲承欧梅. 基于语音卷积稀疏迁移学习和并行优选的帕金森病分类算法研究. 电子与信息学报, doi: 10.11999/JEIT180792

    6. [6]

      陈光武程鉴皓杨菊花刘昊张琳婧. 基于改进神经网络增强自适应UKF的组合导航系统. 电子与信息学报, doi: 10.11999/JEIT181171

    7. [7]

      李扬张伟涛楼顺天. 基于联合对角化的声信号深度卷积混合盲分离方法. 电子与信息学报, doi: 10.11999/JEIT190067

    8. [8]

      赵小强宋昭漾. 多级跳线连接的深度残差网络超分辨率重建. 电子与信息学报, doi: 10.11999/JEIT190036

    9. [9]

      路新华MANCHÓNCarles Navarro王忠勇张传宗. 大规模MIMO系统上行链路时间-空间结构信道估计算法. 电子与信息学报, doi: 10.11999/JEIT180676

    10. [10]

      马彬李尚儒谢显中. 异构无线网络中基于模糊逻辑的分级垂直切换算法. 电子与信息学报, doi: 10.11999/JEIT190190

    11. [11]

      王晓晗王韬李雄伟张阳黄长阳. 一种基于压缩边界Fisher分析的硬件木马检测方法. 电子与信息学报, doi: 10.11999/JEIT190004

    12. [12]

      周洋吴佳忆陆宇殷海兵. 面向三维高效视频编码的深度图错误隐藏. 电子与信息学报, doi: 10.11999/JEIT180926

    13. [13]

      王莉曹一凡杜高明刘冠宇王晓蕾张多利. 一种低延迟的3维高效视频编码中深度建模模式编码器. 电子与信息学报, doi: 10.11999/JEIT180798

    14. [14]

      何山红纪萌茜解良玉范瑾范冲. 一种快速稳健的致密焦面阵列馈源设计方法. 电子与信息学报, doi: 10.11999/JEIT190026

    15. [15]

      陆潞高梅国. 分布式阵列雷达基线位置和相位误差的卫星标校方法. 电子与信息学报, doi: 10.11999/JEIT181152

    16. [16]

      潘洁王帅李道京卢晓春. 基于方向图和多普勒相关系数的天基阵列SAR通道相位误差补偿方法. 电子与信息学报, doi: 10.11999/JEIT181061

    17. [17]

      张艳陈建华唐猛. 多层中继网络上的分布式LT码. 电子与信息学报, doi: 10.11999/JEIT180804

    18. [18]

      唐伦魏延南马润琳贺小雨陈前斌. 虚拟化云无线接入网络下基于在线学习的网络切片虚拟资源分配算法. 电子与信息学报, doi: 10.11999/JEIT180771

    19. [19]

      谷允捷胡宇翔谢记超. 基于重叠网络结构的服务功能链时空优化编排策略. 电子与信息学报, doi: 10.11999/JEIT190145

    20. [20]

      王汝言李宏娟吴大鹏李红霞. 基于半马尔科夫决策过程的虚拟传感网络资源分配策略. 电子与信息学报, doi: 10.11999/JEIT190016

  • 图 1  卷积层运算过程

    图 2  一个输入通道的卷积运算过程

    图 3  N个输入通道的卷积窗口并行计算

    图 4  累加器并行运算

    图 5  经典加法树

    图 6  本文设计的加法树

    图 7  乘法-加法树模块

    图 8  卷积窗口数据重用

    图 9  窗口缓存结构

    图 10  窗口缓存时序

    图 11  输出通道并行模块

    图 12  并行加速方案结构

    图 13  卷积窗口流水线

    图 14  FPGA, CPU, GPU的性能对比

    表 1  卷积神经网络结构参数

    层名称层结构参数量(个)
    卷积层1卷积核大小3×3,卷积核个数15,步长1150
    激活层10
    池化层1池化大小2×2,步长20
    卷积层2卷积核大小6×6,卷积核个数20,步长110820
    激活层20
    池化层2池化大小2×2,步长20
    全连接层输出神经元个数103210
    下载: 导出CSV

    表 2  FPGA资源消耗情况

    资源比例(%)
    ALMs89423/11356079
    Block Memory730151/124928006
    DSPs342/342100
    下载: 导出CSV

    表 3  与文献FPGA硬件加速对比

    年份2016[7]2017[11]2018[12]本文方法
    FPGAZynq XC7Z045ZynqXC7Z045Virtex-7 VX690TCyclone V 5CGXF
    频率(MHz)150100150100
    DSP资源780(86.7%)824(91.6%)1376(38%)342(100%)
    量化策略16 bit fixed16 bit fixed16 bit fixed16 bit fixed
    功耗(W)9.639.4259.711
    性能(GOPS)136.97229.5570317.86
    能效比(GOPS/W)14.2224.4222.8032.73
    下载: 导出CSV
  • 加载中
图(14)表(3)
计量
  • PDF下载量:  17
  • 文章访问数:  121
  • HTML全文浏览量:  90
  • 引证文献数: 0
文章相关
  • 通讯作者:  秦华标, eehbqin@scut.edu.cn
  • 收稿日期:  2019-01-22
  • 录用日期:  2019-06-10
  • 网络出版日期:  2019-06-20
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

/

返回文章