Convolutional neural network using VHDL to train an object classifier on an image
Abstract
The objective of the present work was to implement a convolutional neural network in hardware using VHDL. Regarding its design, it was experimental, the research begins with the design of a convolutional neural network in Software using Python, where Tensorflow and Keras were used. This design required a 6-epoch training to exceed 90% accuracy when classifying the images from the MNITS dataset. From this design, the parameters and hyperparameters, necessary for hardware design, are obtained. For the implementation of the algorithm in hardware, it was necessary to know the mathematical operation of the convolution, maxpooling and neural network operations, since in the software these operations are summarized in a line of code. Each of these operations was implemented in different blocks, following the modular approach. The response obtained in the hardware is displayed on a screen using the internal communication of the board between the ARM and the FPGA. This response obtained in hardware is similar to that obtained in software and the time in software is much longer than in hardware. The FPGA-based SoC platform, De-10 Nano, was used for this research.
Downloads
References
ALTERA CORPORATION. (2018). Floating Point Exponent (ALTFP_EXP) - Megafunction User Guide. 1st ed. Altera corpotation.
Belean, B. (2018). Application-Specific Hardware Architecture Design with VHDL. 1st ed. Cham: Springer.
Cong, J., Xiao, B. (2014). Minimizing computation in convolutional neural networks, in International Conference on Artificial Neural Networks (ICANN). Springer, pp. 281–290.
Cross, N. (2001). Métodos de diseño: estrategias para el diseño de productos. México, D.F.: Limusa.
Géron, A. (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (2.a ed.). California, United State: O’Reilly Media.
Goodfellow, I., Bengio, Y., Courville, A. (2016). Deep Learning} (1.a ed.). Cambridge, Massachusetts, Estados Unidos: MIT Press.
Heaton, J. (2015). Artificial Intelligence for Humans, Volume 3: Deep Learning and neural network (1.a ed., Vol. 3). Scotts Valley, California, Estados Unidos: CreateSpace Independent Publishing Platform.
Hernández, R., Fernández, C., Baptista, M. (2014). Metodología de la Investigación (6ta ed.). México: McGranw-Hill/ interamericana.
Krizhevsky, A., Sutskever, I., Hinton Geoffrey E., Geoffrey E Hinton. (2012). ImageNet Classification with Deep Convolutional Neural Networks. In Advances in Neural Information Processing Systems - NIPS’12, pp. 1–9.
Lecun, Y., Bottou, I,. Bengio, Y., Haffner, P. (1998). Gradient-based learning applied to document recognition". Proceedings of the IEEE, 86(11). 2278-2324.
Mittal, S. (2018). A Survey of FPGA-based Accelerators for Convolutional Neural Networks. Neural Computing and Applications. 10.1007/s00521-018-3761-1.
Mittal, S. y Vetter, J. (2015). A Survey of Methods for Analyzing and Improving GPU Energy Efficiency, ACM Computing Surveys.
NVIDIA. 2013. Tesla k40 GPU active accelerator. Report, 2013.
Ovtcharov, K., Ruwase, O., Kim, J.-Y., Fowers, J., Strauss, K., Chung, E. S. (2015). Accelerating deep convolutional neural networks usingspecialized hardware, Microsoft Research Whitepaper, 2 (11).
Panchal, G., Ganatra, A., Kosta, Y., Panchal, D. (2011). Behaviour analysis of multilayer perceptrons with multiple hidden neuronsand hidden layers. International Journal of Computer Theory and Engineering. 3 (2), 332–337.
Tu, F., Yin, S., Ouyang, P., Tang, S., Liu, L., Wei, S. (2017). Deep convolutional neural network architecture with reconfigurable computation patterns, IEEE Transactions on Very Large Scale Integration (VLSI)Systems.
Copyright
The Revista de la Universidad del Zulia declares that it recognizes the rights of the authors of the original works published in it; these works are the intellectual property of their authors. The authors preserve their copyright and share without commercial purposes, according to the license adopted by the journal..
This work is under license:
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)