Автор: Дмитрий Раков Редактура: Александр Лекомцев
Возможно, именно так выглядел бы суп, ингредиенты которого — архитектуры нейронных сетей 🙂
Для начала вспомним слова известного шеф-повара Гордона Рамзи:
“Обычно шеф-повара не знают, где остановиться. Все изобретают что-то в надежде сразить наповал своих посетителей. Порочная практика. Часто когда дело доходит до 7-8 составляющих, я запрещаю рецепт. Требую максимум пять ингредиентов. Чем сложнее блюдо, тем более сложный и одновременно менее интенсивный у него аромат. К черту мистификации. Вы готовите для своих гостей. Вам должны доверять. А откуда, скажите, возьмется доверие, если вы предлагаете что-то несъедобное?”
Действительно, приготовление блюда требует тщательного выбора ингредиентов, а еще чуткого контроля за процессом и рецептурой. Во многом это похоже на процесс проектирования и обучения нейронных сетей.
Обычно мы подготавливаем данные (основной ингредиент), затем выбираем архитектуру и приправляем эти компоненты дополнительными частями (лосс-функция, оптимизатор и др). А перед подачей сервируем итоговый набор нужными значениями гиперпараметров. И правда, это все выглядит как приготовление еды.
Но что если составить композицию из уже приготовленных блюд? Авторы статьи “**Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time”** описали свой подход и провели эксперименты по усреднению весов моделей. Сделано это было для создания единственной модели с наилучшими характеристиками по качеству и устойчивости.
Ранее в статье про эффективные ансамбли мы выделили задачу объединения нескольких моделей в ансамбль для улучшения следующих характеристик:
Однако применение ансамблей, как правило, ведет к увеличению времени исполнения. А это для многих приложений существенно ограничит их использование.
Идеальная техника ансамблирования с точки зрения затрат на вычислительные ресурсы — техника, которая позволила бы получить идентичные ансамблю свойства при количестве вычислений, равным одной модели. Есть способ решения подобной задачи: усреднение весов множества моделей. В рамках этого направления исследований можно выделить общий подход:
После усреднения у полученной модели улучшаются следующие характеристики: