SGD

forkortelse for Stochastic Gradient Descent

SGD er en optimeringsalgoritme, der opdaterer modelparametre ved at beregne gradienten af tabsfunktionen på en tilfældig stikprøve (mini-batch) i stedet for hele datasættet.

Kort fortalt

SGD er en metode til at træne maskinlæringsmodeller ved at tage små, tilfældige skridt i retning af den stejleste nedstigning på tabsfunktionen.

Kategori
træning
Niveau
øvet

Betydninger

1
  1. 1

    Stochastic Gradient Descent (SGD) er en iterativ optimeringsalgoritme, der bruger en tilfældig stikprøve (ofte ét datapunkt eller en mini-batch) til at estimere gradienten af tabsfunktionen og opdaterer parametrene i den modsatte retning.

    • SGD opdaterer vægtene efter hver mini-batch i stedet for hele datasættet.
    • En lille learning rate i SGD kan forbedre konvergensen, men øger træningstiden.

Hvornår bruges det

SGD bruges almindeligvis til at træne neurale netværk og andre modeller med store datasæt, fordi den er beregningseffektiv og kan undgå lokale minima.

Formel

θ_{t+1} = θ_t - η_t ∇_θ L(θ_t; x^{(i)}, y^{(i)})

Kodeeksempel

def sgd_update(params, grads, lr):
    for param, grad in zip(params, grads):
        param -= lr * grad
    return params

En simpel implementering af SGD, der opdaterer parametre med den negative gradient ganget med learning rate.

Oprindelse

SGD er en forkortelse for Stochastic Gradient Descent, fra engelsk 'stochastic' (stokastisk/tilfældig) og 'gradient descent' (gradientnedstigning).

Afledte ord

3