Convolutional neural network acceleration system based on FPGA

  • LI Xiaoyan ,
  • ZHANG Xin ,
  • YAN Xiaobing ,
  • REN Deliang ,
  • LI Yanqing ,
  • FU Changjuan
Expand
  • 1. College of Telecommunications and Information Engineering, Hebei University, Baoding 071002, China; 2. Baoding Yonghong Foundry Machinery Factory, Baoding 072150, China

Received date: 2018-09-02

  Online published: 2019-01-25

Abstract

In this paper, the convolutional neural network is deployed on the Field Programmable Gate Array(FPGA). As a background, a convolutional neural network is proposed to accelerate hardware. The paper analyzes the structural characteristics of convolutional neural networks, stores, reads, and moves data in a stream-style manner. Next, the convolution unit in each layer of the convolutional neural network is expanded to speed up the multiplication and addition operations. Based on the(FPGA)unique parallel structure, pipeline processing method can effectively improve the efficiency of the operation. From object classification results for the ciafr-10 dataset, at 800MHz operating frequency and without loss of accuracy, FPGA compared to General purpose processor can achieve 4 times speed up, Convolutional neural network through parallel process and multi-stage pipeline process can accelerate forward propagation of convolutional neural networks, being suitable for the demand of practical engineering tasks.

Cite this article

LI Xiaoyan , ZHANG Xin , YAN Xiaobing , REN Deliang , LI Yanqing , FU Changjuan . Convolutional neural network acceleration system based on FPGA[J]. Journal of Hebei University(Natural Science Edition), 2019 , 39(1) : 99 -105 . DOI: 10.3969/j.issn.1000-1565.2019.01.017

References

[1] LI H, FAN X, JIAO L, et al. A high performance FPGA-based accelerator for large-scale convolutional neural networks[C] //IEEE, 26th International Conference on Field Programmable Logic and Applications, 2016:1-9. DOI: 10.1109/FPL. 2016. 7577308.
[2] ZHANG C, LI P, SUN G, et al. Optimizing FPGA-based accelerator design for deep convolutional neural networks[C] //ACM, Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2015:161-170. DOI: 10.1145/2684746. 2689060.
[3] FARABET C, POULET C, HAN J Y, et al. CNP: An FPGA-based processor for convolutional networks[C] // IEEE, International Conference on Field Programmable Logic and Applications, 2009:32-37. DOI: 10.1109/FPL. 2009. 5272559.
[4] PERKO M, FAJFAR I, TUMA T, et al. Low-cost, high-performance CNN simulator implemented in FPGA[C] //IEEE, Proceedings of the 2000 6th IEEE International Workshop on Cellular Neural Networks and Their Applications, 2000:277-282. DOI: 10. 1109/CNNA. 2000. 876858.
[5] FARABET C, POULET C, LECUN Y. An FPGA-based stream processor for embedded real-time vision with Convolutional Networks[C] // IEEE, 12th International Conference on Computer Vision Workshops, 2009:878-885. DOI: 10. 1109/ICCVW. 2009. 5457611.
[6] SANKARADAS M, JAKKULA V, CADAMBI S, et al. A massively parallel coprocessor for convolutional neural networks[C] //IEEE, 20th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 2009:53-60. DOI: 10.1109/ASAP.2009.25.
[7] MA Y, CAO Y, VRUDHULA S, et al. Optimizing loop operation and dataflow in FPGA acceleration of deep convolutional neural networks[C] //ACM, Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2017:45-54. DOI:10.1145/3020078.3021736.
[8] CHANG J W, KANG S J. Optimizing FPGA-based convolutional neural networks accelerator for image super-resolution[C] //IEEE Press, Proceedings of the 23rd Asia and South Pacific Design Automation Conference, 2018: 343-348. DOI: 10.1109/ASPDAC.2018.8297347.
[9] GARCIA C, DELAKIS M. A neural architecture for fast and robust face detection [C] //IEEE, 16th International Conference on Pattern Recognition. 2002, 2(11):44-47. DOI: 10.1109/ICPR.2002.1048232.
[10] DELAKIS M, GARCIA C. Text detection with convolutional neural networks[C] // Proceedings of the Third International Conference on Computer Vision Theory and Applications, 2008:290-294.
[11] ZHANG C, LI P, SUN G, et al. Optimizing FPGA-based accelerator design for deep convolutional neural networks[C] //ACM, Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2015:161-170. DIO: 10.1145/2684746.2689060.
[12] PEEMEN M, SETIO A A A, MESMAN B, et al. Memory-centric accelerator design for convolutional neural networks[C] //Proceedings of the 2013 IEEE 31th International Conference on Computer Design, 2013:13-19. DOI: 10.1109/ICCD.2013.6657019.
[13] LI N, TAKAKI S, TOMIOKAY Y, et al. A multistage dataflow implementation of a deep convolutional neural network based on FPGA for high-speed object recognition[C] //IEEE, 2016 IEEE Southwest Symposium on Image Analysis and Interpretation, 2016:165-168. DOI: 10.1109/SSIAI.2016.7459201.
[14] BACIS M, NATALE G, SOZZO E D, et al. A pipelined and scalable dataflow implementation of convolutional neural networks on FPGA[C] //IEEE, Parallel and Distributed Processing Symposium Workshops, 2017:90-97. DOI:10.1109/IPDPSW.2017.44.
[15] NATALE G, BACIS M, SANTAMBROGIO M D. On how to design dataflow FPGA-based accelerators for convolutional neural networks[C] //IEEE, 2017 IEEE Computer Society Annual Symposium on VLSI, 2017:639-644. DOI: 10.1109/ISVLSI.2017.126.
Outlines

/

〈 〉