Red neuronal convolucional usando VHDL para entrenar un clasificador de objetos en una imagen
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.
Descargas
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.
Copyright
La Revista de la Universidad del Zulia declara que reconoce los derechos de los autores de los trabajos originales que en ella se publican; dichos trabajos son propiedad intelectual de sus autores. Los autores preservan sus derechos de autoría y comparten sin propósitos comerciales, según la licencia adoptada por la revista..
Esta obra está bajo la licencia:
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)