Model Ensemble
Descubre cómo los ensembles de modelos combinan varias arquitecturas, como Ultralytics YOLO26, para mejorar la precisión y la robustez. Aprende técnicas clave y consejos de implementación.
Un ensemble de modelos es un enfoque estratégico del aprendizaje automático en el que se combinan las predicciones de varios modelos individuales para producir un resultado final que suele ser más preciso y robusto de lo que cualquier modelo podría lograr por sí solo. Al igual que un comité de expertos que delibera para alcanzar una decisión mejor que la de una sola persona, un ensemble de modelos aprovecha los puntos fuertes de arquitecturas diversas para mitigar los errores. Esta técnica se utiliza ampliamente para mejorar el rendimiento en tareas complejas, reducir el riesgo de sobreajuste y gestionar el inevitable compromiso entre sesgo y varianza presente en el modelado estadístico.
Mecánica de los ensembles#
El principio fundamental de un ensemble de modelos es la «diversidad». Al entrenar varios modelos —a menudo denominados «aprendices base» o «aprendices débiles»— con distintos subconjuntos de datos de entrenamiento o utilizando algoritmos diferentes, el ensemble garantiza que los errores cometidos por un modelo probablemente sean corregidos por otros. En el contexto del aprendizaje profundo, esto suele implicar ejecutar varias redes neuronales en paralelo durante la inferencia.
Entre los métodos habituales para combinar estas predicciones se incluyen:
- Votación: Se utiliza en la clasificación de imágenes, donde la clase seleccionada por la mayoría de los modelos se convierte en la predicción final.
- Promediado: Se utiliza a menudo en tareas de regresión, donde se promedian las salidas numéricas para suavizar el ruido.
- Fusión ponderada: En la detección de objetos, técnicas como la Fusión ponderada de cajas (WBF) combinan las cajas delimitadoras de distintos detectores en función de sus puntuaciones de confianza.
Aplicaciones en el mundo real#
Los ensembles de modelos son esenciales en entornos críticos en los que maximizar la precisión es prioritario y los recursos computacionales permiten ejecutar varios modelos.
-
Diagnóstico médico: En el análisis de imágenes médicas, pasar por alto un diagnóstico puede tener consecuencias graves. Los radiólogos suelen utilizar ensembles que combinan una red neuronal convolucional (CNN) estándar con un Transformer de visión (ViT). La CNN destaca en el análisis de texturas locales, mientras que el ViT captura el contexto global, lo que permite al sistema detectar tumores con mayor sensibilidad que cualquiera de las dos arquitecturas por separado.
-
Conducción autónoma: Los sistemas de percepción de los vehículos autónomos deben ser tolerantes a fallos. Los ingenieros suelen implementar un ensemble de modelos de detección; por ejemplo, fusionan la velocidad en tiempo real de YOLO26 con la precisión basada en Transformer de RT-DETR. Esto garantiza que los peatones u obstáculos se detecten incluso si un modelo tiene dificultades con determinadas condiciones de iluminación, como los reflejos o las sombras.
Implementación de ensembles con Python#
Aunque se pueden crear estrategias de ensemble complejas mediante bibliotecas como Scikit-learn, puedes crear un ensemble básico de inferencia para visión por ordenador cargando varios modelos y procesando la misma entrada. El siguiente ejemplo muestra cómo cargar dos modelos distintos de Ultralytics YOLO para generar predicciones sobre la misma imagen.
from ultralytics import YOLO
# Load two different model variants to create a diverse ensemble
model_a = YOLO("yolo26n.pt") # Nano model (Speed focused)
model_b = YOLO("yolo26s.pt") # Small model (Higher accuracy)
# Perform inference on an image with both models
# In production, results are typically merged programmatically
results_a = model_a("https://ultralytics.com/images/bus.jpg")
results_b = model_b("https://ultralytics.com/images/bus.jpg")
print(f"Model A detected {len(results_a[0].boxes)} objects.")
print(f"Model B detected {len(results_b[0].boxes)} objects.")Ensemble de modelos frente a mezcla de expertos#
Es útil distinguir un ensemble de modelos estándar de una mezcla de expertos (MoE), un término que aparece a menudo en la investigación moderna sobre modelos de lenguaje grandes (LLM).
- Ensemble de modelos: Normalmente consulta todos los modelos de la colección para cada entrada y agrega los resultados. Esto maximiza métricas como la precisión media promedio (mAP), pero aumenta significativamente la latencia de inferencia y el coste computacional. Es un enfoque de fuerza bruta para obtener calidad.
- Mezcla de expertos: Utiliza una «red de compuerta» para dirigir los datos únicamente a unos pocos submodelos «expertos» específicos, los más adecuados para la entrada actual. Esto permite una escalabilidad masiva en los modelos fundacionales sin la penalización computacional de ejecutar cada parámetro para cada token.
Ventajas y aspectos que tener en cuenta#
La principal ventaja de utilizar un ensemble de modelos es el aumento del rendimiento. Los ensembles suelen dominar las clasificaciones en desafíos de ciencia de datos como las competiciones de Kaggle porque pueden modelar patrones complejos que los modelos individuales pasan por alto. Sin embargo, esto tiene un coste: implementar ensembles requiere más memoria y potencia de cálculo.
Para los equipos que buscan gestionar eficientemente estas demandas de recursos, Ultralytics Platform ofrece herramientas para entrenar, realizar el seguimiento y comparar el rendimiento de distintas arquitecturas de modelos. Al comparar fácilmente las métricas de rendimiento, los desarrolladores pueden decidir si la mejora de precisión de un ensemble justifica la infraestructura adicional necesaria para implementarlo en escenarios de IA en el borde.









