Градиентный спуск (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 при перемещении точки.