Este sistema lleva el deep learning a los dispositivos de “Internet de las cosas”

Esta innovación podría habilitar la inteligencia artificial en los electrodomésticos al tiempo que mejora la seguridad de los datos y la eficiencia energética.

El aprendizaje profundo está en todas partes. Esta rama de la inteligencia artificial selecciona sus redes sociales y ofrece sus resultados de búsqueda de Google. Pronto, el aprendizaje profundo también podría verificar sus signos vitales o configurar su termostato. Los investigadores del MIT han desarrollado un sistema que podría llevar redes neuronales de aprendizaje profundo a lugares nuevos, y mucho más pequeños, como los diminutos chips de computadora en dispositivos médicos portátiles, electrodomésticos y los otros 250 mil millones de objetos que constituyen el “Internet de las cosas” ( IoT).

El sistema, llamado MCUNet, diseña redes neuronales compactas que brindan una velocidad y precisión sin precedentes para el aprendizaje profundo en dispositivos IoT, a pesar de la memoria y la potencia de procesamiento limitadas. La tecnología podría facilitar la expansión del universo de IoT al tiempo que ahorra energía y mejora la seguridad de los datos.

La investigación se presentará en la Conferencia sobre sistemas de procesamiento de información neuronal del próximo mes. El autor principal es Ji Lin, estudiante de doctorado en el laboratorio de Song Han en el Departamento de Ingeniería Eléctrica e Informática del MIT. Los coautores incluyen a Han y Yujun Lin del MIT, Wei-Ming Chen del MIT y la Universidad Nacional de Taiwán, y John Cohn y Chuang Gan del MIT-IBM Watson AI Lab.

Internet de las cosas

El IoT nació a principios de la década de 1980. Los estudiantes de posgrado de la Universidad Carnegie Mellon, incluido Mike Kazar ’78, conectaron una máquina Cola-Cola a Internet. La motivación del grupo era simple: la pereza. Querían usar sus computadoras para confirmar que la máquina estaba surtida antes de salir de su oficina para hacer una compra. Fue el primer dispositivo conectado a Internet del mundo. “Esto fue tratado prácticamente como el remate de una broma”, dice Kazar, ahora ingeniero de Microsoft. “Nadie esperaba miles de millones de dispositivos en Internet”.

Desde esa máquina de Coca-Cola, los objetos cotidianos se han conectado cada vez más en red en el creciente IoT. Eso incluye todo, desde monitores cardíacos portátiles hasta neveras inteligentes que le avisan cuando tiene poca leche. Los dispositivos de IoT a menudo se ejecutan en microcontroladores: chips de computadora simples sin sistema operativo, potencia de procesamiento mínima y menos de una milésima parte de la memoria de un teléfono inteligente típico. Por lo tanto, las tareas de reconocimiento de patrones como el aprendizaje profundo son difíciles de ejecutar localmente en dispositivos de IoT. Para análisis complejos, los datos recopilados por IoT a menudo se envían a la nube, lo que los hace vulnerables a la piratería.

“¿Cómo implementamos redes neuronales directamente en estos pequeños dispositivos? Es una nueva área de investigación que se está poniendo muy de moda ”, dice Han. “Empresas como Google y ARM están trabajando en esta dirección”. Han también lo es.

Con MCUNet, el grupo de Han codignó dos componentes necesarios para un “pequeño aprendizaje profundo”: el funcionamiento de redes neuronales en microcontroladores. Un componente es TinyEngine, un motor de inferencia que dirige la administración de recursos, similar a un sistema operativo. TinyEngine está optimizado para ejecutar una estructura de red neuronal particular, que es seleccionada por el otro componente de MCUNet: TinyNAS, un algoritmo de búsqueda de arquitectura neuronal.

Código de algoritmo del sistema

Diseñar una red profunda para microcontroladores no es fácil. Las técnicas de búsqueda de arquitectura neuronal existentes comienzan con un gran conjunto de posibles estructuras de red basadas en una plantilla predefinida, luego encuentran gradualmente la que tiene alta precisión y bajo costo. Si bien el método funciona, no es el más eficiente. “Puede funcionar bastante bien para GPU o teléfonos inteligentes”, dice Lin. “Pero ha sido difícil aplicar directamente estas técnicas a microcontroladores diminutos, porque son demasiado pequeños”.

Entonces Lin desarrolló TinyNAS, un método de búsqueda de arquitectura neuronal que crea redes de tamaño personalizado. “Tenemos muchos microcontroladores que vienen con diferentes capacidades de energía y diferentes tamaños de memoria”, dice Lin. “Así que desarrollamos el algoritmo [TinyNAS] para optimizar el espacio de búsqueda para diferentes microcontroladores”. La naturaleza personalizada de TinyNAS significa que puede generar redes neuronales compactas con el mejor rendimiento posible para un microcontrolador determinado, sin parámetros innecesarios. “Luego entregamos el modelo final y eficiente al microcontrolador”, dice Lin.

