Explore how evolutionary algorithms use natural selection to optimize AI. Learn to automate [hyperparameter tuning](https://www.ultralytics.com/glossary/hyperparameter-tuning) for [YOLO26](https://docs.ultralytics.com/models/yolo26/) to boost model performance.
Los algoritmos evolutivos (EA) son una potente familia de algoritmos de optimización que emulan los principios biológicos de la selección natural y la genética para resolver problemas computacionales complejos. A diferencia de las técnicas matemáticas tradicionales que se basan en derivadas calculadas, como el descenso estocástico de gradientes (SGD), los EA están diseñados para navegar por espacios de búsqueda vastos, accidentados o poco conocidos. Funcionan manteniendo una población de soluciones potenciales que compiten, se reproducen y mutan con el tiempo. Este enfoque los hace especialmente eficaces para tareas de inteligencia artificial (IA) en las que la «mejor» solución es difícil de determinar analíticamente, lo que permite a los sistemas evolucionar iterativamente hacia un resultado óptimo.
La funcionalidad de un algoritmo evolutivo se basa en el concepto de supervivencia del más apto. El proceso avanza a través de un ciclo de operadores diseñados para imitar la evolución genética natural, refinando gradualmente las soluciones candidatas:
Los algoritmos evolutivos son versátiles y se han aplicado con éxito a diversos ámbitos dentro del aprendizaje profundo (DL) y la ingeniería.
Una de las aplicaciones más prácticas de los EA es
ajuste de hiperparámetros. Las redes neuronales modernas
requieren la configuración de docenas de parámetros —como la tasa de aprendizaje, la disminución del peso y el impulso— que afectan significativamente al
rendimiento. Los EA pueden automatizar este tedioso proceso de prueba y error mediante la evolución de los ajustes de configuración. Por
ejemplo, el tune() El método de la Ultralytics utiliza un algoritmo genético para descubrir los mejores
hiperparámetros de entrenamiento para YOLO26 modelos en conjuntos de datos personalizados
.
Los EA son una piedra angular de la búsqueda de arquitectura neuronal (NAS). En lugar de que los ingenieros humanos diseñen manualmente la estructura de una red neuronal (NN), un algoritmo evolutivo puede «hacer crecer» la arquitectura. Prueba diferentes combinaciones de capas, neuronas y conexiones, desarrollando estructuras eficientes que equilibran la velocidad y la precisión. Esta técnica ha llevado a la creación de backbones altamente eficientes, como EfficientNet, que están optimizados para restricciones de hardware específicas.
Aunque ambas son estrategias de optimización inspiradas en la naturaleza, es útil distinguir los EA de la inteligencia de enjambre (SI).
Los profesionales pueden aprovechar los algoritmos genéticos directamente para optimizar sus modelos de detección de objetos. Ultralytics
tune El método ejecuta un proceso evolutivo para mutar hiperparámetros a lo largo de varias generaciones,
identificando automáticamente los ajustes que producen el mayor rendimiento en sus datos de validación.
from ultralytics import YOLO
# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")
# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)
Este refinamiento automatizado permite a los desarrolladores ir más allá de las conjeturas manuales. Para los equipos que amplían sus operaciones, la gestión de estos experimentos y el seguimiento de la evolución del rendimiento de los modelos se pueden optimizar utilizando Ultralytics , que visualiza las métricas de entrenamiento y facilita la implementación de los modelos.