← AI та МН

Градієнтний Спуск

EN
ОптимізаторAdam

Крок0
Втрати
‖∇‖
Δ поз

Глоб. мін
Збіжність

Оптимізатори

SGD
Момент
RMSprop
Adam
Тягни для обертання · Scroll для зуму

Про цю симуляцію

Цей візуалізатор розміщує один або кілька оптимізаторів на 3D ландшафті втрат і анімує ітеративний шлях, який кожен з них прокладає до мінімуму. На кожному кроці аналітично обчислюється справжній градієнт обраної тестової функції, додатково вноситься шум, а правило оновлення параметрів для SGD, Momentum, RMSprop чи Adam рухає маркер униз схилом. Спостерігаючи, як чотири траєкторії змагаються на поверхнях на кшталт долини Розенброка, можна побачити, чому адаптивні методи так по-різному справляються з кривиною, вузькими ярами та сідловими точками.

🔬 Що показано

Відрендерене поле висот класичного оптимізаційного бенчмарка (Розенброк, сідло, функція Біла або Гіммельблау). Кольорові точки спускаються ним за справжніми рівняннями оновлення: звичайний SGD (x ← x − lr·g), Momentum, помасштабне квадратично-градієнтне масштабування RMSprop та Adam з його скоригованими на зсув першим і другим моментами (β₁, β₂ = 0.999). Біла ★ позначає глобальний мінімум, до якого прямує кожна траєкторія.

🎮 Як користуватися

Оберіть оптимізатор (або «Усі чотири» для порівняння) та функцію втрат зі спадних списків. Повзунок швидкості навчання (0.001–0.2), повзунок Momentum / β₁ (0–0.99) та повзунок градієнтного шуму (0–0.5) змінюють динаміку в реальному часі. Використовуйте Reset, щоб перезапустити, Pause, щоб зупинити, а перетягуванням обертайте та прокручуванням масштабуйте камеру. Панель телеметрії показує номер кроку, втрату, норму градієнта та зміщення за крок.

💡 Чи знали ви?

Функція-«банан» Розенброка має глобальний мінімум у точці (1, 1), що лежить усередині довгої, вигнутої, майже пласкої долини. Рух за градієнтом майже миттєво заводить вас у долину, але повзти її дном до справжнього мінімуму надзвичайно повільно — саме тому вона стала стандартним стрес-тестом для алгоритмів оптимізації.

Поширені запитання

Що таке градієнтний спуск?

Градієнтний спуск — це ітеративний метод мінімізації функції шляхом повторюваних кроків у напрямку найшвидшого спадання, тобто проти градієнта. Кожне оновлення має вигляд параметр ← параметр − швидкість_навчання × градієнт. У машинному навчанні це двигун, що підлаштовує ваги моделі для зменшення втрати, а ця сторінка робить цей процес видимим на поверхні з двовимірним входом, намальованій у 3D.

Чим відрізняються SGD, Momentum, RMSprop та Adam?

SGD робить крок фіксованого розміру вздовж сирого градієнта. Momentum накопичує швидкість, тож набирає темп у стабільних напрямках і гасить коливання. RMSprop ділить кожен крок на ковзне середнє квадратів градієнтів, надаючи кожній осі власний адаптивний масштаб. Adam поєднує momentum і масштабування в стилі RMSprop із корекцією зсуву, тому він тут часто сходиться найшвидше.

Що роблять повзунки швидкості навчання та шуму?

Швидкість навчання визначає, наскільки далеко рухає кожен крок; замала — і збіжність повзе, завелика — і маркер перестрибує мінімум або розходиться. Градієнтний шум додає випадкове збурення, пропорційне величині градієнта, імітуючи стохастичні градієнти навчання на міні-батчах і показуючи, як кожен оптимізатор справляється з неточними оцінками напрямку.

Чи точна симуляція з математичного боку?

Так, у частині основної механіки. Градієнти всіх чотирьох функцій втрат запрограмовані аналітично, а чотири правила оновлення реалізують стандартні рівняння, зокрема скориговані на зсув моменти Adam із β₂, зафіксованим на 0.999. Це достовірна навчальна модель із двома параметрами, а не повноцінна глибока мережа, тож вона опускає міні-батчі, спад ваг та розклади швидкості навчання.

Чому оптимізатори інколи застрягають або поводяться дивно?

На сідловій поверхні градієнт майже зникає вздовж одного напрямку, тож звичайний SGD може застопоритися, тоді як адаптивні методи вибираються швидше. У Гіммельблау є чотири окремі мінімуми, тож стартова точка визначає, до якого басейну впаде траєкторія. Ця поведінка ілюструє, що градієнтний спуск знаходить локальний мінімум поблизу місця старту, а не обов'язково глобальний.