Weight decay

Weight decay er en regulariseringsteknik der tilføjer en straf proportional med vægtenes størrelse til tabsfunktionen, typisk implementeret som L2-regularisering.

Kort fortalt

En metode der forhindrer modeller i at blive for komplekse ved at straffe store vægte under træning.

Kategori
teknik
Niveau
øvet
Udtale
/weɪt dɪˈkeɪ/

Betydninger

1
  1. 1

    En regulariseringsteknik hvor en straf proportional med vægtenes størrelse lægges til tabsfunktionen, eller ækvivalent hvor vægtene reduceres med en lille brøkdel ved hver opdatering.

    • Ved at anvende weight decay med λ=0.001 blev modellens testfejl reduceret med 5%.
    • I AdamW-optimizeren adskilles weight decay fra L2-regularisering for at forbedre generaliseringen.Loshchilov & Hutter, 2017

Hvornår bruges det

Weight decay anvendes i træning af neurale netværk for at reducere overfitting. Det tilføjes ofte til optimeringsalgoritmer som SGD eller Adam, og styrken bestemmes af en hyperparameter λ.

Formel

w_{t+1} = w_t - η (∇L(w_t) + λ w_t)

Kodeeksempel

import numpy as np

# Hyperparametre
eta = 0.01
decay = 0.001

# Vægte og gradient (eksempel)
w = np.array([0.5, -0.2])
grad = np.array([0.1, 0.3])

# Opdatering med weight decay
w = w - eta * grad - eta * decay * w

Eksempel på vægtopdatering med weight decay.

Oprindelse

Udtrykket 'weight decay' kommer fra fysik, hvor det beskriver eksponentiel henfald, og i maskinlæring refererer det til at vægtene henfalder mod nul over tid.

Afledte ord

2

Kilder

1