Model Ensemble
Узнай, как ансамбли моделей объединяют несколько архитектур, например Ultralytics YOLO26, для повышения точности и устойчивости. Познакомься с ключевыми методами и советами по реализации.
Ансамбль моделей — это стратегический подход в машинном обучении, при котором прогнозы нескольких отдельных моделей объединяются для получения итогового результата, который зачастую оказывается точнее и надёжнее, чем результат любой одной модели. Подобно комитету экспертов, обсуждающих вопрос для принятия более взвешенного решения, чем то, которое мог бы принять один человек, ансамбль моделей использует сильные стороны разных архитектур для снижения количества ошибок. Этот метод широко применяется для повышения производительности в сложных задачах, снижения риска переобучения и работы с присущим статистическому моделированию компромиссом между смещением и дисперсией.
Механика ансамблирования#
В основе ансамбля моделей лежит принцип «разнообразия». При обучении нескольких моделей — часто называемых «базовыми» или «слабыми моделями» — на разных подмножествах обучающих данных или с использованием разных алгоритмов ансамбль обеспечивает высокую вероятность того, что ошибки одной модели будут исправлены другими. В контексте глубокого обучения это часто подразумевает параллельный запуск нескольких нейронных сетей во время инференса.
К распространённым методам объединения этих прогнозов относятся:
- Голосование: используется в задачах классификации изображений, где класс, выбранный большинством моделей, становится итоговым прогнозом.
- Усреднение: часто используется в задачах регрессии, где числовые выходные значения усредняются для сглаживания шума.
- Взвешенное объединение: в задачах обнаружения объектов такие методы, как слияние взвешенных рамок (WBF), объединяют ограничивающие рамки от разных детекторов на основе оценок уверенности.
Практические применения#
Ансамбли моделей незаменимы в критически важных средах, где максимальная точность имеет первостепенное значение, а вычислительные ресурсы позволяют запускать несколько моделей.
-
Медицинская диагностика: в задачах анализа медицинских изображений ошибка в диагнозе может иметь серьёзные последствия. Радиологи часто используют ансамбли, объединяющие стандартную свёрточную нейронную сеть (CNN) с Transformer для компьютерного зрения (ViT). CNN отлично анализирует локальные текстуры, а ViT улавливает глобальный контекст, благодаря чему система выявляет опухоли с более высокой чувствительностью, чем любая из архитектур по отдельности.
-
Автономное вождение: системы восприятия в автономных транспортных средствах должны быть отказоустойчивыми. Инженеры часто используют ансамбль моделей обнаружения, например объединяя скорость работы в реальном времени YOLO26 с точностью RT-DETR на основе Transformer. Это позволяет обнаруживать пешеходов и препятствия, даже если одна из моделей испытывает трудности при определённых условиях освещения, например при бликах или тенях.
Реализация ансамблей с помощью Python#
Хотя сложные стратегии ансамблирования можно создавать с помощью библиотек, таких как Scikit-learn, ты можешь создать базовый ансамбль для инференса в компьютерном зрении, просто загрузив несколько моделей и обработав один и тот же входной объект. В следующем примере показано, как загрузить две разные модели Ultralytics YOLO для получения прогнозов по одному и тому же изображению.
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.")Ансамбль моделей и смесь экспертов#
Полезно отличать стандартный ансамбль моделей от смеси экспертов (MoE) — термина, который часто встречается в современных исследованиях больших языковых моделей (LLM).
- Ансамбль моделей: обычно запрашивает прогноз у каждой модели из набора для каждого входного объекта и агрегирует результаты. Это позволяет максимизировать такие метрики, как средняя точность (mAP), но значительно увеличивает задержку инференса и вычислительные затраты. Это подход к повышению качества методом полного перебора.
- Смесь экспертов: использует «сеть маршрутизации», чтобы направлять данные только к нескольким конкретным подмоделям-«экспертам», лучше всего подходящим для текущего входного объекта. Это обеспечивает значительное масштабирование базовых моделей без вычислительных затрат на запуск каждого параметра для каждого токена.
Преимущества и особенности#
Главное преимущество использования ансамбля моделей — повышение производительности. Ансамбли часто занимают лидирующие позиции в рейтингах на соревнованиях по анализу данных, таких как соревнования Kaggle, поскольку способны моделировать сложные закономерности, которые не улавливают отдельные модели. Однако это имеет свою цену: для развёртывания ансамблей требуется больше памяти и вычислительных ресурсов.
Командам, стремящимся эффективно управлять этими ресурсными потребностями, платформа Ultralytics предлагает инструменты для обучения, отслеживания и сравнения производительности разных архитектур моделей. Благодаря удобному сравнению метрик производительности разработчики могут решить, оправдывает ли прирост точности от использования ансамбля дополнительные инфраструктурные затраты, необходимые для развёртывания в сценариях периферийного ИИ.









