Код Junior Оптимизаторы и обучение обновлено

Gradient clipping по глобальной норме

Условие

Градиенты всех параметров даны списком векторов grads. Напишите clip_by_norm(grads, max_norm): если общая L2-норма больше max_norm, умножьте все градиенты на max_norm / норма. Верните [clipped, norm_before], всё округлено до 4 знаков.

Примеры

clip_by_norm([[3, 4]], 1) // [[[0.6, 0.8]], 5]
clip_by_norm([[0.3], [0.4]], 1) // [[[0.3], [0.4]], 0.5]
clip_by_norm([[0, 0]], 1) // [[[0, 0]], 0]

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме