Gradient nedstigning
Oppdatert den September 03, 2024Lesetid: 3 minutter
Introduksjon
Tenk deg at vi har en funksjon og vi vil gjerne finne dens minimum. Hva ville du gjort ?
Enkelt ikke sant? Vi trenger bare å løse følgende ligning:
Saken er at det ikke alltid er lett å finne formelen , da de har en tendens til å være ekstremt kompliserte, spesielt i dyp læring hvor vi arbeider med komplekse funksjoner. Så vi må finne en annen metode som kan gi oss minimum av en funksjon uten å måtte finne formelen til den deriverte .
La oss bygge litt intuisjon
La oss anta at vi har en funksjon f med den tilsvarende grafen:
La oss starte med et tilfeldig punkt . Målet er å flytte dette punktet og gjøre det nærmere og nærmere slik at x*. Så problemet kan deles i to deler:
-
I hvilken retning skal vi flytte punktet ? Venstre eller høyre ?
-
Hvor mye skal vi flytte den?
Retningen
La oss bygge litt intuisjon for å svare på det første spørsmålet. Ta en titt på følgende punkt:
Noter det:
-
når punktet er til høyre for det optimale punktet går tangentlinjen opp.
-
når punktet er til høyre for det optimale punktet går tangentlinjen ned.
Retningen til en linje bestemmes av tegnet på skråningen:
-
En linje går opp helningen er positiv.
-
En linje går ned helningen er negativ.
Merk at: \
Helningen til tangentlinjen til en funksjon i et bestemt punkt er ikke mer enn den deriverte i det punktet :
Så som et svar på spørsmålet "Hvor skal vi flytte ?":
-
til høyre for Vi må flytte til venstre.
-
til venstre for Vi må flytte til høyre.
Stegene
Nå til det andre spørsmålet, Hvor mye bør vi flytte ?
Ta en titt på følgende eksempler:
Vi kan konkludere med at:
-
er nær => Helningen til tangenten er liten => er liten.
-
er langt fra => Hellingen til tangenten er stor => er stor.
Ved å svare på begge spørsmålene konkluderte vi med at kun kunnskapen om den deriverte i punktet kan gi oss mye innsikt om retningen og avstanden til det optimale punktet .
Gradientnedstigning
Gradientnedstigning er formuleringen av svarene på de to foregående spørsmålene. Det er en iterativ optimaliseringsalgoritme som tilnærmer minimum funksjon fra et tilfeldig startpunkt . Algoritmen er angitt som følger:
hvor:
-
er ikke mer enn den deriverte av i punktet .
-
er en positiv konstant som bestemmer hvor store trinnene skal være.
Legg merke til det:
-
er til høyre for => => => flyttes til venstre.
-
er til venstre for => => => flyttes til høyre.
-
nær => nær => Liten oppdatering til .
Quiz
-
Når slutter gradientnedstigning å iterere:
-
Når er liten nok.
-
Når er nær .
-
Når . XXX
– Hvordan velger vi :
– Vi plukker det tilfeldig. XXX
- Vi tar det i nærheten av .
– Det kommer an på problemet.
- Hvorfor trenger vi gradientnedstigning:
– Fordi datamaskiner ikke er kraftige nok til å beregne derivater.
- Fordi det er ekstremt vanskelig å finne derivatformlene til dyplæringsmodeller. XXX
– Fordi funksjoner har mer enn ett lokalt minimum.

Lær tekniske ferdigheter på nett med Code Labs Academy
Bli en del av vårt støttende fellesskap, lås opp potensialet ditt og start på en givende karrierevei.
Søk nå