Titulo: Desarrollo de aplicaciones que requieran técnicas de aprendizaje automático y procesamiento de señales en IoT
Área:
Nombre del proponente: Leonardo Barboni
Email de contacto: ing.barboni@gmail.com
Descripción de la propuesta:

Deep-learning, junto a un gran número de algoritmos de aprendizaje automático han tenido recientemente un gran éxito en una variedad de dominios de aplicaciones, incluyendo visión por computadora, control, reconocimiento de patrones,
procesamiento de lenguaje natural, y análisis de big data, entre otros. Ejemplos de ellos se pueden encontrar en [1].

Entrenar un modelo de aprendizaje automático requiere grandes recursos de hardware y computación. Es altamente caro debido a la cantidad de parámetros que necesitan ser refinados iterativamente durante múltiples períodos de tiempo.
Y la inferencia es computacionalmente costosa debido a la potencial alta dimensionalidad de los datos de entrada.

Actualmente se ha convertido en un desafío importante el poder adaptar los altos requisitos de recursos del aprendizaje automático (principalmente deep-learning) en hardware y firmware con reducidos recursos informáticos (edge-devices nodes en el contexto IoT)

Diseñar un algoritmo de aprendizaje automático eficiente o seleccionar el algoritmo correcto para una aplicación dada es un gran  desafío debido al gran número de decisiones de hiperparámetros y además se requiere una buena comprensión
de los trade-off entre la velocidad del procesador, la precisión, el uso de acceso a memoria, la energía (usualmente provista por baterias) y otros recursos del nodo IoT.
Todo debe ser considerado por el diseñador o el desarrollador de la aplicación.

La creciente necesidad de experimentar con nodos IoT, ha llevado a los investigadores a recurrir a kits de desarrollo específicos cono Tensorflow Lite, Caffe, The Embedded Learning Library (ELL) de Microsoft o el kit de Nvidia Jetson Nano SDK,  el de Intel Edison o el XaLogic XAPIZ3500 HAT compatible con plataformas Rasperry. Todos estan diseñado para experimentos en escenarios IoT.

Un desafio adicional es que en el contexto de IoT  puede haber varios flujos de datos que deben ser fusionados y procesados juntos, y estos flujos de datos normalmente tienen una correlación de espacio y tiempo que debe ser
aprovechado por el aprendizaje automático.

Se propone iniciar una línea de trabajo en el contexto del aprendizaje profundo y aprendizaje automático en IoT, para implementar los modelos de aprendizaje en dispositivos computacionalmente débiles como son los nodos IoT (edge-devices), que normalmente solo tienen kilobytes de memoria y procesadores de bajo consumo alimentados por baterias.

Se busca entonces diseñar algoritmos de aprendizaje automático para dispositivos con recursos limitados, explorando técnicas como el uso de un número reducido de parámetros, optimización de acceso a memoria, descomposición de filtros de
convolución en operaciones mas simples, utilización de parámetros y pesos pre-entrenados, utilización de operaciones en punto fijo para evitar multiplicaciones costosas, o proponiendo nuevos paradigmas de computación embebida para nodos IoT.


[1] M. Mohammadi, A. Al-Fuqaha, S. Sorour, and M. Guizani, “Deep learning for IoT big data and streaming analytics: A survey,”IEEE Communications Surveys & Tutorials., vol. 20, no. 4, pp. 2923–2960, 4th Quart., 2018.

Adjuntos:
Marcas: