Циклическая оптимизация (Cyclical Optimization)

Что такое Циклическая оптимизация (Cyclical Optimization)?

Метод настройки параметров модели машинного обучения, при котором гиперпараметры (например, скорость обучения) изменяются по циклическому закону в ходе тренировки нейронной сети.

Суть циклической оптимизации можно пояснить на аналогии с тренировкой спортсмена.

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

Аналогично в обучении нейросети циклическое изменение скорости обучения позволяет:

  • на «высоких скоростях» — быстро выходить из локальных минимумов функции потерь;
  • на «низких скоростях» — точнее «настраиваться» в окрестностях глобального минимума.

Исторически идея циклических изменений гиперпараметров получила заметный импульс после публикации в 2015 году работы Лесли Смит (Leslie N. Smith) «Cyclical Learning Rates for Training Neural Networks». В ней автор предложил стратегию Cyclical Learning Rate (CLR), где скорость обучения (learning rate) меняется между двумя границами по треугольному закону (линейно растёт, затем линейно падает). Этот подход показал, что:

  • можно обойтись без долгой ручной подборки фиксированной скорости обучения;
  • сеть часто сходится быстрее и достигает лучшей точности.

Чем отличается от смежных понятий

  • Фиксированная скорость обучения — параметр остаётся постоянным на всём протяжении тренировки. Требует тщательного подбора и часто приводит к медленной сходимости или застреванию в плохих минимумах.
  • Пошаговое затухание (step decay) — скорость обучения уменьшается по расписанию (например, каждые N эпох). Менее гибко, чем циклический подход, так как не возвращает высокую скорость после фазы тонкой настройки.
  • Адаптивные оптимизаторы (Adam, RMSprop и др.) — автоматически подстраивают шаги по параметрам, но не обязательно циклически меняют глобальную скорость обучения. Циклическая стратегия может дополнять их, задавая внешний «ритм» изменения масштаба шага.

Примеры использования

  • Cyclical Learning Rate (CLR) — базовая схема с треугольным циклом; часто применяется при обучении свёрточных сетей (CNN) для классификации изображений.
  • Super-Convergence — техника, предложенная тем же Лесли Смитом, где при использовании CLR сеть обучается до хорошей точности за очень малое число эпох (порядка 25–50 вместо сотен).
  • 1cycle policy — разновидность CLR, где цикл включает фазу роста, фазу падения и финальную фазу очень малого шага для «дотяжки». Успешно используется в библиотеках типа fastai.
  • Циклические версии адаптивных оптимизаторов — например, сочетание CLR с Adam, когда циклически меняется не только общий масштаб шага, но и адаптивные коэффициенты.

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

Авторизация