Урок по треку Математика для ML 6 мин

Градиентный спуск и выпуклость за 6 минут

Шаг градиентного спуска, learning rate, выпуклые функции, седловые точки и метод Ньютона.

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

Шаг градиентного спуска

w ← w - η · ∇L(w)

η (learning rate) задаёт размер шага. Пример: f(w) = (w - 3)², старт w = 0, η = 0.1.

f'(0) = -6      w₁ = 0 + 0.6 = 0.6
f'(0.6) = -4.8  w₂ = 0.6 + 0.48 = 1.08

Каждый шаг сокращает расстояние до минимума в 1 - 2η = 0.8 раза.

Learning rate

  • Слишком большой: шаги перелетают минимум, loss скачет, растёт, появляется NaN.
  • Слишком маленький: loss падает медленно и почти линейно.

Для параболы f = (L/2)·w² шаг сходится при η < 2/L, безопасный выбор η = 1/L. Общая интуиция: чем больше кривизна, тем меньше допустимый шаг.

Обусловленность и масштаб признаков

Если один признак от 0 до 1, а другой до 100 000, линии уровня функции потерь сильно вытянуты. Шаг, безопасный для крутого направления, крошечный для пологого, и спуск идёт зигзагом. Решения: стандартизация признаков, адаптивные оптимизаторы (Adam), нормализация в нейросетях.

Выпуклость

Функция выпукла, если её график не выше любой хорды:

f(λa + (1-λ)b) ≤ λf(a) + (1-λ)f(b)

Главное свойство: любой локальный минимум глобален. Выпуклы MSE линейной регрессии, log loss логистической регрессии, hinge loss линейного SVM. Примеры функций одной переменной: x², |x|, eˣ выпуклы, x³ нет.

Сумма выпуклых выпукла, поэтому добавление L1 или L2 к выпуклому loss выпуклость сохраняет.

Нейросети невыпуклы

Loss нейросети невыпукл, гарантий глобального минимума нет. Но на практике это не катастрофа:

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

Седловая точка: градиент нулевой, но по одним направлениям функция растёт, по другим убывает. Отличают её по гессиану (собственные значения разных знаков).

Методы второго порядка

Метод Ньютона делает шаг w ← w - H⁻¹∇L и около минимума сходится очень быстро. Но для модели со 100 млн параметров гессиан содержит 10¹⁶ чисел, а его обращение стоит O(n³). Поэтому в глубоком обучении используют приближения: L-BFGS для небольших задач и диагональные масштабирования вроде Adam.

Критерии остановки

  • достигнуто число эпох;
  • loss на валидации перестал улучшаться (early stopping);
  • норма градиента стала меньше порога.

Частые ошибки

  • Путать знак: плюс градиент это подъём.
  • При ручной реализации обновлять w, а потом считать градиент b уже по новому w.
  • Забывать про масштаб признаков.
  • Говорить, что нулевой градиент означает минимум.

Что спросят на собесе

  • Формула шага, что делает learning rate, как понять по графику, что он плохой.
  • Что такое выпуклость и почему она важна.
  • Почему нейросети всё равно обучаются, хотя loss невыпукл.
  • Зачем масштабировать признаки перед градиентным спуском.
  • Почему метод Ньютона не используют для больших моделей.

Закрепите за 5 минут

После урока в тренажёре 3-5 проверочных вопросов, дальше модуль уходит в повторения.