Цей візуалізатор розміщує один або кілька оптимізаторів на 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 поєднує momentum і масштабування в стилі RMSprop із корекцією зсуву, тому він тут часто сходиться найшвидше.
Швидкість навчання визначає, наскільки далеко рухає кожен крок; замала — і збіжність повзе, завелика — і маркер перестрибує мінімум або розходиться. Градієнтний шум додає випадкове збурення, пропорційне величині градієнта, імітуючи стохастичні градієнти навчання на міні-батчах і показуючи, як кожен оптимізатор справляється з неточними оцінками напрямку.
Так, у частині основної механіки. Градієнти всіх чотирьох функцій втрат запрограмовані аналітично, а чотири правила оновлення реалізують стандартні рівняння, зокрема скориговані на зсув моменти Adam із β₂, зафіксованим на 0.999. Це достовірна навчальна модель із двома параметрами, а не повноцінна глибока мережа, тож вона опускає міні-батчі, спад ваг та розклади швидкості навчання.
На сідловій поверхні градієнт майже зникає вздовж одного напрямку, тож звичайний SGD може застопоритися, тоді як адаптивні методи вибираються швидше. У Гіммельблау є чотири окремі мінімуми, тож стартова точка визначає, до якого басейну впаде траєкторія. Ця поведінка ілюструє, що градієнтний спуск знаходить локальний мінімум поблизу місця старту, а не обов'язково глобальний.