Académique Documents
Professionnel Documents
Culture Documents
Artificielle
I RI S I – S 4 . F S TG M A RRA KECH.
P R. M ERI EM BENH A DDI .
Précédemment
Projet Deep Learning
Projet Deep Learning
Bien définir le problème
Projet Deep Learning
La base de données : quel format ?
La base de données : quel format ?
La base de données : quel format ?
La base de données : si je n’ai pas
beaucoup de données ?
La base de données : si je n’ai pas
beaucoup de données ?
Exemple : user de :
ØRotation,
ØTranslation,
ØRetournement,
ØRedimensionnement,
ØEclaircissement,
ØAssombrissement,
ØMixe avec du bruit
La base de données : si je n’ai pas
beaucoup de données ?
La base de données : le découpage
Appelé aussi
Développement
set
Projet Deep Learning
Voir séance
précédente
Projet Deep Learning
Le problème de l’overfitting
La principale raison pour laquelle le overfitting se produit est que le modèle apprend même les
moindres détails présents dans les données. Ainsi, après avoir appris tous les patterns possibles
qu'il peut trouver, le modèle a tendance à très bien fonctionner sur le training set, mais ne
produit pas de bons résultats sur les validation set et test set. Il échoue face à des données
jamais vues auparavant.
Adapter l’apprentissage : early stopping
Adapter l’apprentissage : early stopping
Keras:
early_stopping = EarlyStopping(monitor = "val_loss",patience = 10,restore_best_weights=True)
Projet Deep Learning
Régularisation : Intérêts
Régularisation : Définition
ØL’overfitting se produit parce que le modèle apprend même les moindres détails présents (tous
les patterns) dans les données du training set. Le modèle fonctionne bien sur le training set,
mais échoue sur les validation set et test set.
ØLa régularisation est le processus consistant à faire en sorte que la fonction de prédiction
s'adapte moins bien aux données d'apprentissage dans l'espoir qu'elle généralise mieux les
nouvelles données (objectif : diminuer la variance du modèle).
ØDivers techniques :
ØL1 & L2
ØDropout
ØBatchNorm
Régularisation : L1 (Lasso) & L2 (Ridge)
•La Regularization Weight Decay, en français Diminution des Poids permet d’améliorer la
généralisation lors de l’apprentissage du modèle : Le but du Weight Decay est de diminuer la valeur
des poids trop important.
•C’est une sorte de handicap que l’on donne au poids qui augmentent trop vite. Grâce à cet handicap,
le modèle doit performer ailleurs que sur les neurones associés à ces poids. Ainsi, d’autres poids vont
pouvoir progresser pour transmettre de l’information.
•Exemple : si un joueur de tennis est ultra-performant pour envoyer la balle avec son coup droit mais
qu’il n’est pas bon sur son revers. Eh bien l’idée de la Regularization serait de lui interdire d’utiliser
son coup droit pendant l’entraînement de tel sorte qu’il soit obligé d’améliorer son revers pour
atteindre son objectif : battre son adversaire.
•Cette technique lui permet au tennisman de généraliser son apprentissage, de tel sorte qu’il pourra
jouer les balles venant de sa gauche aussi bien que celle venant sur sa droite.
•De la même manière, cette technique permet au modèle de mieux généraliser son apprentissage et
donc améliore ses performances sur les données non observées.
Régularisation : L1 (Lasso) & L2 (Ridge)
•En pratique, la Regularization s’effectue après avoir calculé la loss function. On applique la fonction
de régularisation qui :
• pour la L1-Regularization la somme des poids en valeur absolue multiplié par une constante α
• pour la L2-Regularization la somme des poids au carré multiplié par une constante α
•Écrit sous forme mathématique :
Régularisation : L1 (Lasso) & L2 (Ridge)
Empêcher l’overfitting en ajoutant une valeur pénalisante à la fonction de loss.
Durant chaque itération, les neurones à éliminer de chaque couche sont choisis aléatoirement.
Stratégie de Dropout
Régularisation : dropout
Régularisation : batch-normalization
Rappel :
Régularisation : batch-normalization
•La normalisation c’est le fait de modifier les données d’entrée d’un réseau de neurones de telle
sorte que la moyenne soit nulle et l’écart-type égale à un.
•En fait cela permet d’avoir des données plus stables car appartenant à une même échelle. Par
conséquent le réseau de neurones a plus de facilité à s’entraîner.
•La normalisation c’est donc le fait de formater ses données d’entrée pour faciliter le processus de
Machine Learning.
•La Batch Normalization, elle, survient dans le contexte du Deep Learning où l’on a un empilement
successif de couches et de fonctions d’activation.
•De même que la normalisation en entrée facilite l’apprentissage, la normalisation après chaque
couche (donc à l’entrée de chaque nouvelle couche) permet, elle aussi, un meilleur apprentissage.
•Normaliser la sortie d’une couche, c’est ce qu’on appelle la Batch Normalization !
Régularisation : batch-normalization
Normalisation
des inputs
è
Appliquer le Shuffling aux données
Shuffle
Shuffling des données
Pour résumer