Neural Architecture Search (NAS)
Descubre cómo la búsqueda de arquitecturas neuronales (NAS) automatiza el diseño de modelos de aprendizaje profundo. Conoce sus mecanismos principales y explora modelos optimizados como Ultralytics YOLO26.
La búsqueda de arquitectura neuronal (NAS) es una técnica sofisticada dentro del ámbito del aprendizaje automático automatizado (AutoML) que automatiza el diseño de redes neuronales artificiales. Tradicionalmente, diseñar arquitecturas de aprendizaje profundo (DL) de alto rendimiento requería amplios conocimientos técnicos, intuición y mucho tiempo de pruebas y errores. NAS sustituye este proceso manual por estrategias algorítmicas que exploran sistemáticamente una amplia variedad de topologías de red para descubrir la estructura óptima para una tarea específica. Al probar distintas combinaciones de capas y operaciones, NAS puede identificar arquitecturas que superan considerablemente a los modelos diseñados por humanos en términos de precisión, eficiencia computacional o velocidad de inferencia.
Mecanismos principales de NAS#
El proceso para descubrir una arquitectura superior generalmente implica tres dimensiones fundamentales que interactúan para encontrar la mejor red neuronal (NN):
-
Espacio de búsqueda: Define el conjunto de todas las arquitecturas posibles que el algoritmo puede explorar. Funciona como una biblioteca de bloques de construcción, como filtros de convolución, capas de pooling y diversas funciones de activación. Un espacio de búsqueda bien definido limita la complejidad para garantizar que la búsqueda siga siendo viable desde el punto de vista computacional, a la vez que ofrece suficiente flexibilidad para innovar.
-
Estrategia de búsqueda: En lugar de probar todas las posibilidades (fuerza bruta), NAS emplea algoritmos inteligentes para recorrer el espacio de búsqueda de forma eficiente. Entre los enfoques habituales se incluyen el aprendizaje por refuerzo, en el que un agente aprende a generar arquitecturas cada vez mejores, y los algoritmos evolutivos, que mutan y combinan los modelos con mejor rendimiento para generar candidatos superiores.
-
Estrategia de estimación del rendimiento: Entrenar cada red candidata desde cero es excesivamente lento. Para acelerarlo, NAS utiliza técnicas de estimación, como entrenar durante menos épocas, usar conjuntos de datos proxy de menor resolución o emplear compartición de pesos, para clasificar rápidamente el potencial de una arquitectura candidata.
Aplicaciones en el mundo real#
NAS se ha vuelto fundamental en sectores donde las limitaciones del hardware o los requisitos de rendimiento son estrictos, ampliando los límites de la visión por computador (CV) y de otros ámbitos de la IA.
- Computación periférica eficiente: Implementar IA en dispositivos móviles requiere modelos que sean ligeros y rápidos. NAS se utiliza ampliamente para descubrir arquitecturas como MobileNetV3 y EfficientNet que minimizan la latencia de inferencia manteniendo una alta precisión. Esto es esencial para aplicaciones de IA periférica, como el análisis de vídeo en tiempo real en cámaras inteligentes o drones autónomos.
- Imágenes médicas: En el análisis de imágenes médicas, la precisión es primordial. NAS puede adaptar las redes para detectar anomalías sutiles en radiografías o imágenes de resonancia magnética, y a menudo encuentra vías novedosas de extracción de características que los ingenieros humanos podrían pasar por alto. Esto da lugar a herramientas más fiables para identificar afecciones como tumores cerebrales o fracturas con una mayor sensibilidad.
NAS frente a conceptos relacionados#
Para comprender el papel específico de NAS, resulta útil distinguirlo de técnicas de optimización similares:
- NAS frente a ajuste de hiperparámetros: Aunque ambos implican optimización, el ajuste de hiperparámetros se centra en modificar los parámetros de configuración (como la tasa de aprendizaje o el tamaño del lote) de una arquitectura fija. En cambio, NAS modifica la estructura fundamental del propio modelo, como el número de capas o la forma en que están conectadas las neuronas.
- NAS frente a aprendizaje por transferencia: El aprendizaje por transferencia toma un modelo existente preentrenado y adapta sus pesos a una nueva tarea. NAS crea la arquitectura del modelo desde cero (o busca un backbone mejor) antes de que comience el entrenamiento.
Uso de modelos derivados de NAS#
Aunque ejecutar una búsqueda NAS completa requiere importantes recursos de computación GPU, los desarrolladores pueden utilizar fácilmente modelos creados mediante NAS. Por ejemplo, la arquitectura YOLO-NAS se descubrió utilizando estos principios de búsqueda para optimizar tareas de detección de objetos.
El siguiente ejemplo en Python muestra cómo cargar y utilizar un modelo NAS preseleccionado mediante el paquete ultralytics:
from ultralytics import NAS
# Load a pre-trained YOLO-NAS model (architecture found via NAS)
# 'yolo_nas_s.pt' refers to the small version of the model
model = NAS("yolo_nas_s.pt")
# Run inference on an image to detect objects
# This utilizes the optimized architecture for fast detection
results = model("https://ultralytics.com/images/bus.jpg")
# Print the top detected class
print(f"Detected: {results[0].names[int(results[0].boxes.cls[0])]}")Para quienes quieran entrenar modelos de última generación sin la complejidad de NAS, Ultralytics YOLO26 ofrece una arquitectura altamente optimizada desde el primer momento e incorpora los últimos avances de la investigación. Puedes gestionar fácilmente los conjuntos de datos, el entrenamiento y la implementación de estos modelos mediante la Ultralytics Platform, que simplifica todo el ciclo de vida de MLOps.









