Búsqueda de Arquitectura Neuronal (NAS)
Descubra cómo la búsqueda de arquitectura neuronal (NAS) automatiza el diseño de redes neuronales para un rendimiento optimizado en la detección de objetos, la IA y más.
La búsqueda de arquitectura neuronal (NAS) es una técnica sofisticada en el campo del
aprendizaje automático de máquinas (AutoML)
que automatiza el diseño de
redes neuronales artificiales. Tradicionalmente,
el diseño de arquitecturas de alto rendimiento requería una gran experiencia en el campo y un exhaustivo proceso manual de prueba y error. NAS
revoluciona este proceso utilizando algoritmos que exploran sistemáticamente un gran número de posibles
topologías de red, buscando la estructura óptima que maximice métricas de rendimiento como la precisión o la eficiencia.
precisión o eficiencia. Esta automatización no sólo
acelera el desarrollo de modelos de
modelos de aprendizaje profundo, sino que también democratiza
a la IA más avanzada al reducir la dependencia de la intuición humana para el diseño de redes.
Componentes básicos de NAS
El proceso NAS se compone generalmente de tres bloques fundamentales que trabajan juntos para descubrir la mejor
arquitectura del modelo:
-
Espacio de búsqueda: Define el conjunto de todas las arquitecturas posibles que el algoritmo puede explorar. En
especifica los bloques de construcción básicos, como los tipos de capas (p. ej,
convolución, agrupación), funciones de activación y cómo pueden conectarse.
pueden conectarse. Un espacio de búsqueda bien diseñado es crucial, ya que limita la complejidad y garantiza la viabilidad de los modelos resultantes.
la viabilidad de los modelos resultantes.
-
Estrategia de búsqueda: Es el método utilizado para navegar por el espacio de búsqueda. En lugar de un enfoque de fuerza bruta
NAS emplea estrategias inteligentes como
aprendizaje por refuerzo,
algoritmos evolutivos o
métodos basados en gradientes (como DARTS). Estas estrategias guían la
hacia arquitecturas más prometedoras basándose en los resultados de iteraciones anteriores.
-
Estrategia de estimación del rendimiento: Evaluar cada arquitectura candidata entrenándola desde
desde cero es costoso desde el punto de vista computacional. Para acelerarlo, NAS utiliza estrategias de estimación como el reparto de pesos, el entrenamiento
en un subconjunto de los datos, o entrenar durante menos épocas. Este
Esto permite al algoritmo clasificar rápidamente a los candidatos y concentrar los recursos en los diseños más prometedores.
Aplicaciones en el mundo real
NAS ha contribuido a crear algunos de los modelos más eficaces y potentes de la IA moderna.
-
Visión por ordenador: En tareas como
detección de objetos y
clasificación de imágenes, NAS ha generado
arquitecturas que superan a las diseñadas por el ser humano. La familia
familia EfficientNet
es un buen ejemplo, en el que se utilizó NAS para encontrar una red de referencia que luego se amplió para alcanzar
una precisión de vanguardia con un número significativamente menor de parámetros. Del mismo modo, modelos como
YOLO utilizan estos principios para optimizar tanto la velocidad como la precisión.
la velocidad y la precisión.
-
Edge AI y despliegue móvil: NAS se utiliza ampliamente para diseñar modelos ligeros adaptados a
computación de borde. Mediante la incorporación de
hardware (como la latencia y el
consumo de energía) directamente en el objetivo de búsqueda, NAS puede descubrir arquitecturas que se ejecutan
móviles sin sacrificar demasiado rendimiento. Esto es fundamental para aplicaciones en
vehículos autónomos e IoT.
NAS vs. Ajuste de hiperparámetros
Es importante distinguir entre la búsqueda de arquitecturas neuronales y el ajuste de hiperparámetros.
ajuste de hiperparámetros, ya que ambas implican
optimización, pero se centran en aspectos diferentes de un modelo.
-
La búsqueda de arquitectura neuronal (NAS) se centra en encontrar la estructura óptima de la propia red neuronal, determinando el número de capas, el tipo de operaciones y las conexiones entre neuronas.
red neuronal en sí: determinar el número de capas, el tipo de operaciones y las conexiones entre neuronas.
-
El ajuste de hiperparámetros se centra en optimizar los parámetros de configuración de una arquitectura
arquitectura fija, como la tasa de aprendizaje
el tamaño del lote o el tipo de optimizador.
Mientras que la NAS construye la estructura del "cerebro", el ajuste de hiperparámetros enseña a ese cerebro cómo aprender de la forma más eficaz.
más eficazmente. Ambos se suelen utilizar conjuntamente en un proceso AutoML para obtener los mejores resultados posibles.
Utilización de los modelos de la NAS
Aunque ejecutar un proceso NAS completo puede consumir muchos recursos, los desarrolladores pueden aprovechar fácilmente los modelos preentrenados que
descubiertos con NAS. La biblioteca Ultralytics permite cargar y ejecutar estas arquitecturas optimizadas, como
YOLO, lo que permite a los usuarios beneficiarse de la investigación NAS sin necesidad de recursos informáticos para realizar la búsqueda ellos mismos.
búsqueda.
El siguiente ejemplo muestra cómo cargar un modelo derivado de NAS utilizando Python:
from ultralytics import NAS
# Load a pre-trained YOLO-NAS model discovered via architecture search
model = NAS("yolo_nas_s.pt")
# Display the model's architecture information
model.info()
# Validate the model's performance on the COCO8 dataset
metrics = model.val(data="coco8.yaml")