Узнайте, как ансамблевое обучение повышает точность и снижает переобучение. Научитесь комбинировать несколько моделей, таких как Ultralytics , для получения превосходных результатов компьютерного зрения.
Ансамблевое обучение — это надежная стратегия в машинном обучении (ML), при которой несколько независимых моделей, часто называемых «слабыми обучающимися», объединяются для получения единого прогнозного результата. Основная предпосылка заключается в том, что группа моделей часто может достичь более высокой точности и лучшей обобщаемости, чем любая отдельная модель, действующая самостоятельно. Объединяя прогнозы различных алгоритмов, ансамблевые методы эффективно снижают риск переобучения на учебных данных, сглаживают случайные ошибки и повышают общую стабильность системы. Этот подход аналогичен консультации с группой экспертов, а не полаганию на мнение одного человека при принятии важных решений.
Эффективность ансамблевых методов заключается в их способности манипулировать компромиссом между смещением и дисперсией. Отдельные модели могут страдать от высокой дисперсии (чувствительности к шуму) или высокого смещения (чрезмерного упрощения). Ансамблирование смягчает эти проблемы с помощью специальных техник:
В области компьютерного зрения (CV) ансамбли часто используются для максимального повышения производительности в соревнованиях и критически важных приложениях, связанных с безопасностью. Для обнаружения объектов это часто предполагает запуск нескольких моделей, таких как разные версии YOLO26, на одном и том же изображении. Полученные ограничительные рамки затем объединяются с помощью таких методов, как немаксимальное подавление (NMS) или взвешенное слияние рамок (WBF), чтобы получить наиболее вероятные местоположения объектов.
Методы ансамбля широко используются в отраслях, где надежность прогнозов имеет первостепенное значение.
Вы можете смоделировать базовый ансамбль инференции, загрузив несколько обученных моделей и сгенерировав прогнозы для одного и того же входа. Ultralytics позволяет легко обучать эти варианты . В следующем примере показана загрузка двух различных Ultralytics YOLO (YOLO26n и YOLO26s) для проверки обнаружений на изображении.
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")
Важно отличать ансамблевое обучение от увеличения объема данных.
В то время как увеличение объема данных помогает одной модели учиться лучше, ансамблевое обучение помогает нескольким моделям проверять результаты друг друга . Обе стратегии часто используются вместе для достижения передовых результатов в таких задачах, как сегментация экземпляров и оценка позы.