Как в учебнике
Пусть $L:\mathbb R^d\to\mathbb R$ — дифференцируемая целевая функция, $\theta_t$ — текущие параметры, а $\eta>0$ — выбранный размер шага. Одно обновление градиентного спуска задаётся формулой:
$$\theta_{t+1}:=\theta_t-\eta\nabla L(\theta_t).$$
Индекс t нумерует итерации. На каждой итерации градиент вычисляют заново в текущей точке, затем масштабируют и вычитают. Это правило вычисления следующего состояния, а не утверждение о достижении глобального минимума.
При ненулевом градиенте производная функции вдоль направления $-\nabla L(\theta_t)$ равна $-\|\nabla L(\theta_t)\|_2^2<0$. Поэтому достаточно малый положительный шаг уменьшает цель. Длина конечного шага существенна: локальная гарантия не распространяется на произвольное $\eta$.
Для $L(\theta)=(\theta-2)^2$ производная равна $2(\theta-2)$. Из $\theta_0=0$ при $\eta=1/4$ следующий параметр равен 1, цель уменьшается с 4 до 1. При $\eta=2$ параметр равен 8, а цель — 36. Условия сходимости последовательности требуют отдельного анализа функции и выбора шагов.
Для рассматриваемого квадрата обновление можно записать через ошибку параметра: $\theta_{t+1}-2=(1-2\eta)(\theta_t-2)$. При постоянном $0<\eta<1$ модуль множителя меньше единицы, поэтому расстояние до 2 убывает геометрически. При $\eta=1$ ошибка меняет знак без уменьшения, а при $\eta>1$ ненулевая ошибка растёт по модулю. Эти выводы относятся именно к данному квадрату.
Определения и обозначения: Mathematics for Machine Learning.
Связанные понятия: Градиент: вектор локальных изменений, Минимум функции: наименьшее достигнутое значение.
На пальцах
Спуск по склону начинается с местного наклона: шаг направлен против градиента. В новой точке наклон определяется заново, поэтому старая стрелка не годится на весь маршрут. Перемещение зависит и от наклона, и от размера шага; слишком широкий прыжок способен перенести путь через низину на более высокий склон. Направление было верным, подвела длина прыжка — бодрая походка ещё не доказывает приближения к цели.
Пример
Учебная цель — $(\theta-2)^2$. Сначала показаны два коротких шага с $\eta=1/4$, затем отдельно — большой шаг из исходной точки.
Градиентный спуск: шаг против градиента
Старт
В точке 0 градиент равен −4, цель равна 4.
Шаг 1 из 4: Старт
Все шаги текстом
Старт
В точке 0 градиент равен −4, цель равна 4.
- θ; градиент; цель
- 0текущий−4текущий4
Первое обновление
Вычитание четверти градиента даёт параметр 1.
- θ; градиент; цель
- 1текущий−2текущий1включён
Второе обновление
Новый градиент уже −2. Следующий параметр равен 1.5.
- θ; градиент; цель
- 1.5текущий−1текущий0.25включён
Слишком большой шаг
Исходная точка снова 0. Размер шага 2 даёт параметр 8 и цель 36.
- θ; размер шага; цель
- 8исключён2текущий36исключён
При $\eta=1/4$ множитель ошибки равен $1/2$. Начальное отклонение $-2$ превращается в $-1$, затем в $-0.5$; значения цели соответственно равны 4, 1 и 0.25. При большом шаге $\eta=2$ множитель равен $-3$: отклонение меняет сторону и утраивается. Поэтому конечное значение 36 объясняется самим правилом обновления. Знак минус перед градиентом сохраняется в обоих опытах и сам по себе от разлёта не защищает.
После каждого шага градиент и цель вычисляются заново. Само направление не заменяет проверки длины шага и условий сходимости.