Skip to content
Snippets Groups Projects
Commit be8a6e74 authored by aliya.myaz's avatar aliya.myaz
Browse files

back to original state (didn't want to push on master)

parent 2bd801bf
No related branches found
No related tags found
No related merge requests found
Pipeline #32481 failed
...@@ -23,38 +23,18 @@ format: ...@@ -23,38 +23,18 @@ format:
# Introduction # Introduction
Dans le cadre (subtilement élargi) de ce travail pratique, nous étions amenés à Dans le cadre de ce travail pratique, nous étions amenés à nous familiariser
nous familiariser avec le concept de la descente de gradient dans le contexte de avec le concept de la descente de gradient dans le contexte de l’apprentissage
l’apprentissage machine et l’intelligence artificielle. machine et l’intelligence artificielle.
En effet, parmi d’autres utilités hautement majeures, la descente de gradient La descente de gradient (le concept en lui-même ainsi que les divers
(le concept en lui-même ainsi que les divers algorithmes) est utilisée dans algorithmes) est utilisée dans l’entraînement des réseaux neuronaux lors de la
l’entraînement des réseaux neuronaux lors de la rétropropagation ("backpropagation"). rétropropagation ("Backpropagation"). En bref, la rétropropagation consiste à
En bref, la rétropropagation consiste à "remonter" dans le réseau depuis la couche "remonter" dans le réseau depuis la couche de sortie en direction de la couche
de sortie en direction de la couche d’entrée. Cette remontée permet d’ajuster les d’entrée afin d’ajuster les poids de chaque neurones qui ont contribué à un
poids des neurones ayant contribué à un résultat faussé de sorte à optimiser les résultat faussé de sorte à pouvoir corriger le réseau. Cette correction
performances du modèle. Cette correction consiste plus concrètement en s’effectue grâce à une descente de gradient sur une fonction, dite de "coût",
l’optimisation des paramètres d’une fonction dite de "coût", qui représente l’écart qui représente l’erreur commise lors d’une mauvaise classification.
entre les prédictions du réseau et les valeurs attendues. Il s’agit donc en fait
d’un problème de minimisation d’erreur.
Or l’essence même de la descente de gradient réside dans sa capacité à orienter
un processus d'optimisation vers un minimum (au moins local) en ajustant
itérativement les paramètres d'un modèle ou variables d'une fonction. Cependant,
ce voyage est jonché de multiples pièges que nous avons inévitablement rencontré
dans notre exploration.
Car en effet, ayant compris l’importance de la descente de gradient, nous avons
voulu à travers ce rapport (de notre propre volonté), explorer en détail
différentes facettes de cet outil, de ses paramètres à ses implications pratiques,
sur des fonctions particulières et une fonction de coût réelle.
Perpendiculairement à la comparaison des fonctions, ce sont les méthodes de
descente qui ont été confrontées, nous menant à méditer les subtilités de chacune
d’entre elles.
Aussi, nous souhaitons-vous un bon voyage dans l’univers merveilleux de ce rapport
immersif, et vous prions de vous laisser porter au-travers des dunes par les
descentes de gradient, les plus rapides comme les plus erratiques et aventureuses.
# Expérimentation # Expérimentation
...@@ -77,7 +57,7 @@ tenter d'étudier l'effet du _learning rate_ $\lambda$ sur cet algorithme et les ...@@ -77,7 +57,7 @@ tenter d'étudier l'effet du _learning rate_ $\lambda$ sur cet algorithme et les
raisons pour lesquelles sa valeur devra diverger par rapport aux trois autres raisons pour lesquelles sa valeur devra diverger par rapport aux trois autres
méthodes. méthodes.
En suite, nous tenterons de jouer avec les deux paramètres spécifiques à En suite, nous tenterons de jouer avec les deux paramètres specifiques à
**Adam**, $\beta_{1}$ et $\beta_{2}$, afin d'essayer de visualiser la manière **Adam**, $\beta_{1}$ et $\beta_{2}$, afin d'essayer de visualiser la manière
dont ces deux paramètres permettent de rendre le _learning rate_ dynamique dont ces deux paramètres permettent de rendre le _learning rate_ dynamique
(c'est-à-dire l'ajuster en fonction des asymétries possiblement introduites par (c'est-à-dire l'ajuster en fonction des asymétries possiblement introduites par
...@@ -91,14 +71,14 @@ Les paramètres d'**Adam** permettent aussi d'émuler un comportement d'inertie ...@@ -91,14 +71,14 @@ Les paramètres d'**Adam** permettent aussi d'émuler un comportement d'inertie
présent dans les méthodes **Momentum** et **Nesterov** à l'aide d'un calcul présent dans les méthodes **Momentum** et **Nesterov** à l'aide d'un calcul
des moyennes mobiles. des moyennes mobiles.
En somme, **Adam** est censé représenter le meilleur des deux mondes (taux En somme, **Adam** est censé représente le meilleur des deux mondes (taux
d'apprentissage variable par composante et l'inertie qui permet de pouvoir passer d'apprentissage variable par composante et l'inertie qui permet de pouvoir passer
au-delà de certains minimums locaux dans le but d'en trouver un global). au-delà de certains minimums locaux dans le but d'en trouver un global).
## Effet du taux d'apprentissage $\lambda$ -- descente simple ## Effet du taux d'apprentissage $\lambda$ -- descente simple
Pour pouvoir illustrer l'effet du taux d'apprentissage sur le comportement de Pour pouvoir illustrer l'effet du taux d'apprentissage sur le comportement de
la descente, nous avons pris trois valeurs de $\lambda$, séparées à chaque fois la descente, nous avons pris trois valeurs de $\lambda$ séparée à chaque fois
d'un ordre de grandeur pour rendre la visualisation plus claire. Les exemples d'un ordre de grandeur pour rendre la visualisation plus claire. Les exemples
ci-dessous ont été effectués sur la fonction $f$ : ci-dessous ont été effectués sur la fonction $f$ :
...@@ -128,7 +108,7 @@ Variation de $\lambda$ lors de la descente simple ...@@ -128,7 +108,7 @@ Variation de $\lambda$ lors de la descente simple
:::: ::::
Dans le cas de la @fig-base-high-lr, nous pouvons voir que suite aux grands pas Dans le cas de la @fig-base-high-lr, nous pouvons voir que suite aux grands pas
effectués à chaque itération, la trajectoire est saccadée, même si le minimum effectués à chaque itération, la trajectoire est saccadée même si le minimum
est tout de même atteint. Le problème qui peut survenir suite à un $\lambda$ si est tout de même atteint. Le problème qui peut survenir suite à un $\lambda$ si
grand est le fait de potentiellement passer au-delà d'un fossé qui puisse contenir grand est le fait de potentiellement passer au-delà d'un fossé qui puisse contenir
le minimum recherché. Ce cas sera illustré plus tard. le minimum recherché. Ce cas sera illustré plus tard.
...@@ -138,7 +118,7 @@ le minimum recherché. Ce cas sera illustré plus tard. ...@@ -138,7 +118,7 @@ le minimum recherché. Ce cas sera illustré plus tard.
A travers les exemples présenté sur la @fig-basegd-lr, nous pouvons facilement A travers les exemples présenté sur la @fig-basegd-lr, nous pouvons facilement
se convaincre que le bon choix de la valeur du taux d'apprentissage, comme se convaincre que le bon choix de la valeur du taux d'apprentissage, comme
beaucoup de choses dans la vie, repose sur un compromis. La valeur de $\lambda$ beaucoup de choses dans la vie, repose sur un compromis. La valeur de $\lambda$
ne doit à la fois ne pas être trop petite (sinon le nombre d'itérations deviendra ne doit pas être à la fois trop petite (sinon le nombre d'itérations deviendra
énorme), ni trop grande (risque de rater un minimum, en "sautant" par-dessus). énorme), ni trop grande (risque de rater un minimum, en "sautant" par-dessus).
Dès lors, la valeur du taux d'apprentissage choisie pour les algorithmes de Dès lors, la valeur du taux d'apprentissage choisie pour les algorithmes de
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment