Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Ensemble

Ансамблевое обучение объединяет предсказания нескольких моделей с помощью бэггинга, бустинга или стекинга, добиваясь меньшей ошибки, чем у каждой модели по отдельности.

Ансамблевое обучение обучает несколько моделей для одной задачи и объединяет их предсказания голосованием, усреднением или обучаемым комбинирующим алгоритмом в один результат, который обычно точнее и стабильнее результата любой отдельной модели. Это работает, потому что разные модели допускают разные ошибки, а их объединение устраняет часть ошибок каждой из них. В 1995 году Андерс Кро и Йеспер Веделсби строго доказали это для усреднённых регрессионных моделей: квадратичная ошибка ансамбля равна средней ошибке его моделей за вычетом среднего расхождения между ними и ансамблем. Следовательно, усреднённый ансамбль никогда не уступает средней модели, а улучшение обеспечивается разнообразием моделей ансамбля.

Бэггинг, бустинг и стекинг#

Большинство ансамблей в машинном обучении относятся к трём семействам, каждое из которых по-разному влияет на компромисс между смещением и дисперсией.

Бэггинг, сокращение от bootstrap aggregating, предложил Лео Брейман в 1996 году. Он независимо обучает каждую модель на бутстрэп-выборке, полученной из обучающего набора с возвращением, а затем усредняет результаты или выбирает ответ голосованием, что главным образом уменьшает дисперсию. Бэггинг подходит для нестабильных моделей, например глубоких деревьев решений, а в случайном лесе Бреймана 2001 года при каждом разбиении дополнительно выбирается случайное подмножество признаков, чтобы деревья были ещё менее похожи друг на друга.

Бустинг обучает модели последовательно: каждая следующая сосредоточена на ошибках ансамбля, накопленных к этому моменту, что в основном уменьшает смещение. AdaBoost, созданный Йоавом Фройндом и Робертом Шапире, повышает вес неправильно классифицированных примеров перед обучением следующего слабого алгоритма. Градиентный бустинг Джерома Фридмана подбирает каждое новое дерево по градиенту функции потерь. Этот подход лежит в основе XGBoost, LightGBM и CatBoost — моделей, которые по-прежнему показывают лучшие результаты на многих табличных наборах данных.

Стекинг, или обобщение с помощью стекинга, предложил Дэвид Волперт в 1992 году. Мета-модель, часто логистическая регрессия, учится объединять разнородные базовые модели по их предсказаниям на отложенных фолдах и придаёт больший вес тем моделям, чьи предсказания на отложенных данных надёжнее всего.

В этом примере scikit-learn сравниваются одиночное дерево и по одному ансамблю каждого семейства на наборе данных о диагностике рака молочной железы с использованием 5-кратной перекрёстной проверки:

from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import GradientBoostingClassifier, RandomForestClassifier, StackingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier

X, y = load_breast_cancer(return_X_y=True)  # 569 tumors, 30 measurements each

forest = RandomForestClassifier(n_estimators=200, random_state=0)
boosting = GradientBoostingClassifier(random_state=0)
models = {
    "Single decision tree": DecisionTreeClassifier(random_state=0),
    "Bagging (random forest)": forest,
    "Boosting (gradient boosting)": boosting,
    # Stacking: a logistic regression learns how to combine the forest and the boosted trees
    "Stacking": StackingClassifier([("forest", forest), ("boosting", boosting)], LogisticRegression()),
}

for name, model in models.items():
    print(f"{name}: {cross_val_score(model, X, y, cv=5).mean():.3f}")

Одиночное дерево показывает результат 0.917, случайный лес — 0.960, градиентный бустинг — 0.963, а стекинг — 0.963. Каждый ансамбль примерно вдвое сокращает ошибку дерева. Стекинг сравнялся с более сильной моделью: 16 из 23 опухолей, ошибочно классифицированных случайным лесом, также неверно классифицируют модели бустинга, поэтому мета-модели почти нечего использовать для устранения разногласий.

Ансамбли в глубоком обучении и компьютерном зрении#

Глубокие ансамбли обучают несколько нейронных сетей с разными случайными начальными значениями и усредняют их выходные данные. В 2017 году Баладжи Лакшминараянан и его коллеги из DeepMind показали, что это повышает точность и улучшает оценку неопределённости, поскольку модели сильнее всего расходятся на входных данных, не похожих на обучающие. В обнаружении объектов объединяют ограничивающие рамки нескольких детекторов с помощью подавления немаксимумов (NMS) или объединения ограничивающих рамок с весами, которое усредняет пересекающиеся рамки, а не оставляет только рамку с наибольшей уверенностью. Ансамбли разных архитектур часто используют в анализе медицинских изображений и конкурсных решениях, где точность важнее стоимости инференса.

Стоимость растёт с каждым участником ансамбля, что ограничивает его применение на устройствах периферийного ИИ. Дистилляцию знаний отчасти предложили как решение этой проблемы: Джеффри Хинтон, Ориол Виньялс и Джефф Дин обучали одну модель воспроизводить усреднённые выходные данные ансамбля. Более дешёвая альтернатива — Dropout: обучение с ним приблизительно эквивалентно усреднению экспоненциального числа прореженных подсетей.

Ансамбли, супы моделей и смеси экспертов#

Ансамбль моделей обычно означает объединение отдельно обученных сетей на этапе инференса — наиболее распространённый в глубоком обучении вид ансамблевого обучения. Супы моделей и другие методы объединения моделей усредняют веса, а не предсказания. Это позволяет сохранить стоимость одной модели, но работает только для моделей, дообученных на одних и тех же предобученных весах. Смесь экспертов (MoE) обучает экспертов совместно с маршрутизатором, который направляет каждый вход лишь нескольким из них, поэтому эксперты специализируются, а не решают каждый всю задачу целиком.

Как показали Павел Измайлов и его коллеги в 2018 году, усреднение весов в ходе одного запуска обучения приближает ансамбль контрольных точек этого запуска при стоимости одной модели. Обучение Ultralytics YOLO использует этот подход при каждом запуске YOLO26: оно поддерживает экспоненциальное скользящее среднее весов, обновляемое после каждого шага оптимизатора с коэффициентом затухания, постепенно растущим до 0.9999. Среднее значение используется для проверки и сохраняется в best.pt и last.pt вместо исходных весов.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения