gradient clipping threshold

En hyperparameter, der sætter en maksimal grænse for gradienternes størrelse under træning af neurale netværk for at forhindre eksploderende gradienter.

Kort fortalt

Gradient clipping threshold er en værdi, der begrænser, hvor store gradienterne må være, når en neuralt netværk trænes – ellers kan de blive så store, at læringsprocessen bryder sammen.

Kategori
træning
Niveau
øvet
Udtale
/ˈɡreɪdiənt ˈklɪpɪŋ ˈθrɛʃhoʊld/

Betydninger

2
  1. 1

    Maksimal tilladt L2-norm for gradientvektoren; gradienter med norm over denne grænse skaleres ned.

    • Vi satte gradient clipping threshold til 1.0 for at stabilisere træningen af den dybe LSTM.Eksempel fra praksis, 2024
    • En for høj gradient clipping threshold kan føre til, at eksploderende gradienter ikke forhindres.Eksempel fra praksis, 2024
  2. 2

    Maksimal absolutværdi for hver gradientkomponent ved værdibaseret clipping; alle gradienter klemmes til intervallet [-threshold, threshold].

    • Ved value-clipping bruges en gradient clipping threshold på 0.5, så ingen gradient overstiger 0.5.Eksempel fra praksis, 2024

Hvornår bruges det

Gradient clipping threshold bruges primært i træning af dybe neurale netværk, især RNN'er og transformere, hvor gradienter kan vokse eksponentielt. Det sættes typisk som et tal (f.eks. 1.0 eller 5.0), og gradienterne skaleres ned, hvis deres norm overstiger dette tal. Det anvendes i optimeringsalgoritmer som SGD eller Adam.

Formel

For norm-clipping: hvis ||g|| > θ, så g' = θ · g / ||g||; for value-clipping: g' = max(min(g, θ), -θ).

Kodeeksempel

import torch

# Norm clipping for a sequence of parameters
params = model.parameters()
max_norm = 1.0  # gradient clipping threshold
torch.nn.utils.clip_grad_norm_(params, max_norm)

# Value clipping
torch.nn.utils.clip_grad_value_(params, clip_value=1.0)

Eksempel på norm-baseret og værdi-baseret gradient clipping i PyTorch med threshold 1.0.

Oprindelse

Begrebet stammer fra gradient-nedstigning og clipping (beskæring) af gradienter, hvor 'threshold' angiver grænsen. Metoden blev formaliseret af Pascanu et al. (2013) i forbindelse med træning af rekursive neurale netværk.

Afledte ord

2

Kilder

2