0% ont trouvé ce document utile (0 vote)
19 vues44 pages

Techniques D Optimisation

Transféré par

ilias sa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues44 pages

Techniques D Optimisation

Transféré par

ilias sa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Multi Level Perceptron

(suite)

“Les techniques
d’optimisation”

(AI)
Table of contents

01 Techniques d'initialisation des poids

02 Fonctions d'activation non saturantes

03 Normalisation des couches

04 Techniques de régularisation

05 Les optimiseurs rapides


Du Multi-Layer Perceptron vers les réseaux
profonds
Les réseaux de neurones profonds sont des MLP
avec un grand nombre de couches cachées.

Étapes de l'Apprentissage des Réseaux de


Neurones
1. Propagation avant :
1. Initialisation des poids.
2. Calcul de la somme pondérée et
application de la fonction d'activation.
3. Enchaînement des calculs à travers les
couches.
Du Multi-Layer Perceptron vers les réseaux
profonds
2.Calcul de la fonction de perte :
Mesure de l'erreur entre la prédiction et la valeur Réelle.

3.Propagation arrière :
1. Calcul du gradient de la perte par
rapport aux poids.
2. Mise à jour des poids via la descente de
gradient.
Du Multi-Layer Perceptron vers les réseaux
profonds

Répétition du processus jusqu'à convergence.


Du Multi-Layer Perceptron vers les réseaux
profonds
Problématique

• Les réseaux de neurones profonds ont un grand nombre de couches, ce qui


les rend puissants mais aussi difficiles à entraîner.

• Deux problèmes majeurs peuvent survenir pendant l'entraînement :


• Vanishing Gradient (Gradient qui disparaît).
• Exploding Gradient (Gradient qui explose).
01
Qu'est-ce que le
vanishing gradient ?
(AI)
Vanishing problem
● Le vanishing gradient se produit lorsque les gradients des couches
profondes du réseau deviennent extrêmement petits, voire nuls, pendant
la rétropropagation. Cela empêche les poids des couches profondes d'être
mis à jour correctement, ce qui ralentit ou bloque l'apprentissage.

● Cause : Les gradients sont calculés en multipliant les dérivées partielles de


chaque couche. Si ces dérivées sont petites (par exemple, avec des
fonctions d'activation comme la sigmoïde ou la tangente hyperbolique),
leur produit diminue exponentiellement avec la profondeur du réseau.
Explication
Mathématique
Règle de la chaîne (Chain Rule) ::

Effet des multiplications répétées :

Cas d'une sigmoïde :

• Supposons une couche avec σ(z)=0.9. La dérivée est σ′(z)=0.9⋅(1−0.9)=0.09.


• Après 5 couches, le gradient est multiplié par ≈ 6×, ce qui est extrêmement petit.
Vanishing problem
• Conséquences :
• Les couches profondes n'apprennent presque rien.
• Le réseau se comporte comme un modèle peu profond, perdant ainsi
l'avantage de la profondeur.
• La convergence est très lente, voire impossible.
02
Qu'est-ce que le
exploding gradient ?
(AI)
Exploding problem
● exploding gradient est le phénomène inverse les gradients des
couches profondes deviennent extrêmement grands, ce qui
entraîne des mises à jour excessives des poids. Cela peut rendre le
modèle instable et empêcher la convergence.

● Cause : Si les dérivées partielles sont grandes (par exemple, avec


des poids initialisés de manière inappropriée), leur produit
augmente exponentiellement avec la profondeur du réseau.
Exploding problem
• Conséquences :
• Les poids deviennent trop grands, ce qui rend le modèle instable.
• Des valeurs numériques infinies (NaN) peuvent apparaître, causant des
erreurs lors de l'entraînement.
• Le modèle ne converge pas ou diverge.
03
Pourquoi ces
problèmes
surviennent-ils ? (AI)
Ces problèmes sont liés à la profondeur du réseau et à la nature des fonctions
d'activation :

• Fonctions d'activation saturantes : Les fonctions comme la sigmoïde ou la


tangente hyperbolique ont des dérivées proches de zéro pour des valeurs
extrêmes (saturation), ce qui contribue au vanishing gradient.

• Initialisation des poids : Une initialisation inappropriée des poids peut


amplifier ou réduire les gradients de manière exponentielle.

• Architecture du réseau : Plus le réseau est profond, plus le problème est


prononcé, car les gradients sont multipliés à chaque couche.
04
Les techniques
d’initialisation
(AI)
pourquoi l'initialisation des poids est si critique dans l'entraînement des
réseaux de neurones?

Si : Initialisation trop grande (Exploding Gradients)

Si : Initialisation trop petite (Vanishing Gradients)


05
comment trouver des
valeurs d'initialisation
appropriées ? (AI)
● pour éviter les problèmes de vanishing gradient et exploding gradient.
Nous nous appuierons sur les deux règles :

1. La moyenne des activations doit être zéro.

2. La variance des activations doit rester la même à travers toutes les


couches.

● Ces règles garantissent que le signal du gradient pendant la rétropropagation


ne soit ni trop amplifié ni trop atténué, ce qui permet une circulation stable du
gradient à travers le réseau.
● Moyenne des activations à zéro

• Si la moyenne des activations n'est pas centrée autour de zéro, les valeurs peuvent
diverger positivement ou négativement au fil des couches.

• Cela peut entraîner une saturation des fonctions d'activation (par exemple, sigmoïde ou
tanh), ce qui ralentit l'apprentissage.

● Variance constante des activations

• Si la variance des activations change de manière significative d'une couche à l'autre, les
gradients peuvent exploser ou disparaître.

• Une variance constante permet de maintenir une échelle similaire pour les gradients à
travers les couches, ce qui stabilise l'entraînement.
Initialisation Xavier (Glorot)
L'initialisation Xavier est conçue pour maintenir une variance constante
des activations à travers les couches, en particulier pour les fonctions
d'activation comme la sigmoïde et la tangente hyperbolique.
Formule

• fan_in = Number of input paths towards the neuron


• fan_out = Number of output paths towards the neuron
• U is uniform distribution
• σ=√2inputs+outputs
• wi is the i-th weight
Initialisation He - Kaming
● L'initialisation He est une variante de Xavier, spécialement conçue pour les
fonctions d'activation comme ReLU et ses variantes

● Formule de l'initialisation Kaiming


06
Fonctions non
saturantes
(AI)
1. Qu'est-ce que la saturation ?
● La saturation se produit lorsque la fonction d'activation atteint des régions
où sa dérivée est très proche de zéro. Cela se traduit par une perte
d'information et un ralentissement de l'apprentissage.

● Exemple avec la sigmoïde :

Dans ces régions, la dérivée est très proche de zéro.


Fonctions d'activation non
saturantes
● ReLU (Rectified Linear Unit)

Formule : f(x)=max⁡(0,x)
Propriétés :
• Pour x>0, la dérivée est 1.
• Pour x≤0, la dérivée est 0.

● ELU (Exponential Linear Unit)

Formule :
07
Batch normalisation

(AI)
les étapes pour batch normalisation
● Calculer la moyenne et la variance du lot :

● Normaliser les activations :

● Réajuster les activations :

● Mettre à jour la moyenne et la variance globales (pendant l'entraînement)


:

● Utiliser la moyenne et la variance globales pendant l'inférence :


les étapes pour batch normalisation -
Application
● Données d'entrée

Échantillon X1 X2 X3

1 1.0 2.0 3.0

2 4.0 5.0 6.0

3 7.0 8.0 9.0


● Initialisation des poids et biais
● Propagation avant

Étape 1 : Calcul des activations brutes


Étape 2 : Batch Normalization

Calcul de la moyenne :

Calcul de la variance
● Normalisation

• Réajustement (Scaling et Shifting)


Étape 3 : Application de la fonction d'activation (ReLU)
1. Avant Batch Normalization :
1. Les activations brutes (z) peuvent avoir des valeurs très différentes, ce qui
peut entraîner des problèmes de gradients.

2. Après Batch Normalization :


1. Les activations sont normalisées pour avoir une moyenne de 0 et une
variance de 1.
2. Cela stabilise la distribution des entrées pour la couche suivante.
08
Gradient Clipping

(AI)
Régularisation par Gradient
Clipping
La régularisation par Gradient Clipping est une technique utilisée pour éviter les
problèmes de gradients explosés (exploding gradients) dans les réseaux de
neurones. Lorsque les gradients deviennent trop grands, les mises à jour des poids
peuvent devenir instables, ce qui rend l'entraînement difficile. Le Gradient Clipping
limite la magnitude des gradients à une valeur maximale prédéfinie, ce qui
stabilise l'entraînement.
Étapes du Gradient Clipping
● Étape 1 : Calcul des gradients
● Pendant la rétropropagation, les gradients de la perte par rapport aux
paramètres du réseau sont calculés. Pour chaque paramètre

● Étape 2 : Calcul de la norme des gradients


● La norme des gradients est calculée pour l'ensemble des paramètres du
réseau.

Les gradients peuvent être représentés comme un vecteur g, où chaque


élément gi​correspond au gradient de la perte par rapport au paramètre
Régularisation par Gradient
Clipping des gradients
Redimensionnement

Si ∥g∥>seuil, les gradients sont redimensionnés comme suit :

Les poids sont ensuite mis à jour en utilisant les


gradients redimensionnés :
09
(Faster Optimizers)
Les Optimiseurs Rapides

(AI)
Les Optimiseurs Rapides
Les optimiseurs traditionnels comme la descente de gradient stochastique
(SGD) peuvent être lents et sensibles aux choix des hyperparamètres (comme le
taux d'apprentissage). Pour accélérer l'entraînement et améliorer la convergence,
plusieurs optimiseurs rapides ont été développés
Momentum
Le Momentum est une extension de la descente de gradient qui ajoute une
composante de "vitesse" pour accélérer la convergence et réduire les oscillations.

● Principe :
Au lieu de mettre à jour les poids uniquement en fonction du gradient courant, le
Momentum utilise une moyenne mobile des gradients passés.

beta est le coefficient de momentum


(typiquement 0.9)
AdaGrad (Adaptive Gradient)
AdaGrad adapte le taux d'apprentissage pour chaque paramètre en fonction de
l'historique des gradients.

● Principe :
Les paramètres qui ont des gradients importants voient leur taux d'apprentissage
réduit, tandis que ceux avec des gradients faibles voient leur taux
d'apprentissage augmenté.

• Gt​est la somme cumulative des carrés des


gradients,
• ϵ est une petite constante pour éviter la
division par zéro.
RMSProp (Root Mean Square Propagation)
RMSProp est une amélioration d'AdaGrad qui utilise une moyenne mobile
exponentielle des carrés des gradients pour éviter que le taux d'apprentissage ne
devienne trop petit.

● Principe :
Au lieu de cumuler tous les gradients passés, RMSProp utilise une moyenne
mobile pour donner plus d'importance aux gradients récents.
Adam (Adaptive Moment Estimation)
Adam combine les avantages de Momentum et RMSProp pour offrir une méthode
d'optimisation rapide

● Principe :
Adam utilise une moyenne mobile des gradients (comme Momentum) et une
moyenne mobile des carrés des gradients (comme RMSProp).

Vous aimerez peut-être aussi