Accueil – Chapitre approfondi 3

À la fin de ce chapitre, tu sauras : pourquoi certains choix de coût et d’initialisation peuvent ralentir l’apprentissage, ce qu’est le surapprentissage et comment le limiter, à quoi servent les régularisations (L2, L1, dropout, augmentation), comment bien initialiser les poids, ce qu’est une couche softmax et enfin comment choisir les hyperparamètres (taux d’apprentissage, λ, mini-batches, momentum…).

Dans les chapitres approfondis 1 et 2, tu as vu comment un réseau calcule une réponse, comment on mesure l’erreur avec une fonction de coût, et comment la rétropropagation calcule le gradient pour apprendre (les chapitres 4 et 5 en ont aussi parlé). Ici, tu ouvres la « boîte à outils avancée » : comment faire en sorte que ton réseau apprenne vite et généralise bien à de nouvelles images.

Parcours du chapitre (en une image)

Coût & cross-entropie Surapprentissage Régularisation Initialisation Softmax & hyperparamètres

En résumé : ce chapitre t’explique comment améliorer ton réseau : meilleur coût (cross‑entropie), éviter le surapprentissage, utiliser la régularisation et une bonne initialisation des poids, comprendre softmax et apprendre à régler les hyperparamètres.

Lexique

Objectif : connaître les mots importants du chapitre (surapprentissage, régularisation, cross‑entropie, softmax, ReLU, momentum, hyperparamètres…).

Surapprentissage (overfitting)
Quand le réseau devient très bon sur les données d’entraînement mais se trompe souvent sur de nouvelles images. Il a « appris par cœur » au lieu de comprendre.
Régularisation
Ensemble de techniques qui poussent le réseau à apprendre des règles simples et robustes (poids petits, neurones éteints au hasard, plus de données variées) pour mieux généraliser.
Régularisation L2 / weight decay
On ajoute au coût une pénalité qui grandit avec la somme des carrés des poids. Les grands poids deviennent « chers », ils ont tendance à diminuer (weight decay = décroissance des poids).
Régularisation L1
On pénalise la valeur absolue des poids. Beaucoup de poids sont poussés exactement à 0 : le réseau devient plus économe en connexions.
Dropout
Pendant l’entraînement, on éteint au hasard certains neurones cachés. Les neurones restants doivent se débrouiller sans eux, ce qui rend le réseau plus robuste.
Augmentation de données
Créer de nouvelles images à partir de celles qu’on a (petites rotations, déplacements, bruit…) pour que le réseau voie plus de cas possibles.
Cross-entropie
Fonction de coût adaptée aux sorties entre 0 et 1 : elle garde un signal d’erreur fort quand le réseau est très sûr mais très faux, ce qui accélère l’apprentissage.
Initialisation des poids (1/√n)
Choisir des poids de départ avec une petite taille dépendant du nombre d’entrées du neurone pour éviter que les neurones saturent tout de suite.
Early stopping
Arrêter l’entraînement quand la performance sur des données de validation n’augmente plus, même si l’erreur sur l’entraînement continue de baisser.
Softmax
Fonction qui transforme une liste de scores bruts en probabilités positives qui se somment à 1 (pratique pour dire « combien le réseau croit à chaque chiffre »).
Log-vraisemblance
Fonction de coût qui pénalise très fort quand la probabilité du bon chiffre est faible. On peut la voir comme une mesure de la « surprise » du réseau.
TanH
Fonction d’activation qui ressemble à la sigmoïde mais donne des sorties entre −1 et 1, centrées autour de 0.
ReLU
Fonction d’activation « rectifiée » : ReLU(z) = max(0, z). Pour z négatif la sortie vaut 0, pour z positif la sortie est z lui‑même.
Momentum
Technique d’optimisation où l’on garde une « vitesse » pour les poids, ce qui permet de lisser les mises à jour et d’avancer plus vite dans la bonne direction.
Hyperparamètres
Réglages choisis par l’humain (taux d’apprentissage η, taille des mini-batches, force de régularisation λ, nombre d’époques, momentum…) qui influencent la façon dont le réseau apprend.

Coût et cross-entropie

Objectif : comprendre pourquoi le coût quadratique + sigmoïde peut ralentir l’apprentissage, et comment la cross‑entropie améliore le signal d’erreur.

Avec un coût quadratique et des neurones sigmoïdes, si la sortie d’un neurone est très proche de 0 ou 1 mais se trompe, la dérivée σ′(z) est très petite. Le terme de gradient contient alors σ′(z) et devient presque nul : le neurone apprend très lentement, alors qu’il est très faux.

La cross‑entropie pour un neurone de sortie (avec sortie a et cible y) peut s’écrire, de façon simplifiée :

C = −[y·ln(a) + (1−y)·ln(1−a)]

Quand le réseau se trompe fortement (par exemple y = 1 mais a est très proche de 0), ce coût est très grand et son gradient aussi : on obtient un signal d’erreur fort qui pousse le neurone à corriger vite ses poids.

Comparer coût quadratique et cross‑entropie

Sortie du neurone a = 0.50

Cible y =

Coût quadratique ≈ 0.00   Coût cross‑entropie ≈ 0.00

Force du signal d’apprentissage (quadratique) ≈ 0.00   Force du signal d’apprentissage (cross‑entropie) ≈ 0.00

En résumé : avec la cross‑entropie, un neurone qui est très sûr mais très faux reçoit un signal de correction fort. L’apprentissage ne se « bloque » pas dans des neurones saturés qui se trompent.

Surapprentissage

Objectif : reconnaître le surapprentissage sur des courbes entraînement/test et comprendre l’idée d’early stopping.

Un réseau avec beaucoup de paramètres peut finir par « mémoriser » les exemples d’entraînement : la loss sur l’entraînement continue de baisser, mais la performance sur un jeu de test (images jamais vues) commence à se dégrader. C’est le surapprentissage.

Voir le surapprentissage sur des courbes

Époque : 1

Erreur entraînement ≈ 0.00   Erreur test ≈ 0.00

Avec l’early stopping, on surveille la performance sur un petit jeu de validation. On garde le réseau obtenu à l’époque où cette performance est maximale, même si la loss sur l’entraînement continue de baisser ensuite.

En résumé : surapprentissage = réseau trop adapté aux données d’entraînement. On le repère quand la courbe test se dégrade alors que la courbe entraînement s’améliore encore. L’early stopping permet de s’arrêter au bon moment.

Régularisation L2 (weight decay)

Objectif : comprendre l’idée de la pénalité L2 sur les poids et ce qu’est le weight decay.

Avec la régularisation L2, on modifie le coût en ajoutant une pénalité sur la taille des poids :

C_total = C_donnees + (λ / 2n) · Σ w²

Les grands poids sont « chers », donc la descente de gradient les pousse à diminuer. Le réseau préfère partager l’information entre plusieurs poids plus petits plutôt que de s’appuyer sur une seule connexion énorme.

Voir la décroissance d’un poids

Poids w = 1.00   λ = 0.5

En résumé : L2 ajoute une pénalité sur les poids trop grands. À chaque mise à jour, les poids sont légèrement tirés vers 0 (weight decay), ce qui aide à éviter le surapprentissage.

Autres régularisations : L1, dropout, augmentation

Objectif : découvrir rapidement d’autres façons de limiter le surapprentissage : L1, dropout, augmentation des données.

Outre L2, on peut utiliser :

  • L1 : pénalise la somme des valeurs absolues des poids. Beaucoup de poids sont poussés exactement à 0, ce qui simplifie le réseau.
  • Dropout : pendant l’entraînement, on éteint certains neurones au hasard. Les autres doivent apprendre à fournir une bonne réponse même si certains « amis » disparaissent.
  • Augmentation de données : on fabrique de nouvelles images d’entraînement en appliquant de petites transformations aux images existantes.

Dropout : certains neurones s’éteignent

Augmentation de données (idée simplifiée)

En résumé : L1 simplifie le réseau, le dropout le rend plus robuste, et l’augmentation de données lui montre plus de situations possibles.

Initialisation des poids

Objectif : comprendre pourquoi de bons poids de départ (ni trop grands ni trop petits) aident le réseau à apprendre.

Si on initialise tous les poids avec une variance trop grande (par exemple N(0,1) pour un neurone avec beaucoup d’entrées), la somme pondérée z = w·x + b a de fortes chances d’être très grande en valeur absolue. La sigmoïde σ(z) sature alors très vite près de 0 ou 1 et la dérivée σ′(z) devient très petite : l’apprentissage est ralenti dès le départ.

Une meilleure idée est de choisir des poids avec une variance qui dépend du nombre d’entrées nin du neurone, par exemple une loi proche de N(0, 1/√nin). Les z restent alors dans une plage plus raisonnable et les neurones ne saturent pas tous immédiatement.

Comparer deux initialisations

Nombre d’entrées nin =

Cas A : w ~ N(0,1)   → moyenne z ≈ 0.00, écart-type ≈ 0.00
Cas B : w ~ N(0, 1/√nin)   → moyenne z ≈ 0.00, écart-type ≈ 0.00

En résumé : une bonne initialisation garde les z dans une zone où σ(z) n’est pas saturée. Cela donne de meilleurs gradients au début de l’entraînement.

Softmax & log-vraisemblance

Objectif : voir comment une couche de sortie peut donner de vraies probabilités pour chaque chiffre.

Une couche de sortie softmax prend des scores bruts zj (souvent appelés logits) et les transforme en probabilités aLj :

aLj = e^{zLj} / Σk e^{zLk}

Tous les aLj sont positifs et la somme vaut 1. On peut alors dire « le réseau pense que c’est un 3 avec 80 % de probabilité, un 5 avec 10 %, un 8 avec 10 %, … ».

Un coût de log‑vraisemblance (log-likelihood) mesure à quel point la probabilité du bon chiffre est élevée. Si le chiffre correct est y et que la probabilité aLy est petite, le coût est très grand : le réseau reçoit un message clair qu’il doit corriger ses poids.

Mini-softmax à 3 scores

z1 =   z2 =   z3 =

p1 = 0.00   p2 = 0.00   p3 = 0.00   (somme ≈ 1.00)

En résumé : la softmax transforme des scores en probabilités qui se somment à 1. Un coût de log‑vraisemblance punit fortement les prédictions qui donnent une faible probabilité au bon chiffre.

Autres neurones : TanH, ReLU…

Objectif : découvrir d’autres fonctions d’activation que la sigmoïde et voir leurs différences.

La sigmoïde n’est pas la seule fonction d’activation possible :

  • TanH donne des sorties entre −1 et 1 et ressemble à une sigmoïde recentrée autour de 0.
  • ReLU (Rectified Linear Unit) vaut 0 pour z < 0 et z pour z > 0. Elle ne sature pas pour les grandes valeurs positives.

Comparer sigmoïde, tanh et ReLU

z = 0.0

σ(z) ≈ 0.50   tanh(z) ≈ 0.00   ReLU(z) ≈ 0.00

En résumé : on peut choisir différentes fonctions d’activation. ReLU et tanh sont très utilisées dans les réseaux modernes, mais toutes gardent la même idée : transformer z en une sortie non linéaire.

Hyperparamètres & optimisations avancées

Objectif : comprendre le rôle de quelques hyperparamètres importants (η, λ, mini-batch, nombre d’époques, momentum) et l’idée de momentum.

Pour qu’un réseau apprenne bien, il faut régler plusieurs hyperparamètres :

  • Le taux d’apprentissage η : trop petit → apprentissage très lent ; trop grand → la loss peut osciller ou exploser.
  • La force de régularisation λ : trop petite → surapprentissage ; trop grande → le réseau n’arrive pas à s’ajuster.
  • La taille des mini-batches : petits mini-batches = mises à jour fréquentes mais bruitées ; gros mini-batches = mises à jour plus stables mais moins fréquentes.
  • Le nombre d’époques : on choisit souvent en utilisant l’early stopping.

Le momentum ajoute une idée de « vitesse » v aux poids w :

v ← μ·v − η·∇C puis w ← w + v

Avec 0 < μ < 1 (par exemple 0,9), on garde un souvenir des gradients précédents, ce qui permet d’avancer plus vite dans les vallées et de moins zigzaguer.

