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. 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 theta

Eksempel 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

3

Kilder

2
  • Ruder, S. (2016). An overview of gradient descent optimization algorithms.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning.