Ejecución de redes neuronales en móviles Android con aceleración hardware mediante Keras y Tensorflow Lite
Author
Fragua Baeza, ÁngelAdvisor
García García, Miguel ÁngelEntity
UAM. Departamento de Tecnología Electrónica y de las ComunicacionesDate
2021-06Subjects
Red neuronal; Red neuronal convolucional; Clasificación de imágenes; TelecomunicacionesEsta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.
Abstract
Las redes neuronales han evolucionado en todos los sentidos desde su primera aparición en 1943 a manos de Warren McCulloch. Estas primeras redes eran muy simples y tenían muchas limitaciones, pero después de poco más de una década surgió otro nuevo modelo de red neuronal llamado Perceptrón. Este modelo trajo consigo una nueva tendencia en el diseño de redes neuronales, pero poco después se encontró con ciertas limitaciones, como la imposibilidad de resolver problemas no separables linealmente como es el caso de la puerta lógica XOR. Fue en ese momento cuando surgió lo que se consideró como el primer “Invierno de la Inteligencia Artificial”. Este fue solventado con la aparición del mecanismo de la propagación hacia atrás, que permitiría entrenar redes neuronales profundas. Desde aquel momento hasta ahora, ha habido unos cuantos “Inviernos de la Inteligencia Artificial”, pero con el tiempo siempre se acaba encontrando una solución. Uno de los mayores problemas con los que se han topado las redes neuronales es su alto coste computacional, que sigue siendo ciertamente alto hoy en día. Pero, aun así, siguen surgiendo soluciones para poder ejecutar redes neuronales con recursos mínimos y alta eficiencia. Este es el motivo por el cual este trabajo tratará de hacer un estudio completo de las redes neuronales en dispositivos móviles, aprovechando las ventajas que ofrecen las herramientas de TensorFlow Lite. En el trabajo se partirá de unas redes preentrenadas en Keras, que pueden dividirse en dos grupos, las redes más consolidadas entre las que se verán VGG16 y ResNet50, y las enfocadas a dispositivos móviles, como es el caso de MobileNet y EfficientNet. Las redes están entrenadas bajo una base de datos de imágenes muy conocida llamada ImageNet, con el objetivo de ser capaces de clasificar dichas imágenes u otras muy similares. Estas redes serán convertidas a los modelos específicos de TensorFlow Lite, aplicándoles optimizadores en aquellos casos que sean posibles. Una vez se tiene el modelo en TensorFlow Lite se hará un estudio exhaustivo sobre el impacto de usar diferentes aceleraciones hardware y software al realizar la inferencia de las imágenes, mediante una serie de delegados como la GPU y NNAPI. También se introducirán estos nuevos modelos de TensorFlow Lite en una aplicación Android real, con la consiguiente introducción de los preprocesamientos de imágenes que requiera cada modelo. Esto permitirá terminar el proceso que implicaría querer introducir una red neuronal en un dispositivo móvil desde cero.
Files in this item
Google Scholar:Fragua Baeza, Ángel
This item appears in the following Collection(s)
Except where otherwise noted, this item's license is described as https://creativecommons.org/licenses/by-nc-nd/4.0/
Related items
Showing items related by title, author, creator and subject.
-
Generación de contraseñas de un sólo uso mediante móviles Android
Cabello Álvarez, Alberto
2016-06 -
Control de un robot basado en Arduino mediante un dispositivo móvil Android
Yajamín Yajamín, Jonathan Patricio
2017-06 -
Diseño e implementación de un agente móvil Android para medir la Quality of Service de los operadores de telefonía móvil
Ramos Maroto, Christian
2016-01