глоссарий

Snapshot ensembles

Snapshot ensembles

Snapshot ensembles — это метод, объединяющий несколько версий одной нейросети, полученных в разные моменты её обучения. Вместо финальных весов, которые после долгой тренировки часто переобучаются, сохраняются «снимки» состояния модели на разных эпохах. Затем их предсказания усредняются (или для классификации — голосуют большинством). Это сглаживает ошибки, повышает точность и устойчивость, а главное — даёт эффект ансамбля всего за один процесс обучения, экономя вычислительные ресурсы.

Интуиция проста: каждый снимок — эксперт, взглянувший на задачу со своей позиции. Коллективное мнение таких специалистов надёжнее, чем ответ одного «уставшего» финального состояния, которое слишком подогнано под обучающие данные. Технически достаточно сохранять веса через заданные интервалы эпох, а затем запустить все версии на входном сигнале и объединить их выходы.

Классический пример — распознавание породы собаки по фото. Последняя версия сети может уверенно ошибаться на необычных ракурсах, тогда как снимки с 10-й, 20-й и 30-й эпохи сохраняют более общие признаки и вместе дают точный ответ. При этом не нужно обучать три разные сети — только сохранить промежуточные веса.

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