Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
gradient_descent
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ISC2
maths
gradient_descent
Commits
2a38f331
Commit
2a38f331
authored
10 months ago
by
aliya.myaz
Browse files
Options
Downloads
Patches
Plain Diff
introduction updated & spelling errors fixed
parent
45acd9bd
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#32482
failed
10 months ago
Stage: build
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
report/report.qmd
+37
-17
37 additions, 17 deletions
report/report.qmd
with
37 additions
and
17 deletions
report/report.qmd
+
37
−
17
View file @
2a38f331
...
...
@@ -23,18 +23,38 @@ format:
# Introduction
Dans le cadre de ce travail pratique, nous étions amenés à nous familiariser
avec le concept de la descente de gradient dans le contexte de l’apprentissage
machine et l’intelligence artificielle.
La descente de gradient (le concept en lui-même ainsi que les divers
algorithmes) est utilisée dans l’entraînement des réseaux neuronaux lors de la
rétropropagation ("Backpropagation"). En bref, la rétropropagation consiste à
"remonter" dans le réseau depuis la couche de sortie en direction de la couche
d’entrée afin d’ajuster les poids de chaque neurones qui ont contribué à un
résultat faussé de sorte à pouvoir corriger le réseau. Cette correction
s’effectue grâce à une descente de gradient sur une fonction, dite de "coût",
qui représente l’erreur commise lors d’une mauvaise classification.
Dans le cadre (subtilement élargi) de ce travail pratique, nous étions amenés à
nous familiariser avec le concept de la descente de gradient dans le contexte de
l’apprentissage machine et l’intelligence artificielle.
En effet, parmi d’autres utilités hautement majeures, la descente de gradient
(le concept en lui-même ainsi que les divers algorithmes) est utilisée dans
l’entraînement des réseaux neuronaux lors de la rétropropagation ("backpropagation").
En bref, la rétropropagation consiste à "remonter" dans le réseau depuis la couche
de sortie en direction de la couche d’entrée. Cette remontée permet d’ajuster les
poids des neurones ayant contribué à un résultat faussé de sorte à optimiser les
performances du modèle. Cette correction consiste plus concrètement en
l’optimisation des paramètres d’une fonction dite de "coût", qui représente l’écart
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
...
...
@@ -57,7 +77,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
méthodes.
En suite, nous tenterons de jouer avec les deux paramètres sp
e
cifiques à
En suite, nous tenterons de jouer avec les deux paramètres sp
é
cifiques à
**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
(c'est-à-dire l'ajuster en fonction des asymétries possiblement introduites par
...
...
@@ -71,14 +91,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
des moyennes mobiles.
En somme, **Adam** est censé représente le meilleur des deux mondes (taux
En somme, **Adam** est censé représente
r
le meilleur des deux mondes (taux
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).
## Effet du taux d'apprentissage $\lambda$ -- descente simple
Pour pouvoir illustrer l'effet du taux d'apprentissage sur le comportement de
la descente, nous avons pris trois valeurs de $\lambda$ séparée à chaque fois
la descente, nous avons pris trois valeurs de $\lambda$
,
séparée
s
à chaque fois
d'un ordre de grandeur pour rendre la visualisation plus claire. Les exemples
ci-dessous ont été effectués sur la fonction $f$ :
...
...
@@ -108,7 +128,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
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
grand est le fait de potentiellement passer au-delà d'un fossé qui puisse contenir
le minimum recherché. Ce cas sera illustré plus tard.
...
...
@@ -118,7 +138,7 @@ le minimum recherché. Ce cas sera illustré plus tard.
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
beaucoup de choses dans la vie, repose sur un compromis. La valeur de $\lambda$
ne doit
pas être
à la fois trop petite (sinon le nombre d'itérations deviendra
ne doit à la fois
ne pas être
trop petite (sinon le nombre d'itérations deviendra
é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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment