Толковый словарь по нейросетям и искусственному интеллекту
Обрезка градиента
Категория термина
Обрезка градиента (Gradient Clipping) — это метод стабилизации процесса обучения нейросетей, при котором градиенты, превышающие заданный порог, обрезаются (ограничиваются) до этого значения. Это помогает предотвратить взрыв градиентов (exploding gradients) — ситуацию, когда значения градиентов становятся слишком большими, что приводит к нестабильности, резким скачкам потерь (loss) и даже выходу модели за пределы числового диапазона.
Градиент — это частная производная функции потерь по параметрам модели. Во время обучения с помощью метода обратного распространения (backpropagation) происходит вычисление градиентов, и они используются для обновления весов. Но если градиенты становятся чрезмерно большими, это может привести к тому, что веса начнут "скакать" и обучение не сойдётся.
⚙️ Как работает:
Существует два основных способа обрезки градиента:
- Clipping по L2-норме (norm clipping):
Если сумма квадратов градиентов (L2-норма) превышает пороговое значение, то весь вектор градиента масштабируется пропорционально, чтобы его норма не превышала заданный предел. - Clipping по значению (value clipping):
Каждый компонент градиента, превышающий порог, заменяется на максимальное допустимое значение.
📌 Формула:
Если ∥g∥\|g\| — норма градиента, а tt — порог:
если ∥g∥>t,g:=g⋅t∥g∥\text{если } \|g\| > t, \quad g := g \cdot \frac{t}{\|g\|}📍 Применение:
- Рекуррентные нейронные сети (RNN, LSTM, GRU) — особенно чувствительны к взрыву градиентов из-за длинных последовательностей.
- Трансформеры, при работе с большим числом параметров.
- Глубокие нейросети с десятками и сотнями слоёв.
- Ускорение сходимости при нестабильных функциях потерь.
🧪 Пример:
В PyTorch:
В TensorFlow:
🧭 Преимущества:
- Повышает стабильность обучения
- Защищает от взрыва градиентов
- Позволяет использовать более агрессивные learning rate
- Упрощает отладку глубоких сетей
⚠️ Ограничения:
- Не решает проблему затухающих градиентов (vanishing gradients)
- Если порог слишком мал, модель может учиться слишком медленно
- Требует подбора гиперпараметров
🧾 Заключение:
Gradient Clipping — это простой, но мощный инструмент в арсенале инженера машинного обучения, особенно важный при работе с глубокими или рекуррентными сетями. Он обеспечивает контроль над динамикой обучения и предотвращает нестабильное поведение, улучшая сходимость и надёжность модели.