Para ejecutar esa pequeña red neuronal, un microcontrolador también necesita un motor de inferencia ajustado. Un motor de inferencia típico tiene cierto peso muerto: instrucciones para tareas que rara vez se ejecutan. El código adicional no representa ningún problema para una computadora portátil o un teléfono inteligente, pero podría abrumar fácilmente a un microcontrolador. “No tiene memoria fuera del chip y no tiene disco”, dice Han. “Todo junto es solo un megabyte de flash, por lo que tenemos que administrar con mucho cuidado un recurso tan pequeño”. Cue TinyEngine.

Los investigadores desarrollaron su motor de inferencia junto con TinyNAS. TinyEngine genera el código esencial necesario para ejecutar la red neuronal personalizada de TinyNAS. Se descarta cualquier código de peso muerto, lo que reduce el tiempo de compilación. “Conservamos solo lo que necesitamos”, dice Han. “Y desde que diseñamos la red neuronal, sabemos exactamente lo que necesitamos. Esa es la ventaja del código de algoritmo de sistema “. En las pruebas del grupo de TinyEngine, el tamaño del código binario compilado era entre 1,9 y cinco veces más pequeño que los motores de inferencia de microcontroladores comparables de Google y ARM. TinyEngine también contiene innovaciones que reducen el tiempo de ejecución, incluida la convolución en profundidad en el lugar, que reduce el uso máximo de memoria casi a la mitad. Después de codificar TinyNAS y TinyEngine, el equipo de Han puso a prueba MCUNet.

El primer desafío de MCUNet fue la clasificación de imágenes. Los investigadores utilizaron la base de datos ImageNet para entrenar el sistema con imágenes etiquetadas y luego probar su capacidad para clasificar las nuevas. En un microcontrolador comercial que probaron, MCUNet clasificó con éxito el 70,7 por ciento de las imágenes novedosas; la combinación anterior de motor de inferencia y red neuronal de última generación tenía solo un 54 por ciento de precisión. “Incluso una mejora del 1 por ciento se considera significativa”, dice Lin. “Así que este es un gran paso para la configuración de microcontroladores”.

El equipo encontró resultados similares en pruebas ImageNet de otros tres microcontroladores. Y tanto en velocidad como en precisión, MCUNet venció a la competencia en tareas de “palabras de activación” de audio y visuales, donde un usuario inicia una interacción con una computadora usando señales vocales (piense: “Oye, Siri”) o simplemente ingresando a una habitación. Los experimentos destacan la adaptabilidad de MCUNet a numerosas aplicaciones.

 

“Gran potencial”

Los prometedores resultados de las pruebas dan a Han la esperanza de que se convierta en el nuevo estándar de la industria para microcontroladores. “Tiene un potencial enorme”, dice.

El avance “extiende la frontera del diseño de redes neuronales profundas aún más en el dominio computacional de pequeños microcontroladores energéticamente eficientes”, dice Kurt Keutzer, científico informático de la Universidad de California en Berkeley, que no participó en el trabajo. Agrega que MCUNet podría “llevar capacidades inteligentes de visión por computadora incluso a los electrodomésticos de cocina más simples, o habilitar sensores de movimiento más inteligentes”.

MCUNet también podría hacer que los dispositivos de IoT sean más seguros. “Una ventaja clave es preservar la privacidad”, dice Han. “No es necesario transmitir los datos a la nube”.

El análisis de datos localmente reduce el riesgo de robo de información personal, incluidos los datos de salud personal. Han imagina relojes inteligentes con MCUNet que no solo detectan los latidos del corazón, la presión arterial y los niveles de oxígeno de los usuarios, sino que también los analizan y los ayudan a comprender esa información. MCUNet también podría brindar aprendizaje profundo a los dispositivos IoT en vehículos y áreas rurales con acceso limitado a Internet.

Además, la reducida huella informática de MCUNet se traduce en una reducida huella de carbono. “Nuestro gran sueño es la IA verde”, dice Han, y agrega que entrenar una gran red neuronal puede quemar carbono equivalente a las emisiones de por vida de cinco automóviles. MCUNet en un microcontrolador requeriría una pequeña fracción de esa energía. “Nuestro objetivo final es permitir una IA pequeña y eficiente con menos recursos informáticos, menos recursos humanos y menos datos”, dice Han.

 

FUENTE: https://news.mit.edu/2020/iot-deep-learning-1113