Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Ensamble de modelos

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 .

La mecánica del ensamblaje

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:

  • 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 los resultados numéricos para suavizar el ruido.
  • Fusión ponderada: En la detección de objetos, técnicas como la fusión de cajas ponderadas (WBF) fusionan las cajas delimitadoras de diferentes detectores basándose en puntuaciones de confianza.

Aplicaciones en el mundo real

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.

  1. Diagnóstico médico: En el análisis de imágenes médicas, pasar por alto un diagnóstico puede tener graves consecuencias. Los radiólogos suelen utilizar conjuntos que combinan una red neuronal convolucional (CNN) estándar con un transformador 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 detect con una sensibilidad mayor que cualquiera de las dos arquitecturas por separado.
  2. Conducción autónoma: Los sistemas de percepción de los vehículos autónomos deben ser a prueba de fallos. Los ingenieros suelen implementar un conjunto de modelos de detección, por ejemplo, fusionando la velocidad en tiempo real de YOLO26 con la precisión basada en transformadores de RT-DETR. Esto garantiza que los peatones u obstáculos se detecten incluso si un modelo tiene dificultades con condiciones de iluminación específicas, como reflejos o sombras.

Implementación de conjuntos con Python

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.")

Conjunto de modelos frente a mezcla de expertos

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).

  • Conjunto 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 (mAP), pero aumenta significativamente la latencia de inferencia y el coste computacional. Es un enfoque de fuerza bruta para la calidad.
  • Mezcla de expertos: utiliza una «red de puertas» para dirigir los datos solo a unos pocos submodelos «expertos» específicos que se adaptan mejor a la entrada actual. Esto permite una escalabilidad masiva en los modelos básicos sin la penalización computacional de ejecutar todos los parámetros para cada token.

Ventajas y consideraciones

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.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora