Descens Gradient

aprenentatge profund
matemàtiques
descens del gradient
Descens Gradient cover image

Introducció

Imagineu que tenim una funció f(x)f(x) i ens agradaria trobar el seu mínim. Què faries?

Simple oi? Només hem de resoldre l'equació següent:

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

El cas és que trobar la fórmula de ff' no sempre és fàcil, ja que tendeixen a ser extremadament complicats, especialment en l'aprenentatge profund on tractem funcions complexes. Per tant, hem de trobar un altre mètode que ens pugui proporcionar el mínim d'una funció sense necessitat de trobar la fórmula de la derivada ff'.

Construïm una mica d'intuïció

Suposem que tenim una funció f amb la gràfica corresponent:

Graph 1

Comencem amb un punt aleatori x0x_{0}. L'objectiu és moure aquest punt i apropar-lo cada cop més a xx* de manera que f(f'(x*)=0) = 0. Per tant, el problema es pot dividir en dues parts:

  • En quina direcció hem de moure el punt xx ? Esquerra o dreta?

  • Quant l'hem de moure?

La direcció

Construïm una mica d'intuïció per respondre a la primera pregunta. Fes una ullada al punt següent:

Graph 2

Graph 3

Tingueu en compte que:

  • quan el punt x0x_{0} es troba a la dreta del punt òptim xx*, la seva recta tangent puja.

  • quan el punt x0x_{0} es troba a la dreta del punt òptim xx*, la seva recta tangent baixa.

La direcció d'una recta ve determinada pel signe del seu pendent:

  • Una línia puja \implica\implica que el pendent aa és positiu.

  • Una línia baixa \implica\implica que el pendent aa és negatiu.

Tingueu en compte que: \

El pendent de la recta tangent d'una funció en un punt determinat x0x_{0} no és més que la derivada en aquest punt 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})

Per tant, com a resposta a la pregunta "On hem de moure x0x_{0}?":

  • f(x0)<0f'(x_{0}) < 0     \implies x0x_{0} a la dreta de xx*     \implies Hem de moure x0x_{0} cap a l'esquerra.

  • f(x0)>0f'(x_{0}) > 0     \implies x0x_{0} a l'esquerra de xx*     \implies Hem de moure x0x_{0} cap a la dreta.

Els passos

Ara per a la segona pregunta, Quant hem de moure x0x_{0}?

Mireu els exemples següents:

Graph 4

Graph 5

Podem concloure que:

  • x0x_{0} és proper a xx* => El pendent de la tangent és petit => f(x0)f'(x_{0}) és petit.

  • x0x_{0} està lluny de xx* => El pendent de la tangent és gran => f(x0)f'(x_{0}) és gran.

En respondre ambdues preguntes, vam concloure que només el coneixement de la derivada en el punt x0x_{0} ens pot donar molta informació sobre la direcció i la distància del punt òptim x0x_{0}.

Descens en gradient

El descens del gradient és la formulació de les respostes de les dues preguntes anteriors. És un algorisme iteratiu d'optimització que s'aproxima al mínim xx* de la funció a partir d'un punt inicial aleatori x0x_{0}. L'algorisme s'enuncia de la següent manera:

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

on:

  • dfdxn\frac{\mathrm{d} f}{\mathrm{d} x*{n}} no és més que la derivada de ff en el punt xnx*{n}.

  • lrlr és una constant positiva que determina el gran que seran els passos.

Tingueu en compte que:

  • xnx_{n} està a la dreta de xx* => dfdxn>0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 => xn+1=xnx_{n+ 1} = x_{n} - positiu => xnx_{n} es mou cap a l'esquerra.

  • xnx_{n} està a l'esquerra de xx* => dfdxn<0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0 => xn+1=xn+x*{n +1} = x*{n} + positiu => xnx_{n} es mou cap a la dreta.

  • xnx_{n} prop de xx* => dfdxn\frac{\mathrm{d} f}{\mathrm{d} x_{n}} prop de 00 => Petita actualització de xnx_{ n}.

Test

  • Quan deixa d'iterar el descens del gradient:

  • Quan xnx_{n} és prou petit.

  • Quan xnx_{n} és a prop de x0x_{0} .

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

  • Com escollim x0x_{0}:

  • El triem a l'atzar. XXX

  • Ho prenem al voltant de xnx{n}.

  • Depèn del problema.

  • Per què necessitem un descens de gradients:

  • Perquè els ordinadors no són prou potents per calcular derivades.

  • Perquè és extremadament difícil trobar les fórmules derivades dels models d'aprenentatge profund. XXX

  • Perquè les funcions tenen més d'un mínim local.


Career Services background pattern

Serveis de carrera

Contact Section background image

Seguim en contacte

Code Labs Academy © 2025 Tots els drets reservats.