~/notes $ cat gradient-descent.md
← cd ~/notes

Градиентный спуск: интуиция и одна формула

// 2026.03.21·оптимизация·~1 мин чтения

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

θt+1  ←  θt  −  η · ∇J(θt)fig.01 — шаг обновления

Почему это работает

Градиент — локально самое крутое направление роста. Шаг против него уменьшает значение функции при достаточно малом η.

заметка на полях

Фиксированный η почти не используют — планировщики и Adam меняют шаг по ходу.

Минимальная реализация

# один шаг спуска для J(θ) = θ²
def step(theta, lr=0.1):
    grad = 2 * theta        # ∇J(θ) = 2θ
    return theta - lr * grad

fig.02 — марка сайта[1][2]

  1. Моноширинный шрифт несёт встроенную сетку. ↩︎

  2. Единственный цвет отдан акценту — так он становится фокусом. ↩︎