• Home
  • Química
  • Astronomía
  • Energía
  • Naturaleza
  • Biología
  • Física
  • Electrónica
  • El algoritmo diseña modelos optimizados de aprendizaje automático hasta 200 veces más rápido que los métodos tradicionales

    Los investigadores del MIT han desarrollado un algoritmo eficiente que podría proporcionar una solución de "botón" para diseñar automáticamente redes neuronales de ejecución rápida en hardware específico. Crédito:Chelsea Turner, MIT

    Una nueva área de la inteligencia artificial implica el uso de algoritmos para diseñar automáticamente sistemas de aprendizaje automático conocidos como redes neuronales. que son más precisos y eficientes que los desarrollados por ingenieros humanos. Pero esta técnica de búsqueda de arquitectura neuronal (NAS) es computacionalmente costosa.

    Uno de los algoritmos NAS de última generación desarrollado recientemente por Google tomó 48, 000 horas de trabajo de un equipo de unidades de procesamiento gráfico (GPU) para producir una única red neuronal convolucional, utilizado para tareas de clasificación e identificación de imágenes. Google tiene los medios para ejecutar cientos de GPU y otros circuitos especializados en paralelo, pero eso está fuera del alcance de muchos otros.

    En un documento presentado en la Conferencia Internacional sobre Representaciones del Aprendizaje en mayo, Los investigadores del MIT describen un algoritmo NAS que puede aprender directamente redes neuronales convolucionales (CNN) especializadas para plataformas de hardware de destino, cuando se ejecuta en un conjunto de datos de imágenes masivo, en solo 200 horas de GPU. lo que podría permitir un uso mucho más amplio de este tipo de algoritmos.

    Los investigadores y las empresas con pocos recursos podrían beneficiarse del algoritmo de ahorro de tiempo y costes, dicen los investigadores. El objetivo general es "democratizar la IA, "dice el coautor Song Han, profesor asistente de ingeniería eléctrica e informática e investigador en los Laboratorios de Tecnología de Microsistemas del MIT. "Queremos permitir que tanto los expertos en inteligencia artificial como los no expertos diseñen arquitecturas de redes neuronales de manera eficiente con una solución de botón que se ejecuta rápidamente en un hardware específico".

    Han agrega que tales algoritmos NAS nunca reemplazarán a los ingenieros humanos. "El objetivo es descargar el trabajo repetitivo y tedioso que conlleva el diseño y el perfeccionamiento de las arquitecturas de redes neuronales, "dice Han, a quien se unen en el papel dos investigadores de su grupo, Han Cai y Ligeng Zhu.

    Poda y binarización "a nivel de ruta"

    En su trabajo, los investigadores desarrollaron formas de eliminar componentes de diseño de redes neuronales innecesarios, para reducir los tiempos de computación y utilizar solo una fracción de la memoria del hardware para ejecutar un algoritmo NAS. Una innovación adicional garantiza que cada CNN de salida se ejecute de manera más eficiente en plataformas de hardware específicas:CPU, GPU y dispositivos móviles, que los diseñados por enfoques tradicionales. En pruebas, Las CNN de los investigadores fueron 1,8 veces más rápidas medidas en un teléfono móvil que los modelos tradicionales de referencia con una precisión similar.

    La arquitectura de una CNN consta de capas de cálculo con parámetros ajustables, llamados "filtros, "y las posibles conexiones entre esos filtros. Los filtros procesan los píxeles de la imagen en cuadrículas de cuadrados, como 3x3, 5x5, o 7 x 7, con cada filtro cubriendo un cuadrado. Los filtros se mueven esencialmente a través de la imagen y combinan todos los colores de su cuadrícula de píxeles cubierta en un solo píxel. Las diferentes capas pueden tener filtros de diferentes tamaños, y conectarse para compartir datos de diferentes formas. El resultado es una imagen condensada, a partir de la información combinada de todos los filtros, que una computadora puede analizar más fácilmente.

    Debido a que el número de arquitecturas posibles para elegir, llamado "espacio de búsqueda", es tan grande, aplicar NAS para crear una red neuronal en conjuntos de datos de imágenes masivas es computacionalmente prohibitivo. Los ingenieros suelen ejecutar NAS en conjuntos de datos proxy más pequeños y transfieren sus arquitecturas CNN aprendidas a la tarea de destino. Este método de generalización reduce la precisión del modelo, sin embargo. Es más, la misma arquitectura de salida también se aplica a todas las plataformas de hardware, lo que conduce a problemas de eficiencia.

    Los investigadores entrenaron y probaron su nuevo algoritmo NAS en una tarea de clasificación de imágenes en el conjunto de datos ImageNet, que contiene millones de imágenes en mil clases. Primero crearon un espacio de búsqueda que contiene todos los posibles "caminos" de CNN candidatos, es decir, cómo se conectan las capas y los filtros para procesar los datos. Esto le da rienda suelta al algoritmo NAS para encontrar una arquitectura óptima.

    Por lo general, esto significaría que todas las rutas posibles deben almacenarse en la memoria, que excedería los límites de memoria de la GPU. Para abordar esto, los investigadores aprovechan una técnica llamada "binarización a nivel de ruta, "que almacena solo una ruta muestreada a la vez y ahorra un orden de magnitud en el consumo de memoria. Combinan esta binarización con" poda a nivel de ruta, "una técnica que tradicionalmente aprende qué" neuronas "en una red neuronal se pueden eliminar sin afectar la salida. En lugar de descartar neuronas, sin embargo, el algoritmo NAS de los investigadores poda rutas enteras, que cambia por completo la arquitectura de la red neuronal.

    Entrenando, todos los caminos tienen inicialmente la misma probabilidad de selección. Luego, el algoritmo rastrea las rutas, almacenando solo una a la vez, para observar la precisión y la pérdida (una penalización numérica asignada por predicciones incorrectas) de sus resultados. Luego ajusta las probabilidades de las rutas para optimizar tanto la precisión como la eficiencia. En el final, el algoritmo elimina todas las rutas de baja probabilidad y mantiene solo la ruta con la probabilidad más alta, que es la arquitectura final de CNN.

    Consciente de hardware

    Otra innovación clave fue hacer que el algoritmo NAS "reconozca el hardware, "Han dice, lo que significa que utiliza la latencia en cada plataforma de hardware como una señal de retroalimentación para optimizar la arquitectura. Para medir esta latencia en dispositivos móviles, por ejemplo, grandes empresas como Google emplearán una "granja" de dispositivos móviles, que es muy caro. En cambio, los investigadores construyeron un modelo que predice la latencia utilizando un solo teléfono móvil.

    Para cada capa elegida de la red, el algoritmo muestra la arquitectura en ese modelo de predicción de latencia. Luego utiliza esa información para diseñar una arquitectura que se ejecute lo más rápido posible, logrando una alta precisión. En experimentos, La CNN de los investigadores funcionó casi el doble de rápido que un modelo estándar de oro en dispositivos móviles.

    Un resultado interesante, Han dice:fue que su algoritmo NAS diseñó arquitecturas CNN que durante mucho tiempo fueron descartadas por ser demasiado ineficientes, pero en las pruebas de los investigadores, en realidad, estaban optimizados para cierto hardware. Por ejemplo, los ingenieros han dejado de usar filtros 7x7, porque son computacionalmente más costosos que varios, filtros más pequeños. Todavía, El algoritmo NAS de los investigadores encontró arquitecturas con algunas capas de filtros 7x7 que funcionaban de manera óptima en las GPU. Esto se debe a que las GPU tienen una alta paralelización, lo que significa que calculan muchos cálculos simultáneamente, por lo que pueden procesar un solo filtro grande a la vez de manera más eficiente que procesar varios filtros pequeños uno a la vez.

    "Esto va en contra del pensamiento humano anterior, "Dice Han." Cuanto mayor sea el espacio de búsqueda, las cosas más desconocidas que puedas encontrar. No sabes si algo será mejor que la experiencia humana pasada. Deja que la IA lo resuelva ".


    © Ciencia https://es.scienceaq.com