Forward pass et fonctions de coût
De l'entrée à la prédiction, puis comment lui donner une note.
Au chapitre 5, on a vu qu’un réseau multi-couches peut exprimer presque n’importe quelle fonction, à condition de bien régler ses poids. Pour XOR, on les a posés à la main. Mais à la main, ça ne passe pas l’échelle : un réseau réel compte des millions de poids. On veut donc les régler automatiquement.
La toute première brique de cet automatisme, c’est de savoir deux choses : calculer la sortie du réseau pour une entrée donnée, puis donner à cette sortie une note qui dit à quel point elle est fausse. Apprendre, pour un réseau, ce sera chercher à améliorer cette note. Ce chapitre construit ces deux briques. Il ne calcule encore aucune correction de poids : il pose le terrain de jeu sur lequel, à partir du chapitre 7, le gradient va opérer.
Acte 1 : calculer la prédiction
Le passage avant Forward pass Propagation avant. Phase de calcul où une donnée d'entrée traverse le réseau couche par couche, des entrées vers la sortie, en appliquant à chaque neurone sa somme pondérée et sa fonction d'activation. Produit la prédiction finale. (forward pass) est le calcul qui transforme une entrée en prédiction, en traversant le réseau couche par couche, de l’entrée vers la sortie. Chaque couche applique sa formule , et sa sortie devient l’entrée de la suivante.
Prenons un petit classifieur à 3 classes : deux entrées, une couche cachée de deux neurones, une couche de sortie de trois neurones. Donnons-lui l’entrée .
La couche cachée. Ses poids et biais sont
On calcule d’abord la somme pondérée de chaque neurone, ce qu’on appelle la pré-activation :
Puis on applique l’activation. Avec ReLU, qui remplace tout négatif par zéro :
Le premier neurone caché s’est éteint, le second est resté actif.
La couche de sortie. Ses poids et biais sont
On calcule les trois pré-activations, appelées ici les logits :
De scores à probabilités. Trois logits, ce sont trois nombres quelconques. Pour un classifieur, on veut trois probabilités, positives et de somme . C’est le rôle de la fonction softmax Softmax Fonction qui prend un vecteur de réels et le transforme en distribution de probabilités. Pour un vecteur z, softmax(z)_i = exp(z_i) / somme(exp(z_j)). Utilisée comme activation de sortie pour la classification multi-classe. :
Sur nos logits :
Le réseau prédit la classe 2 avec une confiance d’environ . Voilà un forward pass complet : de à une distribution de probabilité.
Déroule-le toi-même, étape par étape, et bascule l’activation cachée entre ReLU et sigmoïde pour voir comment chacune transforme la même entrée.
Le forward pass, couche par couche
Trois choses à observer en jouant :
- À chaque étape, la couche active s’allume dans le schéma. L’information avance toujours de l’entrée vers la sortie, jamais en arrière.
- Bascule de ReLU à sigmoïde : la même entrée produit des valeurs cachées différentes, mais la classe prédite reste la 2. La structure du réseau compte autant que les valeurs exactes.
- La dernière étape, softmax, transforme trois logits quelconques en trois probabilités qui somment à .
Acte 2 : mettre une note
On sait calculer une prédiction. Reste à dire à quel point elle est bonne. Une fonction de coût Fonction de coût Mesure de l'erreur entre la prédiction d'un réseau et la vérité attendue. Aussi appelée fonction de perte ou loss. Plus elle est élevée, plus le réseau se trompe. L'apprentissage cherche à la minimiser. Exemples courants : MSE pour la régression, cross-entropy pour la classification. prend la prédiction et la cible, et renvoie un seul nombre : la note. Plus le nombre est grand, plus le réseau s’est trompé. Apprendre, ce sera faire baisser ce nombre.
Toutes les tâches ne se notent pas de la même façon. Voyons les deux grandes familles.
Régresser : l’erreur quadratique moyenne
Quand on prédit une grandeur continue (un prix, une température), c’est de la régression. La note naturelle est l’ erreur quadratique moyenne Erreur quadratique moyenne Fonction de coût qui moyenne le carré de l'écart entre la prédiction et la cible. Le carré pénalise fortement les grands écarts et rend le coût dérivable partout. Notée MSE (mean squared error), elle est le choix naturel pour la régression. Source : Goodfellow, Bengio & Courville, 2016 (MSE), la moyenne des carrés des écarts entre prédiction et cible :
Pourquoi le carré, et pas la valeur absolue ? Pour deux raisons. D’abord, le carré pénalise beaucoup plus les grands écarts que les petits : se tromper de coûte cent fois plus que se tromper de , pas dix fois. Ensuite, le carré est lisse, dérivable partout, alors que la valeur absolue a un coin anguleux en zéro. Cette douceur sera précieuse au chapitre 7, quand on cherchera la pente.
Classer : l’entropie croisée
En classification, la cible n’est pas un nombre mais une classe. La prédiction, elle, est une probabilité. Pourrait-on réutiliser la MSE entre la probabilité prédite et la cible ? On pourrait, mais ce serait un mauvais choix, et la raison est instructive.
Imaginons une tâche binaire (cible qui vaut ou ) où le modèle prédit la probabilité que la cible vaille . Si la vraie réponse est et que le modèle annonce , il se trompe avec une assurance totale. On voudrait une note qui explose dans ce cas. Or la MSE plafonne : , à peine moins que pour une hésitation à .
Quand la cible vaut , elle se réduit à . Si est proche de , est proche de : bonne réponse, petite note. Mais si tend vers , tend vers l’infini : la note explose. C’est exactement la punition qu’on cherchait pour la confiance erronée.
Plusieurs classes : softmax et cible one-hot
Pour notre classifieur à 3 classes, la sortie est la distribution softmax de l’Acte 1. La cible se code en one-hot : un vecteur qui vaut sur la bonne classe et ailleurs. Pour une vraie classe 2, la cible est .
L’entropie croisée multi-classe généralise la version binaire :
où est la vraie classe. Comme la cible est one-hot, tous les termes s’annulent sauf celui de la bonne classe. La note ne dépend donc que de la probabilité que le modèle a accordée à la bonne réponse. Sur notre exemple, : petite note, le réseau avait raison et avec confiance. Si la vraie classe avait été la 1, la note aurait été .
Compare les deux notes côte à côte. Fais glisser la prédiction et regarde laquelle explose.
MSE contre entropie croisée
Trois choses à observer en jouant :
- En classification binaire, pousse vers la mauvaise extrémité : l’entropie croisée part vers l’infini, alors que la MSE plafonne autour de . Voilà pourquoi on préfère l’entropie croisée pour classer.
- Le bandeau « confiant et faux » s’allume quand le modèle affirme une réponse fausse avec assurance. La note doit le punir sévèrement, et elle le fait.
- En mode 3 classes, change les logits : softmax redistribue les probabilités, et l’entropie croisée ne regarde que celle de la classe vraie.
Acte 3 : le paysage de coût
On tient une note. Mais cette note dépend de quoi, au juste ? Les données d’entraînement sont fixées une fois pour toutes. Ce qui peut changer, ce sont les poids du réseau. La note est donc une fonction des poids.
Imaginons un réseau qui n’aurait que deux poids, et . À chaque couple correspond une note. On peut tracer cette note comme une altitude au-dessus du plan des poids : on obtient un relief, une surface de coût Surface de coût Graphe du coût vu comme une fonction des poids du réseau, les données étant fixées. Chaque jeu de poids est un point, et son altitude est le coût correspondant. Apprendre revient à descendre vers un creux de ce relief, ce que feront les chapitres sur le gradient. Source : Goodfellow, Bengio & Courville, 2016 . Les bons réseaux sont dans les vallées, les mauvais sur les sommets.
Apprendre prend alors un sens géométrique limpide : c’est descendre vers un creux de ce paysage. La carte ci-dessous montre la surface de coût d’un petit modèle à deux poids. Déplace le point et lis la note.
Le paysage de coût
Trois choses à observer en jouant :
- Le relief est un bol : un seul creux, marqué d’une croix. C’est le couple de poids qui minimise la note.
- Déplace le point : plus tu t’éloignes du creux, plus la note grimpe. Elle ne dépend que des poids, les données restant fixées.
- Ce chapitre montre le décor. Savoir dans quelle direction descendre pour atteindre le creux, c’est l’objet des chapitres 7 à 9.
Exercices
Prends de quoi écrire. Les corrigés sont volontairement détaillés, ligne par ligne.
Exercice 1. Reprends le réseau de l’Acte 1 (mêmes , activation cachée ReLU), mais avec l’entrée . Calcule , puis , puis les logits , et donne la classe prédite (celle du plus grand logit, inutile de calculer le softmax).
Exercice 2. Un modèle de régression prédit pour trois exemples dont les cibles sont . Calcule l’erreur quadratique moyenne.
Exercice 3. Cible . Calcule l’entropie croisée binaire pour , puis pour , puis pour . Compare chaque fois avec la MSE . Que punit l’entropie croisée que la MSE laisse passer ?
Exercice 4. Un classifieur à 3 classes produit les logits . Calcule les probabilités softmax, puis l’entropie croisée si la classe vraie est la classe 1 (one-hot ).
En une phrase
Le forward pass calcule la prédiction en propageant l’entrée couche par couche, la fonction de coût lui donne une note, et tout l’apprentissage consistera à trouver les poids qui minimisent cette note dans le paysage de coût.
Quiz
1. Dans un forward pass, dans quel sens circule l'information ?
2. À quoi sert la fonction softmax en sortie d’un classifieur ?
3. Pourquoi préfère-t-on l’entropie croisée à la MSE pour la classification ?
4. Sur la surface de coût, qu'est-ce qui varie d'un point à l'autre ?
5. Que représente le creux (le minimum) de la surface de coût ?
Vers le chapitre 7
On sait maintenant calculer la note d’un réseau et la lire comme une altitude dans le paysage de coût. Reste la question décisive : dans quelle direction modifier chaque poids pour faire baisser cette note ? Il faut savoir de quel côté penche la surface autour du point courant. C’est exactement ce que mesure une dérivée. Le chapitre 7 introduit les dérivées et la règle de la chaîne, l’outil qui transformera ce paysage statique en un chemin de descente.
Sources
- Goodfellow, I., Bengio, Y. & Courville, A. (2016). Deep Learning. MIT Press. Chapitres 5 et 6. https://www.deeplearningbook.org
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. Chapitres 4 et 5 (entropie croisée).
- Bridle, J. S. (1990). Probabilistic interpretation of feedforward classification network outputs, with relationships to statistical pattern recognition. Dans Neurocomputing, Springer. DOI 10.1007/978-3-642-76153-9_28 (origine de softmax).