Gradient descent optimizer
En optimeringsalgoritme der iterativt minimerer en tabsfunktion ved at opdatere modellens parametre i retning af den negative gradient.
Kort fortalt
Gradient descent optimizer er den mest grundlæggende metode til at træne en AI-model ved at justere parametrene lidt ad gangen i den retning, der mindsker fejlen.
- Kategori
- træning
- Niveau
- begynder
Betydninger
1- 1
En iterativ optimeringsalgoritme, der opdaterer modelparametre ved at bevæge sig i den modsatte retning af gradienten af tabsfunktionen med henblik på at minimere tabet.
- I træningen af et neuralt netværk anvendes en gradient descent optimizer til at justere vægtene efter hver batch.
- Valg af læringsrate er afgørende for gradient descent optimizerens konvergens.
Hvornår bruges det
Gradient descent optimizers bruges i næsten al træning af neurale netværk. Algoritmen kræver en læringsrate, der bestemmer skridtlængden. Variationer som SGD (stochastic gradient descent), Adam og RMSprop er almindelige.
Formel
θ = θ - η · ∇_θ L(θ)Kodeeksempel
import numpy as np
def gradient_descent(X, y, lr=0.01, epochs=1000):
m, n = X.shape
theta = np.zeros(n)
for _ in range(epochs):
grad = (1/m) * X.T.dot(X.dot(theta) - y)
theta -= lr * grad
return thetaEksempel på gradient descent til lineær regression: parametrene opdateres med gradienten af middelkvadratfejlen.
Oprindelse
Gradient descent stammer fra matematisk optimering. 'Gradient' refererer til hældningen af tabsfunktionen, og 'descent' betyder nedstigning. Optimizer angiver, at det er en metode til at finde et optimum.
Afledte ord
3Kilder
2- Ruder, S. (2016). An overview of gradient descent optimization algorithms.
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning.