Циклическая оптимизация (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, когда циклически меняется не только общий масштаб шага, но и адаптивные коэффициенты.
На практике циклическая оптимизация популярна в задачах компьютерного зрения и обработки естественного языка, где требуется быстро подобрать хорошие гиперпараметры и добиться высокой точности за ограниченное время.
