Red neuronal convolucional usando VHDL para entrenar un clasificador de objetos en una imagen

Palabras clave: Red neuronal Convolucional, FPGA, Python, SoC, VHDL

Resumen

El objetivo del presente trabajo fue implementar una Red neuronal convolucional en hardware usando VHDL.  En cuanto a su diseño fue experimental, la investigación inicia con el diseño de una red neuronal convolucional en Software usando Python, donde se utilizó Tensorflow y Keras. Este diseño necesitó un entrenamiento de 6 épocas, para superar el 90% de exactitud al momento de clasificar las imágenes del dataset MNITS. De este diseño se obtienen los parámetros e hiperparámetros, necesarios para el diseño en hardware. Para la implementación del algoritmo en hardware, fue necesario conocer el funcionamiento matemático de las operaciones de convolución, maxpooling y de las redes neuronales, ya que en el software estas operaciones están resumidas en una línea de código. Cada una de estas operaciones fue implementada en bloques diferentes, siguiendo el enfoque modular. La respuesta que se obtiene en el hardware, se muestra en una pantalla usando la comunicación interna de la placa entre el ARM y la FPGA. Esta respuesta obtenida en hardware es similar a la que se obtiene en software y el tiempo en el software es mucho mayor al del hardware. Para esta investigación se utilizó la plataforma SoC basada en FPGA, De-10 Nano.

 

Biografía del autor/a

Cesar Arturo Niño Carmonal, Universidad Nacional de Piura. Perú

Docente Asociado. Universidad Nacional de Piura. Perú. 

Manuel Jesús Sánchez-Chero, Universidad Nacional de Frontera
Docente Investigador. Universidad Nacional de Frontera.  Perú.
Emanuel Ortiz Ortiz, Universidad Nacional de Piura. Perú.
Bachiller. Universidad Nacional de Piura. Perú.
Juan Carlos Sernaque Julca, Universidad Nacional de Piura. Perú.
Bachiller. Universidad Nacional de Piura. Perú.
Cecilia Lizeth Risco Ipanaqué, Universidad Nacional de Frontera. Perú
Jefa (E) de la Unidad de Tecnología de Información y Comunicación. Universidad Nacional de Frontera. Perú.

Citas

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.

Publicado
2021-01-11
Cómo citar
Niño Carmonal, C. A., Sánchez-Chero, M. J., Ortiz Ortiz, E., Sernaque Julca, J. C., & Risco Ipanaqué, C. L. (2021). Red neuronal convolucional usando VHDL para entrenar un clasificador de objetos en una imagen . Revista De La Universidad Del Zulia, 12(32), 240-260. https://doi.org/10.46925//rdluz.32.16