El avance podría permitir la inteligencia artificial en los electrodomésticos mientras se mejora la seguridad de los datos y la eficiencia energética — ScienceDaily

El aprendizaje profundo está en todas partes. Esta rama de la inteligencia artificial cura tus medios sociales y sirve a tus resultados de búsqueda en Google. Pronto, el aprendizaje profundo también podría revisar sus signos vitales o ajustar su termostato. Los investigadores del MIT han desarrollado un sistema que podría llevar las redes neuronales de aprendizaje profundo a nuevos -y mucho más pequeños- lugares, como los diminutos chips de ordenador de los dispositivos médicos llevables, los electrodomésticos y los otros 250.000 millones de objetos que constituyen la “Internet de las cosas” (IO).

El sistema, llamado MCUNet, diseña redes neuronales compactas que ofrecen una velocidad y precisión sin precedentes para el aprendizaje profundo en dispositivos de IO, a pesar de la limitada memoria y potencia de procesamiento. La tecnología podría facilitar la expansión del universo de IO mientras que ahorraría energía y mejoraría la seguridad de los datos.

La investigación se presentará en la Conferencia sobre Sistemas de Procesamiento de Información Neural del próximo mes. El autor principal es Ji Lin, un estudiante de doctorado en el laboratorio de Song Han en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación del MIT. Entre los coautores se encuentran Han y Yujun Lin del MIT, Wei-Ming Chen del MIT y de la Universidad Nacional de Taiwán, y John Cohn y Chuang Gan del Laboratorio de Inteligencia Artificial Watson del MIT-IBM.

El Internet de las cosas


Recomendado: ¿Qué es el Big data?.


La IO nació a principios de los años 80. Los estudiantes graduados en la Universidad Carnegie Mellon, incluyendo a Mike Kazar en el 78, conectaron una máquina de 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 abastecida antes de salir de su oficina para hacer una compra. Fue el primer aparato conectado a Internet del mundo. “Esto fue más o menos tratado como el remate de una broma”, dice Kazar, ahora un ingeniero de Microsoft. “Nadie esperaba miles de millones de dispositivos en Internet.”

Desde esa máquina de Coca-Cola, los objetos cotidianos están cada vez más interconectados en la creciente IO. Eso incluye todo, desde monitores cardíacos portátiles hasta refrigeradores inteligentes que te dicen cuando te falta leche. Los dispositivos de IO a menudo funcionan con microcontroladores: simples chips de computadora sin sistema operativo, con una potencia de procesamiento mínima y menos de una milésima parte de la memoria de un teléfono inteligente típico. Así que las tareas de reconocimiento de patrones, como el aprendizaje profundo, son difíciles de ejecutar localmente en los dispositivos de IO. Para un análisis complejo, los datos recogidos por la IO se envían a menudo a la nube, haciéndola vulnerable a la piratería informática.

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

Con MCUNet, el grupo de Han codificó dos componentes necesarios para el “aprendizaje profundo diminuto”: el funcionamiento de las redes neuronales en los microcontroladores. Uno de los componentes es TinyEngine, un motor de inferencia que dirige la gestión de recursos, similar a un sistema operativo. TinyEngine está optimizado para ejecutar una estructura de red neural particular, que es seleccionada por el otro componente de MCUNet: TinyNAS, un algoritmo de búsqueda de arquitectura neural.

Codificación del algoritmo del sistema

Diseñar una red profunda para los 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, y luego, gradualmente, encuentran la que tiene una alta precisión y bajo costo. Aunque el método funciona, no es el más eficiente. “Puede funcionar bastante bien para las GPU o los teléfonos inteligentes”, dice Lin. “Pero ha sido difícil aplicar directamente estas técnicas a microcontroladores diminutos, porque son demasiado pequeños.”

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

Para hacer funcionar esa pequeña red neural, un microcontrolador también necesita un motor de inferencia magra. Un motor de inferencia típico tiene un cierto peso muerto: instrucciones para tareas que rara vez puede ejecutar. El código extra no supone ningún problema para un portátil o un smartphone, pero podría fácilmente abrumar a un microcontrolador. “No tiene memoria fuera del chip, y no tiene un disco”, dice Han. “Todo junto es sólo un megabyte de flash, así que tenemos que manejar con mucho cuidado un recurso tan pequeño.” Entra TinyEngine.

Los investigadores desarrollaron su motor de inferencia en conjunto con TinyNAS. TinyEngine genera el código esencial necesario para ejecutar la red neural personalizada de TinyNAS. Cualquier código de peso muerto es descartado, lo que reduce el tiempo de compilación. “Nos quedamos sólo con lo que necesitamos”, dice Han. “Y como diseñamos la red neuronal, sabemos exactamente lo que necesitamos. Esa es la ventaja del código de algoritmos del sistema”. En las pruebas del grupo de TinyEngine, el tamaño del código binario compilado fue 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, incluyendo la convolución en profundidad en el lugar, que reduce el uso de la memoria de pico 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 para probar su capacidad de clasificar las nuevas. En un microcontrolador comercial que probaron, MCUNet clasificó con éxito el 70,7 por ciento de las nuevas imágenes: la anterior red neural de última generación y la combinación de motor de inferencia sólo tenía una precisión del 54 por ciento. “Incluso una mejora del 1 por ciento se considera significativa”, dice Lin. “Así que esto es un gran salto para los ajustes del microcontrolador.”

El equipo encontró resultados similares en las pruebas de ImageNet de otros tres microcontroladores. Y tanto en velocidad como en precisión, MCUNet venció a la competencia en las tareas de “despertar” auditivo y visual, en las que un usuario inicia una interacción con una computadora usando claves vocales (piense: “Hey, Siri”) o simplemente entrando en una habitación. Los experimentos ponen de relieve la adaptabilidad de MCUNet a numerosas aplicaciones.

“Enorme potencial”

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

El avance “extiende la frontera del diseño de redes neuronales profundas aún más lejos en el dominio computacional de los pequeños microcontroladores de alta eficiencia energética”, dice Kurt Keutzer, un informático de la Universidad de California en Berkeley, que no participó en el trabajo. Añade que MCUNet podría “llevar la capacidad de visión inteligente por ordenador incluso a los electrodomésticos más sencillos de la cocina, o permitir sensores de movimiento más inteligentes”.

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

El análisis de los datos a nivel local reduce el riesgo de que se roben datos personales, incluidos los datos personales sobre la salud. Han prevé relojes inteligentes con MCUNet que no sólo detectan los latidos del corazón, la presión sanguínea y los niveles de oxígeno de los usuarios, sino que también analizan y ayudan a comprender esa información. MCUNet también podría aportar un aprendizaje profundo a los dispositivos de IO en vehículos y zonas rurales con acceso limitado a Internet.

Además, la delgada huella de la computación de MCUNet se traduce en una delgada huella de carbono. “Nuestro gran sueño es para la IA verde”, dice Han, añadiendo que la formación de una gran red neuronal puede quemar el carbono equivalente a las emisiones de toda la vida de cinco coches. MCUNet en un microcontrolador requeriría una pequeña fracción de esa energía. “Nuestro objetivo final es permitir una IA eficiente y diminuta con menos recursos computacionales, menos recursos humanos y menos datos”, dice Han.