Descens Gradient

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

Introducció

Imagineu que tenim una funció $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) = 0$$

El cas és que trobar la fórmula de $f'$ 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 $f'$.

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 $x_{0}$. L'objectiu és moure aquest punt i apropar-lo cada cop més a $x*$ de manera que $f'($x*$) = 0$. Per tant, el problema es pot dividir en dues parts:

  • En quina direcció hem de moure el punt $x$ ? 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 $x_{0}$ es troba a la dreta del punt òptim $x*$, la seva recta tangent puja.

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

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

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

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

Tingueu en compte que: \

El pendent de la recta tangent d'una funció en un punt determinat $x_{0}$ no és més que la derivada en aquest punt $f'(x_{0})$:

$$ 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 $x_{0}$?":

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

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

Els passos

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

Mireu els exemples següents:

Graph 4

Graph 5

Podem concloure que:

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

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

En respondre ambdues preguntes, vam concloure que només el coneixement de la derivada en el punt $x_{0}$ ens pot donar molta informació sobre la direcció i la distància del punt òptim $x_{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 $x*$ de la funció a partir d'un punt inicial aleatori $x_{0}$. L'algorisme s'enuncia de la següent manera:

$$ x*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x_{n}} $$

on:

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

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

Tingueu en compte que:

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

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

  • $x_{n}$ prop de $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}}$ prop de $0$ => Petita actualització de $x_{ n}$.

Test

  • Quan deixa d'iterar el descens del gradient:

  • Quan $x_{n}$ és prou petit.

  • Quan $x_{n}$ és a prop de $x_{0}$ .

  • Quan $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} = 0 $. XXX

  • Com escollim $x_{0}$:

  • El triem a l'atzar. XXX

  • Ho prenem al voltant de $x{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 © 2024 Tots els drets reservats.