Ydeep Learning Course Part 2
Ydeep Learning Course Part 2
Ydeep Learning Course Part 2
Deep Learning
Explorer les frontières du Machine Learning
2023-2024
z = w1 x1 + w2 x2 + ... + wn xn + b
Calcul:
zh1 = (1.0 · 0.5) + (0.5 · 0.5) + 0.1 = 0.75
Après la somme pondérée, les signaux sont passés à travers une
fonction d’activation (non montrée ici) avant d’être envoyés au
neurone suivant.
La sortie finale du réseau (yb ) est également calculée par une somme
pondérée des sorties des neurones cachés, après activation, et des
poids de la couche de sortie.
Rétropropagation (Backpropagation)
Descente de Gradient
Points Clés
Éviter la saturation des neurones au début de l’apprentissage.
Assurer une convergence rapide et efficace.
Techniques d’Initialisation
Initialisation Xavier: Pour les activations sigmoid/tanh.
Initialisation He: Pour les activations ReLU.
Points Clés
Comment les données d’entrée sont transformées à chaque
couche.
L’importance de l’activation non linéaire.
Fonction de Coût
Définition et importance de la fonction de coût: La fonction de coût,
également connue sous le nom de fonction de perte, mesure à quel point
le modèle prédit bien les sorties pour un ensemble donné d’entrées. Elle
est centrale dans l’entraînement des modèles d’apprentissage machine,
servant à mettre à jour les paramètres du modèle pour minimiser la perte.
Introduction à quelques fonctions de coût courantes:
Erreur quadratique moyenne (Mean Squared Error, MSE): Utilisée
principalement dans les problèmes de régression, elle mesure la
moyenne des carrés des erreurs entre les prédictions du modèle et les
valeurs réelles.
Entropie croisée (Cross-Entropy): Communément utilisée dans les
tâches de classification, cette fonction de coût mesure la
dissimilarité entre la distribution prédite par le modèle et la
distribution réelle des étiquettes.
Pr. Mounia MIKRAM Deep Learning
Introduction à l’Apprentissage Supervisé
Propagation Avant et Rétropropagation
Entraînement d’un réseau neuronal Descente de Gradient et Mise à Jour des Poids
Réseaux de Neurones Convolutifs (CNNs) Processus d’Apprentissage dans les Réseaux de Neurones
Fonction de Coût
Algorithme de rétropropagation (backpropagation)
Surapprentissage (overfitting) et techniques de régularisation
où:
m est le nombre d’échantillons
ŷ (i) est la prédiction du modèle pour l’échantillon i
y (i) est la valeur réelle pour l’échantillon i
θ sont les paramètres du modèle
Entropie croisée (Cross-Entropy):
m
1 X h (i) i
J(θ) = − y log(ŷ (i) ) + (1 − y (i) ) log(1 − ŷ (i) )
m
i=1
où:
m est le nombre d’échantillons
ŷ (i) est la probabilité prédite par le modèle que l’échantillon i appartient à la
classe positive
y (i) est la valeur réelle pour l’échantillon i (0 ou 1 pour la classification binaire)
θ sont les paramètres du modèle
Rétropropagation (Backpropagation)
Définition et Importance:
Définition: Une méthode pour calculer efficacement le gradient de la
fonction de coût par rapport à chaque poids en utilisant la règle de la
chaîne de calcul dérivé.
Importance: Permet une mise à jour efficace des poids lors de
l’apprentissage, en calculant les dérivées partielles de la fonction de
coût par rapport à chaque poids, à partir de la couche de sortie vers
les couches cachées.
Principe de Fonctionnement:
Propagation avant: Les entrées sont passées à travers le réseau pour
calculer les sorties et l’erreur (fonction de coût).
Propagation arrière: Utilisez l’erreur calculée et appliquez la règle de
la chaîne pour trouver les gradients par rapport à chaque poids, en
travaillant rétroactivement à partir de la couche de sortie.
Mise à Jour des Poids:
Une fois les gradients calculés, les poids sont mis à jour en utilisant la
règle de mise à jour de la descente de gradient.
Équation:
∂J
wnouveau = wancien − α
∂wancien
où α est le taux d’apprentissage et J est la fonction de coût.
Pr. Mounia MIKRAM Deep Learning
Introduction à l’Apprentissage Supervisé
Propagation Avant et Rétropropagation
Entraînement d’un réseau neuronal Descente de Gradient et Mise à Jour des Poids
Réseaux de Neurones Convolutifs (CNNs) Processus d’Apprentissage dans les Réseaux de Neurones
Fonction de Coût
Algorithme de rétropropagation (backpropagation)
Surapprentissage (overfitting) et techniques de régularisation
1 1
Sortie = = ≈ 0.8744
1 + e −Somme pondérée 1 + e −1.94
La sortie désirée étant y , l’erreur est calculée en utilisant la
fonction d’erreur quadratique :
1 1
Erreur = (y − Sortie)2 = (0.03 − 0.8744)2 ≈ 0.3565
2 2
Cette erreur représente la différence entre la sortie prédite par le
réseau et la sortie réelle désirée. Elle sera utilisée pour guider la
mise à jour des poids et des biais lors de la rétropropagation.
Pr. Mounia MIKRAM Deep Learning
Introduction à l’Apprentissage Supervisé
Propagation Avant et Rétropropagation
Entraînement d’un réseau neuronal Descente de Gradient et Mise à Jour des Poids
Réseaux de Neurones Convolutifs (CNNs) Processus d’Apprentissage dans les Réseaux de Neurones
Fonction de Coût
Algorithme de rétropropagation (backpropagation)
Surapprentissage (overfitting) et techniques de régularisation
Les poids et le biais sont mis à jour en soustrayant une fraction des
gradients correspondants, multipliée par le taux d’apprentissage η:
∂Erreur
W1 = W1 − η ·
∂W1
∂Erreur
W2 = W2 − η ·
∂W2
∂Erreur
b =b−η·
∂b
TD et TP
Surapprentissage (Overfitting)
Définition du surapprentissage
Identification du surapprentissage
Courbes d’apprentissage
Validation croisée
Conséquences du surapprentissage sur les performances du
modèle
Définition du Surapprentissage
Définition formelle
Le surapprentissage se produit lorsqu’un modèle apprend trop bien les
particularités du jeu de données d’entraînement, au détriment de sa
capacité à généraliser à partir de nouvelles données.
Causes du surapprentissage
Complexité du modèle : Un modèle avec un grand nombre de
paramètres est plus susceptible de surapprendre car il peut
"mémoriser" le jeu de données d’entraînement plutôt que d’apprendre
les véritables sous-jacents.
Bruit dans les données : Si le jeu de données d’entraînement
contient du bruit (erreurs, valeurs aberrantes, etc.), le modèle peut
apprendre ces erreurs comme s’il s’agissait de patterns valides.
Importance d’éviter le surapprentissage
Éviter le surapprentissage est crucial pour construire un modèle qui est
utile dans le monde réel, car il sera capable de bien fonctionner même
avec des données qu’il n’a jamais vues auparavant.
Pr. Mounia MIKRAM Deep Learning
Introduction à l’Apprentissage Supervisé
Propagation Avant et Rétropropagation
Entraînement d’un réseau neuronal Descente de Gradient et Mise à Jour des Poids
Réseaux de Neurones Convolutifs (CNNs) Processus d’Apprentissage dans les Réseaux de Neurones
Fonction de Coût
Algorithme de rétropropagation (backpropagation)
Surapprentissage (overfitting) et techniques de régularisation
Conséquences du Surapprentissage
Performance dégradée sur de nouvelles données
Le modèle est trop optimisé pour les données d’entraînement, il ne
généralise pas bien aux nouvelles données
Augmentation du taux d’erreur sur les données non vues
Complexité inutile du modèle
Le modèle peut apprendre des caractéristiques bruitées qui ne sont pas
utiles pour la tâche générale
Utilisation excessive de ressources (temps d’entraînement, mémoire)
due à un modèle surdimensionné
Difficulté d’interprétation du modèle
Un modèle surcomplexifié peut être difficile à comprendre et à expliquer
Réduit la confiance dans les prédictions du modèle, car il est difficile de
comprendre comment il prend ses décisions
Régularisation L1 et L2
Définition des régularisations L1 et L2
P
L1 (Lasso) : Ajout du terme λ P |wi | à la fonction de coût
L2 (Ridge) : Ajout du terme λ wi2 à la fonction de coût
Différences entre L1 et L2
L1 peut conduire à un modèle sparse, encourageant un sous-ensemble
plus petit de caractéristiques
L2 tend à réduire tous les poids uniformément et n’entraîne
généralement pas un modèle sparse
Utilisation dans un réseau de neurones
Appliqué lors de la mise à jour des poids pendant l’entraînement
Utilisation de bibliothèques comme TensorFlow et PyTorch pour
l’intégration facile dans les réseaux de neurones
Avantages et inconvénients
L1 : Permet la sélection de caractéristiques mais peut créer des
modèles instables
L2 : Ne conduit pas à des modèles sparses mais est plus stable
Pr. Mounia MIKRAM Deep Learning
Introduction à l’Apprentissage Supervisé
Propagation Avant et Rétropropagation
Entraînement d’un réseau neuronal Descente de Gradient et Mise à Jour des Poids
Réseaux de Neurones Convolutifs (CNNs) Processus d’Apprentissage dans les Réseaux de Neurones
Fonction de Coût
Algorithme de rétropropagation (backpropagation)
Surapprentissage (overfitting) et techniques de régularisation
Dropout
Définition et principe
Technique de régularisation pour prévenir le surapprentissage
Durant l’entraînement, certains neurones sont "éteints" aléatoirement
à chaque itération, avec une probabilité pré-définie (ex : 0.5)
Utilisation dans un réseau de neurones
Implémenté dans divers frameworks tels que TensorFlow, Keras, etc.
Peut être appliqué à une ou plusieurs couches du réseau
Avantages et inconvénients
Avantages :
Réduit le risque de surapprentissage
Rend le réseau plus robuste
Inconvénients :
Peut augmenter le temps d’entraînement
Complexité accrue lors de la fine-tuning
Early Stopping
Définition et principe
Technique d’arrêt anticipé de l’entraînement pour éviter le
surapprentissage
Surveille une métrique spécifique (généralement l’erreur de validation)
et arrête l’entraînement lorsque cette métrique cesse de s’améliorer
Mise en œuvre pendant l’entraînement
Choix d’une métrique et d’un critère d’arrêt (par exemple, arrêt si
l’erreur de validation n’a pas diminué pendant N époques consécutives)
Utilisation de techniques de sauvegarde pour conserver le meilleur
modèle avant l’arrêt
Avantages et inconvénients
Avantages :
Prévient le surapprentissage
Peut réduire le temps d’entraînement
Inconvénients :
Déterminer le bon critère d’arrêt peut être complexe
Risque de s’arrêter trop tôt et de ne pas atteindre un optimum global
Pr. Mounia MIKRAM Deep Learning
Entraînement d’un réseau neuronal
Réseaux de Neurones Convolutifs (CNNs)
Classification
Couches de Convolution
Objectif:
Détails des couches de convolution dans un CNN.
Exemple de Convolution
Couches de Pooling
Objectif:
Expliquer les couches de pooling et leur rôle dans un CNN.
Définition: Une couche destinée à réduire la dimensionnalité de
l’entrée, facilitant ainsi la généralisation et réduisant le risque de
surajustement.
Types de pooling:
Max pooling: Sélectionne la valeur maximale d’une région de l’entrée.
Average pooling: Calcule la moyenne des valeurs d’une région de
l’entrée.
Avantages:
Réduction de la dimensionnalité, simplifiant le modèle et réduisant le
temps de calcul.
Invariance à de petites transformations, aidant le modèle à reconnaître
des motifs même s’ils sont légèrement déformés ou déplacés.
Exemple de Pooling
Chaque neurone dans la couche fully connected est connecté à tous les
neurones de la couche précédente et de la couche suivante.
Cela permet une intégration complète des informations.
Récapitulatif
Couches de Convolution:
Identifient les
caractéristiques / motifs de
l’entrée.
Couches de Pooling:
Réduisent la dimensionnalité
et rendent le réseau invariant
aux petites transformations.
Couches Fully Connected:
Prend des décisions basées
sur les caractéristiques
extraites.
Pr. Mounia MIKRAM Deep Learning
Entraînement d’un réseau neuronal
Réseaux de Neurones Convolutifs (CNNs)
TPs