Redes neuronales en dispositivos IoT

Paloma Recuero de los Santos    18 febrero, 2021
sensores Iot inteligentes

¿Cómo podemos dotar de inteligencia a nuestros dispositivos IoT? Funciones como reconocimiento facial 3D, control por voz, detección de piezas defectuosas, falsificaciones etc son aplicaciones que requieren CPUs potentes con GPUs igualmente potentes para ejecutar predicciones en redes neuronales profundas. Si a esto le sumamos la necesidad de ejecutar estas funciones de forma offline, sin acceder a potentes servidores en la nube, comprenderemos la importancia de investigar sobre nuevas redes neuronales capaces de funcionar en microcontroladores (MCU) con poca RAM.

Para comprenderlo mejor, basta un pequeño cálculo. En un ordenador normal, la RAM se calcula en gigabytes, mientras que, por ejemplo, un chip microcontrolador Atmega328 tiene una RAM del orden de 1-2KB.

ATmega328P-PU
Figura 1: Microcontrolador ATmega328P-PU (Fuente)

LogNNet

Andrei Velichko, de la Universidad Estatal de Petrozavodsk (Rusia), ha creado una nueva arquitectura de red neuronal LogNNet, que utiliza filtros caóticos deterministas para las señales de entrada. El sistema mezcla aleatoriamente la información de entrada, pero al mismo tiempo extrae datos valiosos de la información que no son visibles inicialmente. Es un mecanismo similar a que usan las redes neuronales tipo reservorio reservoir computing«).

Reservoir computing

Un «reservorio» representa un conjunto de unidades conectadas de forma recurrente que se conectan de forma aleatoria. La computación de reservorio utiliza una red neuronal recurrente (RNN) pero, en lugar de actualizar todos los parámetros de la red, sólo lo hace con algunos de ellos, manteniendo los demás fijos tras elegirlos aleatoriamente. Esto permite utilizar algoritmos de aprendizaje mucho más rápidos

De la misma forma, en la arquitectura LogNNet, el procesador reduce considerablemente el consumo de memoria al calcular secuencialmente los coeficientes de peso necesarios durante el funcionamiento de la red, utilizando para ello la ecuación analítica del mapeo logístico. De esta manera, se introduce el factor «caos».

(La aplicación o ecuación logística se utiliza habitualmente en biología de poblaciones y es un ejemplo típico de ecuación simple a partir de la cual calcular una secuencia de valores caóticos.)

Resultados experimentales

Para poner a prueba su red neuronal, Velichko utilizó un dataset clásico para el entrenamiento de redes neuronales en reconocimiento de imágenes: MNIST. La base de datos, con más de 70.000 dígitos escritos a mano, se particionó en un conjunto de entrenamiento con 60.000 dígitos, y otro de prueba de 10.000. La precisión de los resultados mejoraba cuanto más neuronas y más caos tenía la red, llegando a una precisión máxima de un 96,3%, con un consumo de no más de 29 KB de RAM. Lognet demostró resultados prometedores utilizando tamaños de RAM aún más pequeños, del orden de 1-2kB.

Por lo tanto, esta red puede utilizarse en implementaciones de inteligencia artificial basadas en dispositivos con limitaciones de memoria , que son la base de la inteligencia ambiental en los entornos IoT.

Y no sólo esto. Desde una perspectiva de investigación, LogNNet puede contribuir a la comprensión de la influencia del caos en el comportamiento de las redes neuronales de tipo reservoir.

Ejemplos de aplicación que ya son una realidad

En la feria Embeded World 2019 ya se presentaron algunas iniciativas basadas en la ejecución de redes neuronales profundas en microprocesadores con interesantes aplicaciones prácticas.

En una de las demostraciones se vio cómo predecir el fallo de motores en electrodomésticos como lavadoras, frigoríficos y aparatos de aire acondicionado mediante una placa con un microcontrolador (MCU) RX66T, que utiliza dos entradas de sensores que recogían:

  • La vibración del motor, medida con un acelerómetro.
  • Y su consumo eléctrico.

Cuando los rodamientos se desgastan, la fricción del tambor giratorio es mayor, por tanto, el motor consume más corriente. Otros posibles predictores de avería son una vibración demasiado fuerte, o ruidos extraños y fuertes procedentes del motor. Al embeber redes neuronales en los sensores, éstos son capaces de identificar comportamientos anómalos como probables precursores de averías, y generar alertas de mantenimiento antes de que éstas lleguen a producirse.

Como vemos, el mantenimiento predictivo es una de las aplicaciones más interesantes que puede tener la incorporación de inteligencia a los dispositivos. Pero es fácil darse cuenta del universo de oportunidades que abre al desarrollo de aplicaciones IoT va mucho más allá.

¿Cómo lo aplicarías tú?


Referencias:

Para mantenerte al día con el área de Internet of Things de Telefónica visita nuestra página web o síguenos en TwitterLinkedIn YouTube.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.