Biblioteca de evaluación y entrenamiento de redes neuronales artificiales implementada en Rust y OpenCL

dc.contributor.advisorCornejo-Torres, Pedro A.
dc.contributor.authorEscamilla-Ochoa, Víctor R.
dc.date.accessioned2021-04-13T16:59:55Z
dc.date.available2021-04-13T16:59:55Z
dc.date.issued2021-01
dc.descriptionEl presente trabajo consiste en el desarrollo de un framework para el diseño, evaluación y entrenamiento de Redes Neuronales con soporte de OpenCL para acelerar los cálculos mediante del uso de la Unidad de Procesamiento Gráfico (GPU por sus siglas en inglés) y desarrollado en Rust, un lenguaje de alto nivel diseñado para la programación de sistemas con un desempeño equiparable a C y C++. En primer lugar, se exploran algunas de las librerías de machine learning más utilizadas en la industria actualmente (Tensorflow, Theano, CNTK, PyTorch y Keras), así como otros proyectos de machine learning más recientes propuestos por la comunidad de Rust (Rust Tensorflow, Juice, Rust-autograd y tchrs). De este análisis se obtiene una comparación breve entre las soluciones existentes que sirve para establecer puntos de mejora en el estado del arte del área de machine learning en Rust. Posteriormente se analizan las bases teóricas sobre las cuales se fundamenta el modelado, entrenamiento y evaluación de redes neuronales: los perceptrones, las funciones de activación, los algoritmos detrás del entrenamiento de una red neuronal (feedforward-backpropagation), técnicas para el procesamiento de grandes cantidades de datos, generalización de una red neuronal y el sobreentrenamiento. Se detallan también las características de OpenCL y Rust que permiten implementar dichas bases teóricas a lo largo de este trabajo. Con la finalidad de establecer un marco de referencia que ayude a determinar el éxito de la biblioteca que se desarrolla en este trabajo, se toman dos problemas bastante populares en el área de machine learning (compuerta XOR y detección de dígitos escritos a mano a partir del dataset MNIST), cuya solución radica en el uso de redes neuronales clásicas. Ambas soluciones son implementadas con la biblioteca propuesta en este trabajo y se procede a comparar el desempeño obtenido contra los mismos modelos de redes neuronales implementados con Tensorflow y Keras. Finalmente, se proporciona una discusión a partir de los resultados obtenidos durante los experimentos realizados y se analizan posibles mejoras en el desempeño de la biblioteca, así como trabajo a futuro.es_MX
dc.description.sponsorshipITESO, A. C.es
dc.identifier.citationEscamilla-Ochoa, V. R. (2021). Biblioteca de evaluación y entrenamiento de redes neuronales artificiales implementada en Rust y OpenCL. Trabajo de obtención de grado, Maestría en Sistemas Computacionales. Tlaquepaque, Jalisco: ITESO.es_MX
dc.identifier.urihttps://hdl.handle.net/11117/6548
dc.language.isospaes_MX
dc.publisherITESOes_MX
dc.rights.urihttp://quijote.biblio.iteso.mx/licencias/CC-BY-NC-2.5-MX.pdfes_MX
dc.subjectMachine Learninges_MX
dc.subjectAprendizaje Automáticoes_MX
dc.subjectRedes Neuronaleses_MX
dc.subjectNeural Networkses_MX
dc.subjectOpenCLes_MX
dc.subjectRustes_MX
dc.titleBiblioteca de evaluación y entrenamiento de redes neuronales artificiales implementada en Rust y OpenCLes_MX
dc.typeinfo:eu-repo/semantics/masterThesises_MX
dc.type.versioninfo:eu-repo/semantics/acceptedVersiones_MX

Archivos

Bloque original
Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
TOG_VictorEscamilla_ms723275_v1.1.pdf
Tamaño:
1.39 MB
Formato:
Adobe Portable Document Format
Descripción: