Introduction
Imaginez que nous ayons une fonction et que nous aimerions trouver son minimum. Que feriez-vous ?
Simple, non ? Il suffit de résoudre l'équation suivante :
Le fait est que trouver la formule de n'est pas toujours facile car elle a tendance à être extrêmement compliquée, surtout en apprentissage profond où nous traitons de fonctions complexes. Nous devons donc trouver une autre méthode qui puisse nous fournir le minimum d'une fonction sans avoir besoin de trouver la formule de la dérivée .
Construisons une certaine intuition
Supposons que nous ayons une fonction f avec le graphe correspondant :
Commençons par un point aléatoire . Le but est de déplacer ce point et de le rapprocher de plus en plus de tel que x*. Le problème peut donc être divisé en deux parties :
-
Dans quelle direction doit-on déplacer le point ? Gauche ou droite ?
-
De combien doit-on le déplacer ?
La direction
Construisons une certaine intuition afin de répondre à la première question. Jetez un œil au point suivant :
Noter que:
-
lorsque le point est à droite du point optimal sa tangente monte.
-
lorsque le point est à droite du point optimal sa tangente descend.
La direction d'une ligne est déterminée par le signe de sa pente :
-
Une ligne monte la pente est positive.
-
Une ligne descend la pente est négative.
Notez que : \
La pente de la tangente d'une fonction en un certain point n'est pas supérieure à la dérivée en ce point :
Donc, pour répondre à la question "Où devrions-nous déplacer ?" :
-
à droite de Nous devons déplacer vers la gauche.
-
à gauche de Nous devons déplacer vers la droite.
Les marches
Passons maintenant à la deuxième question : De combien devrions-nous déplacer ?
Jetez un œil aux exemples suivants :
Nous pouvons conclure que:
-
est proche de => La pente de la tangente est petite => est petite.
-
est éloigné de => La pente de la tangente est grande => est grande.
En répondant aux deux questions, nous avons conclu que seule la connaissance de la dérivée au point peut nous donner de nombreuses informations sur la direction et la distance du point optimal .
Descente graduelle
La descente de gradient est la formulation des réponses aux deux questions précédentes. Il s'agit d'un algorithme itératif d'optimisation qui se rapproche du minimum de la fonction à partir d'un point initial aléatoire . L'algorithme s'énonce comme suit :
où:
-
n'est rien de plus que la dérivée de au point .
-
est une constante positive qui détermine l'ampleur des pas.
Remarquerez que:
-
est à droite de => => => se déplace vers la gauche.
-
est à gauche de => => => se déplace vers la droite.
-
proche de => proche de => Petite mise à jour de .
Quizz
-
Quand la descente de gradient arrête-t-elle d'itérer :
-
Lorsque est suffisamment petit.
-
Lorsque est proche de .
-
Lorsque . XXX
-
Comment choisissons-nous :
-
Nous le choisissons au hasard. XXX
-
On le prend aux alentours de .
-
Cela dépend du problème.
-
Pourquoi avons-nous besoin d'une descente de pente :
-
Parce que les ordinateurs ne sont pas assez puissants pour calculer des dérivées.
-
Parce qu'il est extrêmement difficile de trouver les formules dérivées des modèles de deep learning. XXX
-
Parce que les fonctions ont plus d'un minimum local.