Градиентный спуск (2D)

Градиентный спуск — это фундаментальный алгоритм оптимизации, используемый для поиска минимума функции. Этот симулятор визуализирует процесс в двух измерениях, где функция f(x,y) представляет собой поверхность, например, чашу или эллиптическую впадину. Линии уровня, или изолинии, функции f(x,y) — это кривые постоянного значения функции, аналогичные горизонталям на топографической карте. Алгоритм итеративно обновляет текущую точку (x,y), делая небольшой шаг в направлении, противоположном градиенту функции, в соответствии с правилом обновления: (x,y) ← (x,y) − η∇f(x,y). Здесь ∇f(x,y) — вектор градиента, указывающий направление наискорейшего роста функции, а η (эта) — скорость обучения, положительная скалярная величина, контролирующая размер шага. Повторяя шаги против градиента, траектория спускается к локальному минимуму. Визуализация демонстрирует, как выбор скорости обучения и начальной позиции влияет на сходимость. Слишком малая скорость приводит к медленному прогрессу, а слишком большая может вызвать перескок и колебания или даже расходимость. Модель упрощает реальную оптимизацию, используя гладкие выпуклые функции с единственным глобальным минимумом, избегая сложностей, таких как седловые точки, шум или многомерные пространства параметров. Взаимодействие с этой симуляцией помогает учащимся развить интуитивное понимание основных механизмов градиентной оптимизации — принципа, лежащего в основе обучения машинных моделей, инженерного проектирования и различных научных процедур подгонки.

Для кого: Студенты бакалавриата, изучающие математический анализ, многомерный анализ или вводные курсы по машинному обучению, а также все, кто хочет получить интуитивное представление о численной оптимизации.

Ключевые понятия

  • Градиентный спуск
  • Градиент
  • Скорость обучения
  • Линии уровня
  • Контурный график
  • Оптимизация
  • Выпуклая функция
  • Локальный минимум

Как это работает

Визуализация наискорейшего спуска на гладкой выпуклой чаше — связь между математическим анализом и оптимизацией.

Часто задаваемые вопросы

Почему мы движемся против градиента, а не по нему?
Вектор градиента ∇f указывает направление наискорейшего возрастания функции. Чтобы минимизировать функцию, мы хотим двигаться вниз по склону, то есть в направлении наискорейшего убывания. Поэтому мы вычитаем градиент, двигаясь в направлении -∇f.
Что произойдёт, если установить скорость обучения (η) слишком высокой?
Чрезмерно высокая скорость обучения заставляет алгоритм делать слишком большие шаги. Это может привести к перескоку через минимум, вызывая колебания вокруг него или даже к расходимости траектории, когда она удаляется от минимума, и сходимость не достигается.
Всегда ли найденный минимум является глобальным (самым низким)?
Не обязательно. Градиентный спуск сходится к локальному минимуму. В этом симуляторе функции выпуклые (имеют форму чаши), поэтому существует только один локальный минимум, который одновременно является глобальным. В более сложных невыпуклых функциях алгоритм может застрять в локальном минимуме, который не является самой низкой точкой в целом.
Как это связано с машинным обучением?
Обучение модели машинного обучения часто включает минимизацию 'функции потерь', которая измеряет ошибку предсказания. Градиентный спуск — это основной алгоритм, используемый для настройки параметров модели (весов и смещений) путём следования в направлении отрицательного градиента этой функции потерь, тем самым постепенно уменьшая ошибку.

Другие симуляторы в этой категории — или все 26.

Вся категория →
НовоеСредний

Диаграмма Минковского

Световой конус и повёрнутые оси в 1+1 измерениях; γ от v.

Запустить симулятор
НовоеСредний

Парадокс близнецов

Мировые линии «туда и обратно»; собственное время τ = T/γ против земного времени T.

Запустить симулятор
НовоеНачинающий

Метод Монте-Карло для оценки π

Равномерные случайные точки в квадрате; оценка π по формуле 4·(точки в круге)/N.

Запустить симулятор
НовоеНачинающий

Случайное блуждание

Шаги в 1D или 2D; траектория и текущее среднее ⟨r²⟩ для интуитивного понимания диффузии.

Запустить симулятор
ПопулярноеНачинающий

Сложение векторов

Размещайте векторы и наблюдайте за результирующим вектором с анимацией по правилу треугольника.

Запустить симулятор
ПопулярноеНачинающий

Тригонометрическая окружность

Единичная окружность с динамическими значениями sin, cos, tg при перемещении точки.

Запустить симулятор