Les Techniques d’optimisation :
Dans cette première présentation je vais aborder plusieurs techniques clés pour améliorer
l'entraînement des réseaux de neurones en deep learning :
Ces principales techniques sont les suivants :
Les techniques d'initialisation des poids :
Les fonctions d'activation non saturantes :
La normalisation des couches, avec un focus sur la batch normalisation
La régularisation, notamment le gradient clipping :
Les optimiseurs rapides
Avant d’aborder les techniques d'optimisation, un petit rappel sur les réseaux de neurones profonds :
Ces réseaux de neurones profonds sont des perceptrons multicouches (MLP) qui comportent un
grand nombre de couches cachées
Ces réseaux sont capables d'apprendre des représentations hiérarchiques de plus en plus complexes
à mesure qu'on ajoute des couches.
En termes d'apprentissage, les étapes principales des réseaux de neurones sont les suivantes :
Forward Pass (Passage avant) : On passe les données d'entrée à travers le réseau, en calculant les
activations de chaque neurone pour chaque couche.
Calcul de la perte : Une fois la sortie obtenue, on calcule l'erreur ou la "perte" en comparant les
prédictions du réseau avec les valeurs réelles.
Backward Pass (Rétropropagation) : Grâce à l'algorithme de rétropropagation, on calcule les
gradients de la fonction de perte par rapport aux poids du réseau.
Mise à jour des poids : Enfin, les poids sont mis à jour en utilisant un optimiseur pour minimiser la
perte et améliorer les performances du modèle.
Ces étapes se répètent plusieurs fois, ajustant les poids du réseau jusqu'à ce que le modèle converge
vers une solution optimale.
Meme si les réseaux de neurones profonds sont puissants, L'ajout de nombreuses couches à un
modèle peut entraîner plusieurs problèmes qui compliquent l'apprentissage et la convergence.
Je commence par le problème du vanishing gradient
Définition + causes
Mathématiquement
On applique la chaine rule,
si on a un reseaux profond cela implique qu’on doit effectué plusieurs multiplication
exemple
parler ensuite du probleme exploding gradient
transition :
Ces défis ont motivé le développement de diverses techniques d'optimisation que je vais en parler
par la suite
Objectif de l'initialisation Xavier :
L'objectif de l'initialisation Xavier est de s'assurer que les activations dans un réseau de neurones
restent dans une plage appropriée pendant le forward pass (propagation avant) et que les gradients
restent dans une plage appropriée pendant la rétropropagation.
En d'autres termes, l'initialisation Xavier veille à ce que les activations ne soient ni trop grandes, ni
trop petites, pour éviter que les gradients deviennent explosifs ou vanissants.