Búsqueda de Arquitectura Neuronal (NAS)
Learn how Neural Architecture Search (NAS) automates the design of high-performance neural networks. Explore search strategies and optimized models like 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, la ingeniería de arquitecturas de aprendizaje profundo (DL) de alto rendimiento
requería
una amplia experiencia humana, intuición y un largo proceso de prueba y error. NAS sustituye este proceso manual por
estrategias algorítmicas que exploran sistemáticamente una amplia gama de topologías de red para descubrir la estructura óptima
para una tarea específica. Al probar diversas combinaciones de capas y operaciones, NAS puede identificar
arquitecturas que superan significativamente a los modelos diseñados por humanos en términos de
precisión, eficiencia computacional o velocidad de inferencia.
Mecanismos fundamentales del NAS
El proceso de 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. Actúa
como una biblioteca de bloques de construcción, tales como
filtros de convolución, capas de agrupación y diversas
funciones de activación. Un espacio de búsqueda bien definido
limita la complejidad para garantizar que la búsqueda siga siendo computacionalmente viable, al tiempo que permite suficiente flexibilidad
para la innovación.
-
Estrategia de búsqueda: en lugar de probar todas las posibilidades (fuerza bruta), NAS emplea
algoritmos inteligentes para navegar por el espacio de búsqueda de manera eficiente. Los enfoques comunes incluyen
el aprendizaje por refuerzo, en el que un agente
aprende a generar mejores arquitecturas con el tiempo, y
los algoritmos evolutivos, que mutan y
combinan los modelos de mejor rendimiento para generar candidatos superiores.
-
Estrategia de estimación del rendimiento: Entrenar cada red candidata desde cero es prohibitivamente
lento. Para acelerar este proceso, NAS utiliza técnicas de estimación, como entrenar en menos
épocas, utilizar conjuntos de datos proxy de menor resolución o emplear
el intercambio de pesos, para clasificar rápidamente el potencial de una arquitectura candidata
.
Aplicaciones en el mundo real
El NAS se ha vuelto fundamental en industrias donde las limitaciones de hardware o los requisitos de rendimiento son estrictos, ampliando los
límites de la visión artificial (CV) y otros
dominios de la IA.
-
Computación periférica eficiente: la implementación de 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 al tiempo que mantienen una alta
precisión. Esto es vital para las aplicaciones de IA periféricas, 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
fundamental. La NAS puede adaptar las redes para detect anomalías detect en radiografías o resonancias magnéticas, encontrando a menudo nuevas vías 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 mayor sensibilidad.
NAS frente a conceptos relacionados
Para comprender la función específica de NAS, resulta útil distinguirlo de otras técnicas de optimización similares:
-
NAS frente al ajuste de hiperparámetros: aunque ambos implican optimización,
el ajuste de hiperparámetros se centra en ajustar
la configuración (como la tasa de aprendizaje o el
tamaño del lote) para una arquitectura fija. Por el
contrario, el NAS cambia la estructura fundamental del propio modelo, como el número de capas o la forma en que se conectan las neuronas
.
-
NAS frente a aprendizaje por transferencia:
El aprendizaje por transferencia toma un modelo existente y
previamente entrenado y adapta sus pesos a una nueva tarea. NAS crea la arquitectura del modelo desde cero (o busca
una mejor estructura básica) antes de comenzar el entrenamiento.
Utilización de modelos derivados de NAS
Aunque realizar una búsqueda completa en NAS requiere importantes
recursosGPU , los desarrolladores pueden utilizar fácilmente modelos que
se hayan creado a través de NAS. Por ejemplo, la
arquitectura YOLO se descubrió utilizando estos principios de búsqueda
para optimizar las tareas de detección de objetos.
El siguiente Python muestra cómo cargar y utilizar un modelo NAS previamente buscado utilizando el
ultralytics paquete:
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 aquellos que buscan entrenar modelos de última generación sin la complejidad de NAS,
Ultralytics ofrece una arquitectura altamente optimizada
lista para usar, que incorpora los últimos avances en investigación. Puede gestionar fácilmente los conjuntos de datos, el entrenamiento y la
implementación de estos modelos utilizando la Ultralytics , que
simplifica todo el ciclo de vida de MLOps.