Автор: Дмитрий Раков Редактура: Илья Бакалец

Введение

Чтобы решить сложные задачи и принять верное решение, в реальном мире часто используют экспертный метод. В его основе — создание группы высококвалифицированных в своей области экспертов. У каждого из них разный взгляд на решение задачи. Это и хорошо: мы в результате имеем много мнений и мало неопределенности при достижении цели.

Такая концепция применяется и при построении систем на базе алгоритмов машинного обучения. Здесь тоже есть эксперты — нейронные сети. А их много! За счет этого мы улучшаем:

  1. Качество решения задачи (качество предсказания);
  2. Оценку неопределенности предсказания (можем идентифицировать данные не из распределения + избежать overconfidence модели);
  3. Калибровку оценок (приближаем корреляцию точности и оцененной вероятности к 1).

Метод построения наборов нейронных сетей называют Ensemble Learning. А сами наборы — ансамблями.

Давайте теперь рассмотрим:

  1. Базовые подходы к построению ансамблей;
  2. Метрики для оценки их эффективности;
  3. Продвинутые методы построения ансамблей глубоких нейронных сетей (с ними мы тратим меньше памяти и времени на inference).

Подходы к построению ансамблей

Рассмотрим для начала базовые подходы Bagging и Boosting. Эти два метода применяются повсеместно.

Bagging

Рисунок 1. Пайплайн Bagging

Рисунок 1. Пайплайн Bagging

Подход Bagging основан на идее обучения независимых моделей, которые решают идентичную задачу. Для разнообразных предсказаний используются следующие техники:

При классическом подходе: