Автор: Дмитрий Раков Редактура: Александр Лекомцев

Возможно, именно так выглядел бы суп, ингредиенты которого — архитектуры нейронных сетей 🙂

Возможно, именно так выглядел бы суп, ингредиенты которого — архитектуры нейронных сетей 🙂

Введение

Для начала вспомним слова известного шеф-повара Гордона Рамзи:

“Обычно шеф-повара не знают, где остановиться. Все изобретают что-то в надежде сразить наповал своих посетителей. Порочная практика. Часто когда дело доходит до 7-8 составляющих, я запрещаю рецепт. Требую максимум пять ингредиентов. Чем сложнее блюдо, тем более сложный и одновременно менее интенсивный у него аромат. К черту мистификации. Вы готовите для своих гостей. Вам должны доверять. А откуда, скажите, возьмется доверие, если вы предлагаете что-то несъедобное?”

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

Обычно мы подготавливаем данные (основной ингредиент), затем выбираем архитектуру и приправляем эти компоненты дополнительными частями (лосс-функция, оптимизатор и др). А перед подачей сервируем итоговый набор нужными значениями гиперпараметров. И правда, это все выглядит как приготовление еды.

Но что если составить композицию из уже приготовленных блюд? Авторы статьи “**Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time”** описали свой подход и провели эксперименты по усреднению весов моделей. Сделано это было для создания единственной модели с наилучшими характеристиками по качеству и устойчивости.

Зачем усреднять веса моделей?

Ранее в статье про эффективные ансамбли мы выделили задачу объединения нескольких моделей в ансамбль для улучшения следующих характеристик:

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

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

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

  1. Используем много обученных моделей или чекпоинты, полученные в рамках одного обучения на разных эпохах.
  2. Подбираем множество комплиментарных моделей (при усреднении их весов получается наилучшая модель).
  3. Выбираем и применяем один из алгоритмов усреднения.

После усреднения у полученной модели улучшаются следующие характеристики:

  1. Качество работы на валидационных данных.