Red neuronal convolucional usando VHDL para entrenar un clasificador de objetos en una imagen - Niño Carmonal, Cesar Arturo; Sánchez-Chero, Manuel Jesús; Ortiz Ortiz, Emanuel; Sernaque Julca, Juan Carlos; Risco Ipanaqué, Cecilia Lizeth (Revista de la Universidad del Zulia, 2021)
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.