Градиентный спуск
Градиентный спуск – конспект
1. Введение
📌 Градиентный спуск (Gradient Descent) – это оптимизационный алгоритм, используемый для минимизации функции потерь в машинном обучении и нейросетях.
📌 Он помогает обучать модели, корректируя их параметры (веса нейронов) так, чтобы ошибка предсказаний стала минимальной.
2. Основная идея
🔹 Градиент – это вектор направления наибольшего роста функции.
🔹 Градиентный спуск движется в противоположную сторону градиента, чтобы найти локальный минимум.
📌 Аналогия: Представьте себя на горе. Чтобы спуститься в долину (минимум функции), вы должны двигаться по самому крутому спуску.
3. Формула градиентного спуска
🔹 Вес модели обновляется по формуле:
где: - – параметр модели (вес). - – скорость обучения (learning rate). - – градиент функции потерь.
📌 Процесс:
1️⃣ Вычисляем градиент ошибки.
2️⃣ Двигаемся в направлении уменьшения ошибки.
3️⃣ Повторяем до достижения минимума.
4. Виды градиентного спуска
4.1. Полный (Batch Gradient Descent, BGD)
🔹 Использует всю выборку данных для вычисления градиента.
🔹 Стабильный, но медленный при больших данных.
📌 Пример: Обучение нейросети на всех данных сразу.
4.2. Стохастический (Stochastic Gradient Descent, SGD)
🔹 Использует один случайный пример из выборки.
🔹 Быстрый, но шумный (может перескакивать минимум).
📌 Пример: Онлайн-обучение, когда поступают новые данные в реальном времени.
4.3. Мини-выборочный (Mini-Batch Gradient Descent)
🔹 Использует небольшие группы данных (batch).
🔹 Компромисс между скоростью и стабильностью.
📌 Пример: Batch Size = 32 – обновление весов каждые 32 примера.
5. Проблемы градиентного спуска
❌ Выбор скорости обучения (α):
- Слишком большая – алгоритм перескакивает минимум.
- Слишком маленькая – обучение долгое.
❌ Застревание в локальном минимуме – особенно в сложных функциях.
❌ Проблема исчезающего градиента – в глубоких сетях градиент становится слишком маленьким.
📌 Решения:
- Адаптивные методы (Adam, RMSprop, Momentum).
- Нормализация данных.
- Использование больших батчей.
6. Улучшенные методы градиентного спуска
🚀 Momentum – добавляет скорость, чтобы избежать локальных минимумов.
🚀 RMSprop – регулирует шаг обучения для разных параметров.
🚀 Adam (Adaptive Moment Estimation) – сочетает Momentum и RMSprop (самый популярный).
📌 Пример: Adam часто используется в обучении нейросетей (GPT, CNN, RNN).
7. Итог
📌 Градиентный спуск – главный метод оптимизации нейросетей. Он помогает минимизировать ошибку, корректируя параметры модели, и является основой глубинного обучения и машинного интеллекта. 🚀🤖