La búsqueda de arquitectura neuronal (NAS) es una técnica para automatizar el diseño de redes neuronales artificiales (ANN), un modelo ampliamente utilizado en el campo del aprendizaje automático. NAS se ha utilizado para diseñar redes que están a la par o superan a las arquitecturas diseñadas manualmente. Los métodos para NAS se pueden categorizar según el espacio de búsqueda, la estrategia de búsqueda y la estrategia de estimación de rendimiento utilizadas. El espacio de búsqueda define los tipos de ANN que se pueden diseñar y optimizar; la estrategia de búsqueda define el enfoque utilizado para explorar el espacio de búsqueda; y la estrategia de estimación de rendimiento evalúa el rendimiento de una posible ANN a partir de su diseño sin construirla ni entrenarla. NAS está estrechamente relacionado con la optimización de hiperparámetros y el meta-aprendizaje, y es un subcampo del aprendizaje automático automatizado (AutoML).
Aprendizaje por refuerzo
El aprendizaje por refuerzo (RL) puede sustentar una estrategia de búsqueda NAS. Barret Zoph y Quoc Viet Le aplicaron NAS con RL dirigido al conjunto de datos CIFAR-10 y lograron una arquitectura de red que rivaliza con el mejor diseño manual en precisión, con una tasa de error de 3.65, un 0.09 por ciento mejor y 1.05 veces más rápida que un modelo relacionado diseñado manualmente. En el conjunto de datos Penn Treebank, ese modelo compuso una célula recurrente que supera a LSTM, alcanzando una perplejidad de conjunto de prueba de 62.4, o 3.6 de perplejidad mejor que el sistema líder anterior. En la tarea de modelado de lenguaje de caracteres PTB, logró bits por carácter de 1.214.
Aprender una arquitectura de modelo directamente en un conjunto de datos grande puede ser un proceso largo. NASNet abordó este problema transfiriendo un bloque de construcción diseñado para un conjunto de datos pequeño a un conjunto de datos más grande. El diseño se restringió a usar dos tipos de células convolucionales para devolver mapas de características que sirven dos funciones principales al convolucionar un mapa de características de entrada: células normales que devuelven mapas de la misma extensión (altura y anchura) y células de reducción en las que la altura y anchura del mapa de características devuelto se reducen por un factor de dos. Para la célula de reducción, la operación inicial aplicada a las entradas de la célula usa un paso de dos para reducir la altura y anchura. El aspecto aprendido del diseño incluyó elementos como qué capa(s) inferior(es) tomaba cada capa superior como entrada, las transformaciones aplicadas en esa capa y cómo fusionar múltiples salidas en cada capa. En el ejemplo estudiado, la mejor capa convolucional (o "célula") se diseñó para el conjunto de datos CIFAR-10 y luego se aplicó al conjunto de datos ImageNet apilando copias de esta célula, cada una con sus propios parámetros. El enfoque produjo una precisión del 82.7% top-1 y 96.2% top-5. Esto superó a las mejores arquitecturas inventadas por humanos a un costo de 9 mil millones menos de FLOPS, una reducción del 28%. El sistema continuó superando a la alternativa diseñada manualmente en varios niveles de cómputo. Las características de imagen aprendidas de la clasificación de imágenes se pueden transferir a otros problemas de visión por computadora. Para la detección de objetos, las células aprendidas integradas con el marco Faster-RCNN mejoraron el rendimiento en un 4.0% en el conjunto de datos COCO.
En la llamada Búsqueda de Arquitectura Neuronal Eficiente (ENAS), un controlador descubre arquitecturas aprendiendo a buscar un subgrafo óptimo dentro de un grafo grande. El controlador se entrena con gradiente de política para seleccionar un subgrafo que maximice la recompensa esperada del conjunto de validación. El modelo correspondiente al subgrafo se entrena para minimizar una pérdida de entropía cruzada canónica. Múltiples modelos hijos comparten parámetros, por lo que ENAS requiere menos horas de GPU que otros enfoques y 1000 veces menos que el NAS "estándar". En CIFAR-10, el diseño ENAS logró un error de prueba del 2.89%, comparable a NASNet. En Penn Treebank, el diseño ENAS alcanzó una perplejidad de prueba de 55.8.
Evolución
Un enfoque alternativo para NAS se basa en algoritmos evolutivos, que ha sido empleado por varios grupos. Un Algoritmo Evolutivo para la Búsqueda de Arquitectura Neuronal generalmente realiza el siguiente procedimiento. Primero, se inicializa un grupo que consiste en diferentes arquitecturas candidatas junto con sus puntuaciones de validación (aptitud). En cada paso, las arquitecturas en el grupo candidato se mutan (por ejemplo, convolución 3x3 en lugar de convolución 5x5). Luego, las nuevas arquitecturas se entrenan desde cero durante algunas épocas y se obtienen sus puntuaciones de validación. Esto es seguido por reemplazar las arquitecturas con puntuaciones más bajas en el grupo candidato con las nuevas arquitecturas mejores. Este procedimiento se repite múltiples veces, y así el grupo candidato se refina con el tiempo. Las mutaciones en el contexto de evolucionar ANN son operaciones como agregar o eliminar una capa, que incluyen cambiar el tipo de una capa (por ejemplo, de convolución a agrupación), cambiar los hiperparámetros de una capa o cambiar los hiperparámetros de entrenamiento. En CIFAR-10 e ImageNet, la evolución y RL se desempeñaron de manera comparable, mientras que ambos superaron ligeramente a la búsqueda aleatoria.
Optimización bayesiana
La Optimización Bayesiana (BO), que ha demostrado ser un método eficiente para la optimización de hiperparámetros, también se puede aplicar a NAS. En este contexto, la función objetivo mapea una arquitectura a su error de validación después de ser entrenada durante un número de épocas. En cada iteración, BO usa un sustituto para modelar esta función objetivo basándose en arquitecturas obtenidas previamente y sus errores de validación. Luego, uno elige la próxima arquitectura a evaluar maximizando una función de adquisición, como la mejora esperada, que proporciona un equilibrio entre exploración y explotación. La maximización de la función de adquisición y la evaluación de la función objetivo a menudo son computacionalmente costosas para NAS, y hacen que la aplicación de BO sea desafiante en este contexto. Recientemente, BANANAS ha logrado resultados prometedores en esta dirección al introducir una instanciación de alto rendimiento de BO acoplada a un predictor neuronal.
Escalada de colinas
Otro grupo usó un procedimiento de escalada de colinas que aplica morfismos de red, seguido de ejecuciones cortas de optimización con enfriamiento por coseno. El enfoque produjo resultados competitivos, requiriendo recursos del mismo orden de magnitud que entrenar una sola red. Por ejemplo, en CIFAR-10, el método diseñó y entrenó una red con una tasa de error inferior al 5% en 12 horas en una sola GPU.
Búsqueda multiobjetivo
Mientras que la mayoría de los enfoques se centran únicamente en encontrar una arquitectura con máximo rendimiento predictivo, para la mayoría de las aplicaciones prácticas otros objetivos son relevantes, como el consumo de memoria, el tamaño del modelo o el tiempo de inferencia (es decir, el tiempo requerido para obtener una predicción). Debido a esto, los investigadores crearon una búsqueda multiobjetivo. LEMONADE es un algoritmo evolutivo que adoptó el lamarckismo para optimizar eficientemente múltiples objetivos. En cada generación, se generan redes hijas para mejorar la frontera de Pareto con respecto a la población actual de ANN. Se afirma que Neural Architect es un NAS basado en RL multiobjetivo consciente de recursos con incrustación de red y predicción de rendimiento. La incrustación de red codifica una red existente en un vector de incrustación entrenable, que se puede usar para predecir el rendimiento y guiar la búsqueda hacia arquitecturas que equilibren precisión y restricciones de recursos.
Desafíos y direcciones futuras
NAS sigue siendo computacionalmente intensivo a pesar de avances como ENAS y el intercambio de pesos. El diseño del espacio de búsqueda influye fuertemente en los resultados, y evaluar arquitecturas a menudo requiere cómputo significativo. Trabajos recientes han explorado NAS diferenciable, donde la búsqueda se relaja en un problema de optimización continua, y métodos basados en predictores que aprenden a estimar el rendimiento sin entrenamiento completo. A mediados de la década de 2020, NAS continúa evolucionando, con aplicaciones en modelos de Deep learning, incluyendo arquitecturas basadas en Transformer (architecture), e integración con pipelines de aprendizaje automático automatizado. Investigadores en instituciones como Google DeepMind, OpenAI y Stanford AI Lab han contribuido a avanzar los métodos NAS, aunque muchos despliegues prácticos aún dependen de redes diseñadas manualmente debido al costo y la complejidad.
Relación con otros campos
NAS está estrechamente vinculado a la optimización de hiperparámetros y Meta-Learning, ya que busca automatizar parte del proceso de diseño de modelos. También se intersecta con la teoría de Neural network y la práctica de Machine learning. Las técnicas utilizadas en NAS, como aprendizaje por refuerzo y algoritmos evolutivos, se extraen de la investigación más amplia de Artificial intelligence. Las estrategias de estimación de rendimiento a menudo aprovechan técnicas de Weight Initialization y Batch Normalization para reducir el tiempo de entrenamiento durante la búsqueda. El objetivo final de NAS es reducir el esfuerzo humano requerido para diseñar arquitecturas efectivas de Neural network, potencialmente permitiendo a no expertos crear modelos de alto rendimiento para tareas específicas.
Conclusión
La búsqueda de arquitectura neuronal representa un paso significativo hacia la automatización del diseño de redes neuronales. Al aprovechar el aprendizaje por refuerzo, los algoritmos evolutivos, la optimización bayesiana y otras estrategias, NAS puede descubrir arquitecturas que rivalizan o superan a las diseñadas por humanos. Sin embargo, el costo computacional y la complejidad del espacio de búsqueda siguen siendo desafíos clave. A medida que los métodos mejoran, es probable que NAS juegue un papel cada vez más importante en el desarrollo de modelos eficientes y potentes de Deep learning en diversos dominios.