Gå til indhold
atlas

Gradientnedstigning (gradient descent)

Også kendt som: gradient descent

Den trinvise metode, de fleste modeller lærer med - skub hver indstilling en smule i den retning, der gør fejlen mindre.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

En metode, der sænker værdien af en tabsfunktion ved gentagne gange at regne ud, hvilken vej hver modelparameter skal flyttes for at mindske tabet, og så flytte dem alle et lille skridt i den retning; skridtets størrelse er en hyperparameter.

Forklaret enkelt

Som at gå ned ad en tåget bakke med lukkede øjne - du mærker, hvilken vej jorden hælder under fødderne, og tager et lille skridt nedad, igen og igen, til det bliver fladt.

I praksis

En analytiker i et ministerium træner en model til at sortere indkomne breve efter emne; fejlen hopper op og ned i stedet for at falde, fordi gradientnedstigning tager for store skridt, så hun sænker skridtstørrelsen og starter forfra.

Hvorfor det betyder noget

Næsten alle moderne neurale netværk trænes sådan, så valgene - skridtstørrelse, antal runder - afgør, om træningen lykkes, går i stå eller spilder store mængder dyr regnekraft.

Teknisk uddybning

Den grundlæggende opdatering er θₜ₊₁ = θₜ − η ∇L(θₜ), hvor θ er parametervektoren, L tabet og η læringsraten. Den negative gradient er retningen med det stejleste lokale fald, en idé der normalt tilskrives Cauchy (1847). For et konvekst tab, hvis gradient er L-Lipschitz (L-glat), garanterer et fast skridt η ≤ 1/L, at tabet aldrig stiger og konvergerer med rate O(1/t), og stærk konveksitet giver lineær konvergens; på en kvadratisk funktion får ethvert η over 2/L i den skarpeste retning iterationerne til at divergere, hvilket er det svingende, eksploderende tab, man ser, når læringsraten er sat for højt. Tabet for neurale netværk er ikke-konvekst, så garantierne gælder kun lokalt, og i høje dimensioner er saddelpunkter og flade områder en større forhindring end dårlige lokale minima (Dauphin m.fl., 2014).

Stokastisk gradientnedstigning (SGD) erstatter den fulde gradient med et estimat fra en mini-batch. Teorien går tilbage til Robbins og Monros stokastiske approksimation (1951), hvis betingelser Σηₜ = ∞ og Σηₜ² < ∞ forklarer, hvorfor læringsraten nedtrappes under træningen. Støjen i gradienten er ikke kun en omkostning: den hjælper iterationerne væk fra saddelpunkter og menes at trække træningen mod fladere løsninger, der generaliserer bedre.

Næsten al deep learning bruger forfinelser af ren SGD. Momentum (Polyaks heavy-ball-metode, 1964) og Nesterovs accelererede gradient (1983) opbygger en hastighed, der dæmper svingninger på tværs af smalle dale. Adaptive metoder skalerer hver koordinat efter dens gradienthistorik: AdaGrad (Duchi m.fl., 2011), RMSProp (Hintons forelæsningsnoter fra 2012) og Adam (Kingma & Ba, 2015), hvis udbredte standardværdier er β₁ = 0,9, β₂ = 0,999 og ε = 10⁻⁸. AdamW (Loshchilov & Hutter, 2019) afkobler weight decay fra den adaptive opdatering og er standardoptimeringsalgoritmen til det meste transformertræning. Optimeringsalgoritmer af Adam-typen gemmer to ekstra tensorer pr. parameter, så optimeringstilstanden ofte fylder mere end selve vægtene og er en stor post i hukommelsesbudgettet for træning. Andenordensmetoder som Newtons metode eller L-BFGS konvergerer i færre skridt, men er upraktiske ved milliarder af parametre.

I praksis betyder læringsrateplanen lige så meget som optimeringsalgoritmen: lineær opvarmning over de første skridt og derefter cosinus- eller lineær nedtrapning er standard for store modeller, og en kort læringsrate-test (range test) er en billig måde at finde et brugbart η. Klipning af den samlede gradientnorm (ofte ved 1,0 i LLM-træning) holder sporadiske tabsspidser i skak. Gradientnedstigning bør holdes adskilt fra naboerne: tabsfunktionen definerer, hvad der minimeres, backpropagation beregner gradienten, og gradientnedstigning bestemmer skridtet.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Træningsdata
  2. →Maskinlæring
  3. →Tabsfunktion (loss function)
  4. →Modelparameter
  5. →Gradientnedstigning (gradient descent)

Relationer

Bruges sammen med
Batchstørrelse

Kilder og videre læsning

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Nævnt i

Test dig selv

Indlæser…

Atlas er i beta.