Шаговая оптимизация (Step-by-step optimization)

Что такое Шаговая оптимизация (Step-by-step optimization)?

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

Суть шаговой оптимизации можно сравнить с движением альпиниста, прокладывающего путь к вершине в условиях ограниченной видимости. Он не видит всей горы целиком, но делает небольшие шаги, каждый раз выбирая направление, которое ведёт вверх — к более высокой точке.
Аналогично алгоритм оптимизации «ощупывает» ландшафт функции потерь: на каждом шаге он вычисляет градиент (направление наискорейшего роста ошибки) и сдвигает параметры модели в противоположную сторону — туда, где ошибка уменьшается.
Исторически методы шаговой оптимизации восходят к классическому градиентному спуску, предложенному Огюстеном-Луи Коши ещё в 1847 году. Однако активное применение этих методов в машинном обучении началось лишь с развитием нейронных сетей в 1980–1990‑х годах, когда появилась необходимость эффективно обучать модели с тысячами и миллионами параметров. С тех пор было разработано множество вариаций шаговой оптимизации — от простого стохастического градиентного спуска (SGD) до адаптивных методов вроде Adam, RMSprop и Adagrad.Важно отличать шаговую оптимизацию от глобальной оптимизации (например, генетических алгоритмов или метода отжига). В отличие от глобальных методов, которые пытаются исследовать всё пространство параметров сразу, шаговая оптимизация действует локально: она «смотрит» только в окрестности текущей точки и делает небольшой шаг. Это делает её быстрее и практичнее для больших нейронных сетей, но повышает риск застревания в локальном минимуме.Примеры использования шаговой оптимизации:
  • SGD (Stochastic Gradient Descent) — базовый метод, где параметры обновляются после каждого обучающего примера или небольшого батча. Широко применяется в обучении свёрточных сетей (CNN) и рекуррентных сетей (RNN).
  • Adam — адаптивный метод, автоматически подстраивающий скорость обучения для каждого параметра. Популярный выбор для трансформеров (например, BERT, GPT) и других современных архитектур.
  • RMSprop — метод, нормализующий шаги обновления по величине градиента. Часто используется в задачах обработки последовательностей (например, в LSTM-сетях).
  • Adagrad — метод, накапливающий квадраты градиентов и уменьшающий шаг для часто обновляемых параметров. Полезен в задачах с разреженными данными (например, в рекомендательных системах).

Авторизация