Gradient nedstigning

dyb læring
matematik
gradient afstamning
Gradient nedstigning cover image

Introduktion

Forestil dig, at vi har en funktion f(x)f(x), og vi vil gerne finde dens minimum. Hvad ville du gøre ?

Simpelt ikke? Vi skal kun løse følgende ligning:

f(x)=0f'(x) = 0

Sagen er, at det ikke altid er let at finde formlen for ff', da de har tendens til at være ekstremt komplicerede, især i deep learning, hvor vi beskæftiger os med komplekse funktioner. Så vi skal finde en anden metode, der kan give os minimum af en funktion uden behov for at finde formlen for den afledte ff'.

Lad os bygge noget intuition

Lad os antage, at vi har en funktion f med den tilsvarende graf:

Graph 1

Lad os starte med et tilfældigt punkt x0x_{0}. Målet er at flytte dette punkt og gøre det tættere og tættere på xx*, således at f(f'(x*)=0) = 0. Så problemet kan opdeles i to dele:

  • I hvilken retning skal vi flytte punktet xx ? Venstre eller højre ?

  • Hvor meget skal vi flytte den?

Retningen

Lad os bygge noget intuition for at besvare det første spørgsmål. Tag et kig på følgende punkt:

Graph 2

Graph 3

Noter det:

  • når punktet x0x_{0} er til højre for det optimale punkt xx*, går dens tangentlinje op.

  • når punktet x0x_{0} er til højre for det optimale punkt xx* går dens tangentlinje ned.

Retningen af ​​en linje bestemmes af tegnet for dens hældning:

  • En linje går op     \implies hældningen aa er positiv.

  • En linje går ned     \implies hældningen aa er negativ.

Bemærk at: \

Hældningen af ​​tangentlinjen til en funktion i et bestemt punkt x0x_{0} er ikke mere end den afledede i det punkt f(x0)f'(x_{0}):

tangent(x0):g(x)=f(x0).(xx0)+f(x0)tangent(x*{0}): g(x) = f'(x*{0}).(x-x*{0}) + f(x*{0})

Så som svar på spørgsmålet "Hvor skal vi flytte x0x_{0}?":

  • f(x0)<0f'(x_{0}) < 0     \implies x0x_{0} til højre for xx*     \implies Vi skal flytte x0x_{0} til venstre.

  • f(x0)>0f'(x_{0}) > 0     \implies x0x_{0} til venstre for xx*     \implies Vi skal flytte x0x_{0} til højre.

Trinene

Nu til det andet spørgsmål, Hvor meget skal vi flytte x0x_{0}?

Tag et kig på følgende eksempler:

Graph 4

Graph 5

Vi kan konkludere, at:

  • x0x_{0} er tæt på xx* => Tangens hældning er lille => f(x0)f'(x_{0}) er lille.

  • x0x_{0} er langt fra xx* => Tangens hældning er stor => f(x0)f'(x_{0}) er stor.

Ved at besvare begge spørgsmål konkluderede vi, at kun viden om den afledede i punktet x0x_{0} kan give os en masse indsigt i retningen og afstanden til det optimale punkt x0x_{0}.

Gradientnedstigning

Gradient descent er formuleringen af ​​svarene på de to foregående spørgsmål. Det er en iterativ optimeringsalgoritme, der tilnærmer minimum xx* funktion startende fra et tilfældigt startpunkt x0x_{0}. Algoritmen er angivet som følger:

xn+1=xnlr×dfdx_nx*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x\_{n}}

hvor:

  • dfdxn\frac{\mathrm{d} f}{\mathrm{d} x*{n}} er ikke mere end den afledede af ff i punktet xnx*{n}.

  • lrlr er en positiv konstant, der bestemmer, hvor store trinene bliver.

Læg mærke til det:

  • xnx_{n} er til højre for xx* => dfdxn>0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 => xn+1=xnpositivx_{n+ 1} = x_{n} - positiv => xnx_{n} flytter til venstre.

  • xnx_{n} er til venstre for xx* => dfdxn<0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0 => xn+1=xn+positivex*{n +1} = x*{n} + positive => xnx_{n} flytter til højre.

  • xnx_{n} tæt på xx* => dfdxn\frac{\mathrm{d} f}{\mathrm{d} x_{n}} tæt på 00 => Lille opdatering til xnx_{ n}.

Quizz

  • Hvornår stopper gradientnedstigning med at iterere:

  • Når xnx_{n} er lille nok.

  • Når xnx_{n} er tæt på x0x_{0} .

  • Når dfdx_n=0\frac{\mathrm{d} f}{\mathrm{d} x\_{n}} = 0 . XXX

  • Hvordan vælger vi x0x_{0}:

  • Vi vælger det tilfældigt. XXX

  • Vi tager det i nærheden af ​​xnx{n}.

  • Det kommer an på problemet.

  • Hvorfor har vi brug for gradientnedstigning:

  • Fordi computere ikke er kraftige nok til at beregne derivater.

  • Fordi det er ekstremt svært at finde de afledte formler for deep learning-modeller. XXX

  • Fordi funktioner har mere end ét lokalt minimum.


Career Services background pattern

Karriereservice

Contact Section background image

Lad os holde kontakten

Code Labs Academy © 2025 Alle rettigheder forbeholdes.