CMD + K

Introduksjon til maskinlæringGradient descent og treningBegreper & formler14
13 min lesing

Gradient descent og trening

Tren modellen steg for steg mot lavere tap, velg læringsrate ut fra tapskurven, og hold styr på batcher, epoker og konveksitet.

Læringsmål
  • 01Regn ut ett gradient descent-steg for både og i med MSE
  • 02Forklar hvorfor oppdateringen går motsatt vei av gradienten, og hvorfor stegene krymper nær minimum
  • 03Tolk en tapskurve og avgjør om læringsraten er for liten, passe, for stor eller langt for stor
  • 04Regn ut antall iterasjoner per epoke og totalt for full batch, minibatch og SGD
  • 05Forklar hvorfor konveksitet gir et globalt minimum, og hvorfor et nevralt nett kan ende i ulike løsninger
  • 06Velg et stoppkriterium, og bruk tidlig stopping på valideringstap
0 av 20 aktiviteter
Kjerneidé

Trening er et søk etter parameterverdiene som gir lavest tap. Gradient descent ser aldri hele tapsflaten. Den regner bare ut hvordan tapet endrer seg når parameterne dyttes litt, flytter dem et stykke den veien tapet synker, og gjentar. Det ligner på å stemme en gitar etter gehør: du vet ikke hvor mye stemmeskruen må vris, men du hører om tonen er for høy eller for lav, og omtrent hvor mye. Forsiktige vridninger kommer fram, men bruker lang tid. Vrir du litt for hardt, havner tonen på feil side og må hentes tilbake. Vrir du mye for hardt, kommer du lenger unna for hver gang.

Steg 1 av 7

Tapsflaten og gradienten

Konsept

I kapittel 2 holdt vi parameterne faste og målte tapet på dataene. Under trening snur vi det: dataene ligger fast, og parameterne varierer. Da blir tapet en funksjon av parameterne, og grafen til denne funksjonen kaller vi en tapsflate. Med én parameter er den en kurve, med to er den et landskap med høydekurver, og med millioner av parametere er den en flate ingen kan tegne, men som vi likevel kan gå på.

Vi kan ikke prøve alle parameterverdier, men vi kan regne ut hvordan tapet endrer seg når vi dytter litt på hver av dem. De partielle deriverte samlet i én vektor er gradienten . Den peker i retningen der tapet øker raskest, og lengden sier hvor bratt det er. I en bunn er gradienten null.

Gradient descent går derfor motsatt vei av gradienten og gjentar steget mange ganger:

Dette er ƒgradient descent-oppdatering. Minustegnet er hele poenget: er den deriverte positiv, øker tapet når øker, og da skal ned. Læringsraten skalerer steget. Selve steglengden er , så der flaten er bratt, tar vi lange steg, og nær bunnen, der gradienten krymper, blir stegene korte av seg selv, selv om er konstant.

Laster interaktiv figur …
Figur 3.1Gradienten peker oppover; steget går motsatt vei. Høydekurvene binder sammen like tap, og × er minimum. ∇L står vinkelrett på kurven; steget −η∇L går nedover.
Interaktiv figur

Figuren viser to parametere sett ovenfra. Gradientpilen står vinkelrett på høydekurven og peker oppover, mens oppdateringen går motsatt vei, mot lavere tap.

Prøv: Trykk Neste og se én iterasjon om gangen: stigningen, steget −η · L′ og ny w. Stegene blir kortere jo nærmere bunnen du kommer.

Laster interaktiv figur …
Figur 3.2Gradient descent på en konveks tapsflate. L(w) = (w − 1)² + 0,5 fra w₀ = −3 med η = 0,3.
Interaktiv
RegneeksempelTa to gradient descent-steg på fra med .

Steg 1. Deriver. .

Steg 2. Gradient i startpunktet. . Negativ derivert betyr at tapet synker når øker.

Steg 3. Første oppdatering. .

Steg 4. Andre oppdatering. , så .

Steg 5. Kontroller. Tapet går fra via til . Det andre steget er kortere ( mot ) fordi gradienten er mindre, akkurat som i widgeten.

Øving 1 av 1

Tapet er . Du starter i og bruker læringsraten . Hva er etter ett gradient descent-steg? Oppgi svaret med én desimal.

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…