高级搜索

基于快速滤波算法的卷积神经网络加速器设计

王巍 周凯利 王伊昌 王广 袁军

引用本文: 王巍, 周凯利, 王伊昌, 王广, 袁军. 基于快速滤波算法的卷积神经网络加速器设计[J]. 电子与信息学报, doi: 10.11999/JEIT190037 shu
Citation:  Wei WANG, Kaili ZHOU, Yichang WANG, Guang WANG, Jun YUAN. Design of Convolutional Neural Networks Accelerator Based on Fast Filter Algorithm[J]. Journal of Electronics and Information Technology, doi: 10.11999/JEIT190037 shu

基于快速滤波算法的卷积神经网络加速器设计

    作者简介: 王巍: 男,1967年生,博士后,教授,研究方向为集成电路设计;
    周凯利: 女,1991年生,硕士生,研究方向为数字集成电路设计;
    王伊昌: 男,1996年生,硕士生,研究方向为模拟集成电路设计;
    王广: 男,1994年生,硕士生,研究方向为半导体光电器件设计;
    袁军: 男,1984年生,博士,副教授,研究方向为数模混合集成电路设计;
    通讯作者: 周凯利, 2508005354@qq.com
  • 基金项目: 国家自然科学基金(61404019),重庆市基础与前沿研究计划项目(cstc2016jcyjA0272)

摘要: 为减少卷积神经网络(CNN)的计算量,该文将2维的快速滤波算法引入到卷积神经网络,并提出一种在FPGA上实现CNN逐层加速的硬件架构。首先,采用循环变换方法设计行缓存循环控制单元,用于有效地管理不同卷积窗口以及不同层之间的输入特征图数据,并通过标志信号启动卷积计算加速单元来实现逐层加速;其次,设计了基于4并行快速滤波算法的卷积计算加速单元,该单元采用若干小滤波器组成的复杂度较低的并行滤波结构来实现。利用手写数字集MNIST对所设计的CNN加速器电路进行测试,结果表明:在xilinx kintex7平台上,输入时钟为100 MHz时,电路的计算性能达到了20.49 GOPS,识别率为98.68%。可见通过减少CNN的计算量,能够提高电路的计算性能。

English

    1. [1]

      ZHANG Chen, LI Peng, SUN Guangyu, et al. Optimizing FPGA-based accelerator design for deep convolutional neural networks[C]. Proceedings of 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, USA, 2015: 161–170.

    2. [2]

      KRIZHEVSKY A, SUTSKEVER I, and HINTON G E. ImageNet classification with deep convolutional neural networks[C]. Proceedings of the 25th International Conference on Neural Information Processing Systems, Lake Tahoe, USA, 2012: 1097–1105.

    3. [3]

      DONG Han, LI Tao, LENG Jiabing, et al. GCN: GPU-based cube CNN framework for hyperspectral image classification[C]. Proceedings of the 201746th International Conference on Parallel Processing, Bristol, UK, 2017: 41–49.

    4. [4]

      GHAFFARI S and SHARIFIAN S. FPGA-based convolutional neural network accelerator design using high level synthesize[C]. Proceedings of the 20162nd International Conference of Signal Processing and Intelligent Systems, Tehran, Iran, 2016: 1–6.

    5. [5]

      CHEN Y H, KRISHNA T, EMER J S, et al. Eyeriss: An energy-efficient reconfigurable accelerator for deep convolutional neural networks[J]. IEEE Journal of Solid-State Circuits, 2017, 52(1): 127–138. doi: 10.1109/JSSC.2016.2616357

    6. [6]

      FENG Gan, HU Zuyi, CHEN Song, et al. Energy-efficient and high-throughput FPGA-based accelerator for Convolutional Neural Networks[C]. Proceedings of the 201613th IEEE International Conference on Solid-State and Integrated Circuit Technology, Hangzhou, China, 2016: 624–626.

    7. [7]

      ZHOU Yongmei and JIANG Jingfei. An FPGA-based accelerator implementation for deep convolutional neural networks[C]. Proceedings of the 20154th International Conference on Computer Science and Network Technology, Harbin, China, 2015: 829–832.

    8. [8]

      HOSEINI F, SHAHBAHRAMI A, and BAYAT P. An efficient implementation of deep convolutional neural networks for MRI segmentation[J]. Journal of Digital Imaging, 2018, 31(5): 738–747. doi: 10.1007/s10278-018-0062-2

    9. [9]

      HUANG Jiahao, WANG Tiejun, ZHU Xuhui, et al. A parallel optimization of the fast algorithm of convolution neural network on CPU[C]. Proceedings of the 201810th International Conference on Measuring Technology and Mechatronics Automation, Changsha, China, 2018: 5–9.

    10. [10]

      LAVIN A and GRAY S. Fast algorithms for convolutional neural networks[C]. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, USA, 2016, 4013–4021.

    11. [11]

      VINCHURKAR P P, RATHKANTHIWAR S V, and KAKDE S M. HDL implementation of DFT architectures using winograd fast Fourier transform algorithm[C]. Proceedings of the 20155th International Conference on Communication Systems and Network Technologies, Gwalior, India, 2015: 397–401.

    12. [12]

      WANG Xuan, WANG Chao, and ZHOU Xuehai. Work-in-progress: WinoNN: Optimising FPGA-based neural network accelerators using fast winograd algorithm[C]. Proceedings of 2018 International Conference on Hardware/Software Codesign and System Synthesis, Turin, Italy, 2018: 1–2.

    13. [13]

      NAITO Y, MIYAZAKI T, and KURODA I. A fast full-search motion estimation method for programmable processors with a multiply-accumulator[J]. Proceedings of 1996 IEEE International Conference on Acoustics, Speech, and Signal Processing Conference Proceedings, Atlanta, USA, 1996: 3221–3224.

    14. [14]

      JIANG Jingfei, HU Rongdong, and LUJÁN M. A flexible memory controller supporting deep belief networks with fixed-point arithmetic[C]. Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing Workshops and PhD Forum, Cambridge, USA, 2013: 144–152.

    15. [15]

      LI Sicheng, WEN Wei, WANG Yu, et al. An FPGA design framework for CNN sparsification and acceleration[C]. Proceedings of the 2017 IEEE 25th Annual International Symposium on Field-Programmable Custom Computing Machines, Napa, USA, 2017: 28.

    1. [1]

      李元金张万成吴南健. 一种基于并行处理器的快速车道线检测系统及FPGA实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.00111

    2. [2]

      江洁凌思睿. 一种投票式并行RANSAC算法及其FPGA实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2013.00962

    3. [3]

      刘勤让刘崇阳. 利用参数稀疏性的卷积神经网络计算优化及其FPGA加速器设计. 电子与信息学报, doi: 10.11999/JEIT170819

    4. [4]

      王一杨海钢余乐孙嘉斌. FPGA开关矩阵中基于通道结构的漏电流优化方法. 电子与信息学报, doi: 10.3724/SP.J.1146.2013.00242

    5. [5]

      李威杨海钢黄娟. 基于单驱动和多驱动通道形式组合的FPGA互连结构研究. 电子与信息学报, doi: 10.3724/SP.J.1146.2009.01007

    6. [6]

      史圣卿陈凯汪玉罗嵘. 基于FPGA的稀疏网络关键节点计算的硬件加速方法研究. 电子与信息学报, doi: 10.3724/SP.J.1146.2011.00363

    7. [7]

      涂开辉黄志洪侯峥嵘杨海钢. 基于配置模式匹配和层次化映射结构的高效FPGA码流生成系统研究. 电子与信息学报, doi: 10.11999/JEIT190143

    8. [8]

      王粉花谢斌王华涛. 基于FPGA的快速差频测量系统设计. 电子与信息学报, doi: 10.11999/JEIT180243

    9. [9]

      兰亚柱杨海钢林郁. 面向DVB-S2标准LDPC码的高效编码结构. 电子与信息学报, doi: 10.11999/JEIT151198

    10. [10]

      谭宜涛杨海钢黄娟郝亚男崔秀海. 基于关键路径的三模冗余表决器插入算法. 电子与信息学报, doi: TN406

    11. [11]

      兰亚柱杨海钢林郁. 动态自适应低密度奇偶校验码译码器的FPGA实现. 电子与信息学报, doi: 10.11999/JEIT141609

    12. [12]

      丁菁汀杜歆周文晖刘济林. 基于FPGA的立体视觉匹配的高性能实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.00943

    13. [13]

      梁华国孙红云孙骏黄正峰徐秀敏易茂祥欧阳一鸣鲁迎春闫爱斌. 一种基于FPGA的微处理器软错误敏感性分析方法. 电子与信息学报, doi: 10.11999/JEIT160225

    14. [14]

      杨金林杨海钢. 可重构存储器无地址冲突的访问机理及比特标识方法研究. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.00463

    15. [15]

      田禹泽王煜代海山方华刘文清. 基于数字锁相环的星载光谱仪本地时钟源设计. 电子与信息学报, doi: 10.11999/JEIT170088

    16. [16]

      薛茜男李振姜承翔王鹏田毅. 面向航空环境的多时钟单粒子翻转故障注入方法. 电子与信息学报, doi: 10.3724/SP.J.1146.2013.01296

    17. [17]

      孙红英杨鸿武陶中幸. 语谱分析的FPGA实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.01005

    18. [18]

      秦华标曹钦平. 基于FPGA的卷积神经网络硬件加速器设计. 电子与信息学报, doi: 10.11999/JEIT190058

    19. [19]

      谢星黄新明孙玲韩赛飞. 大整数乘法器的FPGA设计与实现. 电子与信息学报, doi: 10.11999/JEIT180836

    20. [20]

      田晶晶李广军李强. 一种基于迭代短卷积算法的低复杂度并行FIR滤波器结构. 电子与信息学报, doi: 10.3724/SP.J.1146.2013.00976

  • 图 2  卷积层的卷积计算过程

    图 1  卷积神经网络的结构

    图 3  卷积神经网络的逐层加速硬件架构图

    图 4  行缓存循环控制单元

    图 5  卷积计算加速单元的结构图

    图 6  各部分的具体电路

    表 1  MATLAB实现与FPGA实现的比较

    类型时间(ms/frams)精度(bad/10000 frames)数据类型
    .m文件0.78541.19%双精度
    .v 文件0.019861.32%16 bit定点数
    下载: 导出CSV

    表 2  卷积神经网络FPGA实现的性能比较

    参数文献[4]文献[6]文献[7]本文方案
    FPGAVirttex-7xc7vx485tZynqzc702Virttex-7xc7vx485tKirtex-7xc7k325t
    频率(MHz)100166150100
    时间(ms)2.63680.15100.02540.0199
    BRAM2796030
    DSP2095638284
    FF54, 07527, 66466, 34636, 973
    LUT14, 83238, 83651, 12551, 748
    识别率(%)98.62%99.01%96.8%98.68%
    GOPS1.582.7015.8720.49
    下载: 导出CSV
  • 加载中
图(6)表(2)
计量
  • PDF下载量:  4
  • 文章访问数:  49
  • HTML全文浏览量:  44
  • 引证文献数: 0
文章相关
  • 通讯作者:  周凯利, 2508005354@qq.com
  • 收稿日期:  2019-01-15
  • 录用日期:  2019-03-20
  • 网络出版日期:  2019-05-23
通讯作者: 陈斌, bchen63@163.com
  • 1. 

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

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

/

返回文章