Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Ensamble de modelos

Aumenta la precisión y la robustez del modelo con los Model Ensembles (ensambles de modelos). Explora técnicas como bagging, boosting, stacking y aplicaciones del mundo real.

Un conjunto de modelos es una sofisticada técnica de aprendizaje automático (AM) en la que se combinan múltiples modelos independientes se combinan para generar un resultado final único y superior. En lugar de confiar en la capacidad de decisión de un algoritmo, un conjunto aprovecha el principio de la "sabiduría de la multitud" para mejorar la precisión y la estabilidad generales. para mejorar la precisión y la estabilidad generales. Al agregar los resultados de diversos modelos, los ingenieros pueden reducir significativamente el riesgo de de sobreajuste del conjunto de entrenamiento y crear sistemas mucho más robustos frente al ruido de los los datos de entrenamiento. Este enfoque se utiliza con frecuencia para resultados de vanguardia en entornos competitivos como los concursos competiciones Kaggle.

Mecanismos de aprendizaje conjunto

La eficacia de un conjunto de modelos depende de la diversidad de sus componentes. Si todos los modelos Si todos los modelos tienen los mismos puntos débiles, su combinación no aporta ninguna mejora. Por ello, los profesionales suelen introducir la diversidad variando la arquitectura de la red neuronal, utilizando subconjuntos de datos, o aplicando distintas estrategias de aumento de datos.

Existen tres métodos principales para construir conjuntos:

  • Bagging (Bootstrap Aggregating): Consiste en entrenar varias versiones del mismo modelo, como como un árbol de decisión, en diferentes muestras aleatorias del conjunto de datos. aleatorias del conjunto de datos. El ejemplo clásico es el algoritmo algoritmo Random Forest, que promedia las predicciones de muchos árboles para suavizar la varianza, como se detalla en la de Scikit-learn.
  • Refuerzo: En esta técnica iterativa, los modelos se entrenan secuencialmente. Cada nuevo modelo se centra en corregir los errores cometidos por sus predecesores. Implementaciones populares como XGBoost y LightGBM utilizan este método para convertir aprendices débiles en un en un modelo compuesto de gran precisión.
  • Apilamiento: Este enfoque avanzado entrena a un "metaaprendiz" para combinar las predicciones de diferentes modelos base, como la combinación de una máquina de vectores soporte (SVM) con un modelo de aprendizaje profundo. El metaaprendiz optimiza cómo ponderar la opinión de cada experto para minimizar la función de pérdida final. final.

Aplicaciones en el mundo real

Los conjuntos de modelos son fundamentales en sectores en los que la precisión es crítica y el coste del error es elevado.

  1. Análisis de imágenes médicas: El diagnóstico de afecciones complejas suele requerir el análisis de patrones sutiles en de imágenes. Un sistema de diagnóstico puede emplear un conjunto de modelos que combine una red neuronal convolucional (CNN) especializada en análisis de texturas con un Transformador de Visión (ViT) que destaca en la comprender el contexto global. Esta combinación ayuda a detectar tumores en imágenes médicas con una sensibilidad superior a la que podría alcanzar cualquier arquitectura por sí sola.
  2. Sistemas autónomos: Para vehículos autónomos, los sistemas de percepción deben ser a prueba de fallos. Los ingenieros suelen utilizar un conjunto de modelos de detección de objetos, por ejemplo de alta velocidad de YOLO11 con la precisión basada en transformadores de RT-DETR. Esto garantiza que los peatones o los obstáculos se detectan incluso si un modelo tiene dificultades con la iluminación o la oclusión específicas.

Ensemble vs. Mezcla de expertos (MoE)

Es importante diferenciar un conjunto de modelos estándar de una Mezcla de Expertos (MoE). Aunque ambos utilizan múltiples submodelos, funcionan de forma diferente durante la inferencia:

  • Conjunto de modelos: Normalmente consulta cada modelo de la colección para cada entrada y fusiona los resultados. Esto maximiza la precisión pero aumenta la latencia de la inferencia y el coste computacional.
  • Mezcla de expertos: Utiliza una red de compuerta para dirigir los datos sólo a unos pocos "expertos" específicos (submodelos) más adecuados para la entrada actual. Esto permite una escalabilidad masiva en modelos básicos como Transformadores de conmutación sin la penalización computacional de ejecutar cada parámetro para cada ficha.

Implementación de conjuntos con Ultralytics

Mientras que bibliotecas como PyTorch permiten arquitecturas de conjunto complejas para la inferencia simplemente cargando varios modelos y procesando la misma entrada. misma entrada. El siguiente ejemplo muestra cómo cargar dos modelos YOLO distintos utilizando la función ultralytics paquete.

from ultralytics import YOLO

# Load two different model variants to create a diverse ensemble
model_a = YOLO("yolo11n.pt")  # Nano model
model_b = YOLO("yolo11s.pt")  # Small model

# Perform inference on an image with both models
# In a production ensemble, you would merge these results (e.g., via NMS)
results_a = model_a("https://ultralytics.com/images/bus.jpg")
results_b = model_b("https://ultralytics.com/images/bus.jpg")

print(f"Model A detections: {len(results_a[0].boxes)}")
print(f"Model B detections: {len(results_b[0].boxes)}")

La implementación de conjuntos requiere una cuidadosa consideración de recursos MLOps, ya que el despliegue múltiples modelos aumenta el uso de memoria. Sin embargo, para las tareas que requieren el mayor rendimiento posible en visión por ordenador (VC), la compensación suele estar justificada.

Únase a la comunidad Ultralytics

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

Únete ahora