Explorer quelques réglages

Taux d’apprentissage η :

Régularisation λ :

Descente avec ou sans momentum

En résumé : régler un réseau, c’est choisir des hyperparamètres adaptés. On essaie, on observe les courbes, on ajuste. Le momentum est une astuce simple pour rendre la descente plus rapide et plus stable.

Exercices

Objectif : s’entraîner sur la cross‑entropie, le surapprentissage, la régularisation, l’initialisation et les hyperparamètres.

Exercice 1 – Cross-entropie : attention à l’ordre

Énoncé : On peut écrire un coût de cross‑entropie pour un neurone de sortie comme C = −[y·ln(a) + (1−y)·ln(1−a)]. Que se passerait‑il si on échangeait y et a (par exemple −[a·ln(y) + (1−a)·ln(1−y)]) quand y vaut 0 ou 1 ?

Test rapide

y =   a =

C(y,a) = −[y ln a + (1−y) ln(1−a)] ≈ 0.00
C(a,y) = −[a ln y + (1−a) ln(1−y)] ≈ NaN

Solution attendue : si on met y à l’intérieur des logarithmes, on obtient ln(0) quand y vaut 0 ou 1, ce qui n’est pas défini. Dans l’expression correcte, c’est toujours a (une sortie comprise entre 0 et 1 mais jamais exactement 0 ou 1 en pratique) qui apparaît dans les logarithmes.

Exercice 2 – Repérer le surapprentissage

Énoncé : On observe deux courbes : erreur entraînement et erreur test en fonction des époques. Explique ce qui se passe si, après une certaine époque, l’erreur entraînement continue de baisser mais l’erreur test remonte.

À faire : utilise le widget « Courbes d’entraînement / test » plus haut et note à partir de quelle époque environ le surapprentissage commence.

Note l’époque de début du surapprentissage

Époque (environ) :

Exercice 3 – Reconnaître le weight decay

Énoncé : On considère une mise à jour simplifiée d’un poids : w ← 0,9·w − 0,01. Identifie la partie liée aux données et la partie qui correspond au weight decay.

Cliquer pour révéler

Exercice 4 – Initialisation : quel cas est le mieux ?

Énoncé : On te donne deux couples (moyenne, écart-type) pour la distribution de z dans la première couche :

  • Cas A : moyenne ≈ 0, écart-type ≈ 20
  • Cas B : moyenne ≈ 0, écart-type ≈ 1,2

Lequel te semble le plus adapté pour un bon démarrage de l’apprentissage ? Pourquoi ?

Choisis le cas qui convient le mieux


Exercice 5 – Diagnostiquer des hyperparamètres

Énoncé : Pour chaque situation, propose une action possible sur η ou λ (ou le momentum) :

  • La loss oscille énormément et ne baisse pas.
  • La loss baisse très lentement.
  • La précision entraînement est très bonne mais la précision test est mauvaise.

À faire : teste différentes valeurs dans l’explorateur d’hyperparamètres et observe les messages proposés.

Associe une action à chaque situation

  1. La loss oscille énormément et ne baisse pas.
  2. La loss baisse très lentement.
  3. La précision entraînement est très bonne mais la précision test est mauvaise.

Exercice 6 – Softmax : les probabilités se somment

Énoncé : Vérifie avec le widget softmax que les probabilités p1, p2, p3 se somment toujours à 1, même si tu changes fortement les scores z1, z2, z3. Explique pourquoi c’est utile pour interpréter la sortie du réseau.

Teste la somme avec tes valeurs

En résumé : ces exercices te font jouer avec les idées du chapitre : bonne forme du coût, surapprentissage, régularisation, initialisation, hyperparamètres et softmax.

Quiz

Objectif : vérifier que tu as compris les outils pour améliorer l’apprentissage du réseau (cross‑entropie, surapprentissage, régularisation, initialisation, softmax, hyperparamètres).

Choisis un quiz :

Fiche enseignant

Fiche pédagogique pour le chapitre approfondi 3 : objectifs, niveau, durée, pistes de correction des exercices et idées de discussion autour de l’amélioration de l’apprentissage.