loss function gradient
Gradienten af tabsfunktionen angiver retningen og størrelsen af den stejleste stigning af tabet i parameterrummet, og bruges til at opdatere modelparametre under træning via gradientbaseret optimering.
Kort fortalt
Det er en vektor, der viser, hvordan man skal justere modellens vægte for at øge tabet mest; ved at gå i modsat retning mindskes tabet.
- Kategori
- begreb
- Niveau
- øvet
Betydninger
1- 1
I maskinlæring og optimering: vektoren af partielle afledede af tabsfunktionen med hensyn til modellens parametre. Gradienten angiver, hvordan tabet ændres ved små ændringer i parametrene.
- Under backpropagation beregnes gradienten af krydsentropitabet med hensyn til hver vægt. — Deep Learning, Goodfellow et al., 2016
- Hvis gradienten er tæt på nul, er modellen tæt på et lokalt minimum.
Hvornår bruges det
Under træning af neurale netværk beregnes gradienten af tabet med hensyn til hver parameter ved hjælp af backpropagation. Optimizeren bruger derefter gradienten til at opdatere parametrene i den retning, der minimerer tabet. Gradienten er essentiel for stokastisk gradient descent og varianter som Adam.
Formel
∇θ L(θ) = [∂L/∂θ1, ∂L/∂θ2, ..., ∂L/∂θn]ᵀKodeeksempel
import torch
model = torch.nn.Linear(10, 1)
loss_fn = torch.nn.MSELoss()
y_pred = model(x)
loss = loss_fn(y_pred, y_true)
loss.backward()
print(model.weight.grad)Kodeeksempel, der viser, hvordan gradienter beregnes automatisk med PyTorch's autograd. Efter loss.backward() indeholder model.weight.grad gradienten af tabet med hensyn til vægtene.
Oprindelse
Begrebet stammer fra matematisk optimering og calculus, hvor gradienten af en funktion angiver den retning, funktionen stiger mest i. I maskinlæring kombineres 'loss function' (tabsfunktion) med 'gradient' for at beskrive den afledede af tabet.
Afledte ord
3Kilder
2- Deep Learning (Goodfellow, Bengio, Courville)
- Neural Networks and Deep Learning (Michael Nielsen)