Descubra cómo los conjuntos de modelos combinan múltiples arquitecturas, como Ultralytics , para aumentar la precisión y la solidez. Aprenda técnicas clave y consejos de implementación.
Un conjunto de modelos es un enfoque estratégico en el aprendizaje automático en el que se combinan las predicciones de múltiples modelos individuales para producir un resultado final que suele ser más preciso y robusto que el que podría lograr cualquier modelo por sí solo . Al igual que un comité de expertos que delibera para llegar a una decisión mejor que la que podría tomar una sola persona, un conjunto de modelos aprovecha las fortalezas de diversas arquitecturas para mitigar los errores. Esta técnica se utiliza ampliamente para mejorar el rendimiento en tareas complejas, reducir el riesgo de sobreajuste y manejar la inherente compensación entre sesgo y varianza que se encuentra en el modelado estadístico .
El principio fundamental detrás de un conjunto de modelos es la «diversidad». Al entrenar múltiples modelos —a menudo denominados «aprendices base» o «aprendices débiles»— en diferentes subconjuntos de datos de entrenamiento o utilizando diferentes algoritmos, el conjunto garantiza que los errores cometidos por un modelo sean corregidos por otros. En el contexto del aprendizaje profundo, esto a menudo implica ejecutar múltiples redes neuronales en paralelo durante la inferencia.
Los métodos habituales para combinar estas predicciones incluyen:
Los conjuntos de modelos son esenciales en entornos de alto riesgo en los que es primordial maximizar la precisión y los recursos computacionales permiten ejecutar múltiples modelos.
Aunque se pueden crear estrategias de conjuntos complejos utilizando bibliotecas como Scikit-learn, se puede crear un conjunto de inferencia básico para la visión por ordenador simplemente cargando varios modelos y procesando la misma entrada. El siguiente ejemplo muestra cómo cargar dos conjuntos distintos 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.")
Es útil diferenciar un conjunto de modelos estándar de una mezcla de expertos (MoE), un término que se ve a menudo en la investigación moderna sobre modelos de lenguaje grandes (LLM).
La principal ventaja de utilizar un conjunto de modelos es el aumento del rendimiento. Los conjuntos suelen dominar las clasificaciones en retos de ciencia de datos como las competiciones de Kaggle, ya que pueden modelar patrones complejos que los modelos individuales no detectan. Sin embargo, esto tiene un coste: la implementación de conjuntos requiere más memoria y potencia de cálculo.
Para los equipos que buscan gestionar estas demandas de recursos de manera eficiente, Ultralytics ofrece herramientas para entrenar, track y comparar diferentes arquitecturas de modelos. Al comparar fácilmente las métricas de rendimiento, los desarrolladores pueden decidir si la ganancia de precisión de un conjunto justifica la infraestructura adicional necesaria para la implementación en escenarios de IA de vanguardia.