Introducció
Imagineu que tenim una funció i ens agradaria trobar el seu mínim. Què faries?
Simple oi? Només hem de resoldre l'equació següent:
El cas és que trobar la fórmula de 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 .
Construïm una mica d'intuïció
Suposem que tenim una funció f amb la gràfica corresponent:
Comencem amb un punt aleatori . L'objectiu és moure aquest punt i apropar-lo cada cop més a de manera que x*. Per tant, el problema es pot dividir en dues parts:
-
En quina direcció hem de moure el punt ? 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:
Tingueu en compte que:
-
quan el punt es troba a la dreta del punt òptim , la seva recta tangent puja.
-
quan el punt es troba a la dreta del punt òptim , la seva recta tangent baixa.
La direcció d'una recta ve determinada pel signe del seu pendent:
-
Una línia puja que el pendent és positiu.
-
Una línia baixa que el pendent és negatiu.
Tingueu en compte que: \
El pendent de la recta tangent d'una funció en un punt determinat no és més que la derivada en aquest punt :
Per tant, com a resposta a la pregunta "On hem de moure ?":
-
a la dreta de Hem de moure cap a l'esquerra.
-
a l'esquerra de Hem de moure cap a la dreta.
Els passos
Ara per a la segona pregunta, Quant hem de moure ?
Mireu els exemples següents:
Podem concloure que:
-
és proper a => El pendent de la tangent és petit => és petit.
-
està lluny de => El pendent de la tangent és gran => és gran.
En respondre ambdues preguntes, vam concloure que només el coneixement de la derivada en el punt ens pot donar molta informació sobre la direcció i la distància del punt òptim .
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 de la funció a partir d'un punt inicial aleatori . L'algorisme s'enuncia de la següent manera:
on:
-
no és més que la derivada de en el punt .
-
és una constant positiva que determina el gran que seran els passos.
Tingueu en compte que:
-
està a la dreta de => => positiu => es mou cap a l'esquerra.
-
està a l'esquerra de => => positiu => es mou cap a la dreta.
-
prop de => prop de => Petita actualització de .
Test
-
Quan deixa d'iterar el descens del gradient:
-
Quan és prou petit.
-
Quan és a prop de .
-
Quan . XXX
-
Com escollim :
-
El triem a l'atzar. XXX
-
Ho prenem al voltant de .
-
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.