gradient clipper

En teknik under træning af neurale netværk, hvor gradienter begrænses til en maksimal værdi for at forhindre eksploderende gradienter.

Kort fortalt

Gradient clipper forhindrer gradienter i at blive for store under træning, så modellen ikke destabiliseres.

Kategori
træning
Niveau
øvet

Betydninger

1
  1. 1

    En teknik, der begrænser størrelsen af gradienter under backpropagation for at undgå eksploderende gradienter.

    • Ved træning af en LSTM bruges en gradient clipper med en tærskel på 5,0 for at forhindre gradienter i at eksplodere.
    • Gradient clipper er en afgørende komponent i træning af dybe neurale netværk for at sikre numerisk stabilitet.

Hvornår bruges det

Gradient clipper anvendes typisk i rekursive neurale netværk (RNN'er) og dybe netværk, hvor gradienter kan vokse eksplosivt. Det implementeres ofte som en hyperparameter, fx max_grad_norm, og kan anvendes enten før eller efter gradienternes opdatering.

Formel

g_clipped = g · min(1, threshold / ||g||)

Kodeeksempel

torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)

Anvender gradient norm clipping i PyTorch med en maksimal norm på 1,0.

Oprindelse

Begrebet stammer fra træning af neurale netværk, specifikt som en løsning på problemet med eksploderende gradienter, der blev identificeret i 1990'erne.

Afledte ord

1

Kilder

2
  • On the difficulty of training recurrent neural networks (Pascanu et al., 2013)
  • Deep Learning (Goodfellow et al., 2016)