Una nueva área en 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 llamada búsqueda de arquitectura neuronal NAS es computacionalcostoso.
Uno de los algoritmos NAS de última generación desarrollados recientemente por Google tomó 48,000 horas de trabajo por un escuadrón de unidades de procesamiento gráfico GPU para producir una única red neuronal convolucional, utilizada para tareas de clasificación e identificación de imágenes. Googletiene 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 de 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 ejecutan en un conjunto de datos de imágenes masivas, ensolo 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 recursos limitados podrían beneficiarse del algoritmo que ahorra tiempo y dinero, dicen los investigadores. El objetivo general es "democratizar la IA", dice el coautor Song Han, profesor asistente de ingeniería eléctrica y ciencias de la computacióny un investigador en Microsystems Technology Laboratories en el MIT. "Queremos que tanto los expertos en IA como los no expertos puedan diseñar 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 viene con el diseño y el refinamiento de arquitecturas de redes neuronales", dice Han, a quien se unieron dos investigadores en su trabajo.grupo, Han Cai y Ligeng Zhu.
binarización y poda "a nivel de ruta"
En su trabajo, los investigadores desarrollaron formas de eliminar componentes innecesarios de diseño de redes neuronales, reducir los tiempos de cómputo y usar solo una fracción de la memoria del hardware para ejecutar un algoritmo NAS. Una innovación adicional asegura que cada CNN emitido se ejecute de manera más eficiente en plataformas de hardware específicas- CPU, GPU y dispositivos móviles, que los diseñados por los enfoques tradicionales. En las pruebas, las CNN de los investigadores fueron 1,8 veces más rápidas medidas en un teléfono móvil que los modelos estándar de oro tradicionales con una precisión similar.
La arquitectura de una CNN consiste en capas de cómputo con parámetros ajustables, llamados "filtros" y las posibles conexiones entre esos filtros. Los filtros procesan píxeles de imagen en cuadrículas de cuadrados, como 3x3, 5x5 o 7x7, con cada filtrocubriendo un cuadrado. Los filtros se mueven esencialmente a través de la imagen y combinan todos los colores de su cuadrícula cubierta de píxeles en un solo píxel. Las diferentes capas pueden tener filtros de diferentes tamaños y se conectan para compartir datos de diferentes maneras. La salida es un condensadoimagen, 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 transferiraprendieron las arquitecturas CNN para la tarea objetivo. Sin embargo, este método de generalización reduce la precisión del modelo. Ademá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 todas las posibles "rutas" CNN candidatas, lo que significa cómolas capas y los filtros se conectan para procesar los datos. Esto le da al algoritmo NAS un reinado libre para encontrar una arquitectura óptima.
Esto normalmente significaría que todas las rutas posibles deben almacenarse en la memoria, lo 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 guardaun 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. Sin embargo, en lugar de descartar neuronas, los investigadores'El algoritmo NAS elimina rutas completas, lo que cambia completamente la arquitectura de la red neuronal.
En el entrenamiento, todas las rutas reciben inicialmente la misma probabilidad de selección. El algoritmo luego 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 salidasLuego, ajusta las probabilidades de las rutas para optimizar tanto la precisión como la eficiencia. Al final, el algoritmo elimina todas las rutas de baja probabilidad y mantiene solo la ruta con la mayor probabilidad, que es la arquitectura CNN final.
compatible con hardware
Otra innovación clave fue hacer que el algoritmo NAS sea "consciente del hardware", dice Han, lo que significa que usa 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 comoya que Google empleará una "granja" de dispositivos móviles, lo cual es muy costoso. En cambio, los investigadores construyeron un modelo que predice la latencia usando solo un solo teléfono móvil.
Para cada capa elegida de la red, el algoritmo muestrea la arquitectura en ese modelo de predicción de latencia. Luego usa esa información para diseñar una arquitectura que se ejecute lo más rápido posible, mientras se logra una alta precisión. En experimentos, la CNN de los investigadorescorrió casi el doble de rápido que un modelo estándar en dispositivos móviles.
Un resultado interesante, dice Han, fue que su algoritmo NAS diseñó arquitecturas CNN que durante mucho tiempo se descartaron por ser demasiado ineficientes, pero, en las pruebas de los investigadores, en realidad fueron optimizadas para cierto hardware. Por ejemplo, los ingenieros esencialmente se han detenidousando filtros 7x7, porque son computacionalmente más caros que los filtros múltiples y más pequeños. Sin embargo, el algoritmo NAS de los investigadores encontró arquitecturas con algunas capas de filtros 7x7 que se ejecutan de manera óptima en las GPU.simultáneamente, por lo que puede procesar un solo filtro grande a la vez de manera más eficiente que procesar múltiples filtros pequeños uno a la vez.
"Esto va en contra del pensamiento humano anterior", dice Han. "Cuanto más grande es el espacio de búsqueda, más cosas desconocidas puedes encontrar. No sabes si algo será mejor que la experiencia humana pasada. Deja que la IA lo descubrafuera."
Fuente de la historia :
Materiales proporcionado por Instituto de Tecnología de Massachusetts . Original escrito por Rob Matheson. Nota: El contenido puede ser editado por estilo y longitud.
Referencia del diario :
Cita esta página :