глоссарий

Gradient clipping

Gradient clipping

Градиентное клиппирование — приём обучения нейросетей, ограничивающий величину градиента, чтобы модель не «взорвалась». Градиент показывает, как подправить веса. Если он слишком велик, один шаг может разрушить накопленные знания. Клиппирование обрезает длину вектора до заданного порога, сохраняя направление.

В глубоких сетях градиенты часто растут экспоненциально при обратном распространении — это «взрыв градиента». Без клиппирования обучение нестабильно: веса скачут, потери растут. Ограничитель скорости не даёт сделать гигантский шаг, поэтому трансформеры и рекуррентные сети становятся обучаемыми.

Интуитивно: толкаете тележку с хрупким грузом. Слишком сильный толчок разобьёт груз — механизм ограничивает силу. В нейросети: вычисляем градиент, проверяем его норму. Если она выше порога, умножаем все компоненты на коэффициент, чтобы норма стала равна порогу. Направление неизменно, но шаг безопасен.

Пример: при обучении GPT на огромных текстах редкие слова и длинные зависимости вызывают резкие градиенты. Без клиппирования модель забывает грамматику и выдаёт бессмыслицу, с ним — обучение стабильно, потеря снижается. В PyTorch и TensorFlow это параметры clipnorm или clipvalue.

Итог: клиппирование — простой и необходимый регулятор, спасающий нейросети от взрыва градиента. Без него современные глубокие модели практически невозможно обучить.