4. Fonctions de perte et couches de sortie

Avant qu'un réseau puisse apprendre, il lui faut une cible vers laquelle descendre. La couche de sortie transforme la dernière activation \(a^{[L]}\) en une prédiction, et la perte mesure l'écart entre cette prédiction et le vrai label. Ce module fixe ces deux choix par tâche, car la rétropropagation du prochain module dérive une perte concrète. L'activation de sortie et la perte ne se choisissent pas indépendamment : les accorder à la forme de la tâche est ce qui rend le signal d'entraînement propre.

Objectifs

  • Passer d'une perte par exemple \(L\) au coût \(J\) moyenné sur le lot.
  • Choisir une sortie linéaire avec l'erreur quadratique moyenne pour la régression.
  • Choisir une sortie sigmoïde avec l'entropie croisée binaire pour les problèmes à deux classes.
  • Choisir une sortie softmax avec l'entropie croisée catégorielle pour les problèmes multiclasses.
  • Dériver le gradient propre au niveau des logits de la paire softmax et entropie croisée.
  • Associer toute tâche à son activation de sortie et à sa perte à l'aide d'une simple table de correspondance.

4.1 De la perte par exemple au coût

Le réseau prédit \(\hat{y} = a^{[L]}\) à partir de l'entrée \(a^{[0]} = x\). Pour un seul exemple, la perte \(L(\hat{y}, y)\) évalue cette prédiction par rapport à la cible \(y\). L'entraînement minimise le coût \(J\), défini comme la moyenne de \(L\) sur les \(m\) exemples du lot ou du jeu de données :

\[\boxed{ J = \frac{1}{m}\sum_{i=1}^{m} L\!\left(\hat{y}^{(i)}, y^{(i)}\right) }\]

Remarque : la perte \(L\) évalue une prédiction, le coût \(J\) est ce que l'optimiseur réduit réellement. Le fait de moyenner (plutôt que de sommer) maintient l'échelle du gradient indépendante de la taille du lot, si bien que le taux d'apprentissage n'a pas à être réajusté quand \(m\) change.

Les trois tâches ci-dessous réutilisent les pertes présentées dans le cours de Machine Learning. La ligne de l'entropie croisée de la table des pertes des Concepts généraux, intitulée « Réseaux de neurones », est exactement l'objectif que minimise un réseau de classification. La nouveauté ici est d'apparier chaque perte avec l'activation de sortie \(g^{[L]}\) qui produit \(\hat{y}\).

4.2 Régression : sortie linéaire et erreur quadratique moyenne

Pour une cible continue \(y \in \mathbb{R}^{n_L}\), la couche de sortie n'utilise aucune activation, elle est donc linéaire (l'identité) et la prédiction peut prendre n'importe quelle valeur réelle :

\[\boxed{ \hat{y} = a^{[L]} = z^{[L]} = W^{[L]} a^{[L-1]} + b^{[L]} }\]

La perte par exemple est la distance euclidienne au carré entre la prédiction et la cible, mise à l'échelle par un demi :

\[\boxed{ L(\hat{y}, y) = \tfrac{1}{2}\,\lVert \hat{y} - y \rVert^2 }\]

Remarque : le facteur \(\tfrac{1}{2}\) annule le \(2\) qui apparaît en dérivant le carré, laissant le gradient résiduel épuré \(\partial L / \partial \hat{y} = \hat{y} - y\). C'est le même objectif d'erreur quadratique moyenne utilisé pour la régression linéaire, posé désormais au sommet d'un réseau profond au lieu d'un unique score linéaire.

4.3 Classification binaire : sortie sigmoïde et entropie croisée binaire

Pour un label à deux classes \(y \in \{0, 1\}\), la couche de sortie possède une seule unité dont l'activation est la sigmoïde, qui écrase le logit \(z^{[L]}\) en une probabilité :

\[\hat{y} = a^{[L]} = \sigma\!\left(z^{[L]}\right) = \frac{1}{1 + e^{-z^{[L]}}} \in (0, 1)\]

Ici \(\hat{y}\) se lit comme \(p(y = 1 \mid x)\). La perte associée est l'entropie croisée binaire, la log-vraisemblance négative du label de Bernoulli :

\[\boxed{ L(\hat{y}, y) = -\Big[\, y \log \hat{y} + (1 - y)\log(1 - \hat{y}) \,\Big] }\]

Remarque : un seul des deux termes est actif pour un label donné. Quand \(y = 1\), la perte vaut \(-\log \hat{y}\), pénalisant une petite probabilité prédite, et quand \(y = 0\) elle vaut \(-\log(1 - \hat{y})\). L'entropie croisée est préférée ici à l'erreur quadratique parce qu'elle maintient le gradient élevé lorsque la prédiction est confiante et fausse, de sorte que l'apprentissage ne stagne pas.

Perte d'entropie croisée binaire en fonction de la probabilité prédite, avec la parabole de l'erreur quadratique moyenne

La perte d'entropie croisée croît sans borne à mesure que la probabilité prédite s'éloigne du vrai label.

4.4 Classification multiclasse : sortie softmax et entropie croisée catégorielle

Pour un label à \(K\) classes, la couche de sortie possède \(K\) unités et l'activation softmax transforme le vecteur de logits \(z^{[L]} \in \mathbb{R}^{K}\) en une distribution de probabilité sur les classes :

\[\boxed{ \hat{y}_k = \frac{e^{z^{[L]}_k}}{\sum_{j=1}^{K} e^{z^{[L]}_j}} }\]

Les sorties sont positives et somment à un, donc \(\hat{y}\) est une distribution valide et \(\hat{y}_k = p(y = k \mid x)\). La cible \(y\) est en encodage one-hot : \(y_k = 1\) pour la vraie classe et \(0\) sinon. La perte associée est l'entropie croisée catégorielle :

\[\boxed{ L(\hat{y}, y) = -\sum_{k=1}^{K} y_k \log \hat{y}_k }\]

Remarque : comme \(y\) est en encodage one-hot, la somme se réduit à un seul terme, \(-\log \hat{y}_{k^\star}\), où \(k^\star\) est la vraie classe. La perte récompense donc le fait de placer la masse de probabilité sur la bonne classe et ignore la façon dont la masse restante est répartie. L'entropie croisée binaire est le cas particulier \(K = 2\).

4.5 Le gradient de la softmax et de l'entropie croisée

La sortie softmax et la perte d'entropie croisée catégorielle sont utilisées ensemble parce que leur composition a une dérivée remarquablement propre au niveau des logits \(z^{[L]}\). En dérivant \(L\) par rapport à un seul logit \(z^{[L]}_k\), on obtient :

\[\boxed{ \frac{\partial L}{\partial z^{[L]}_k} = \hat{y}_k - y_k }\]

Le gradient à la couche de sortie n'est autre que la prédiction moins la cible, un simple résidu sans facteur sigmoïde ou softmax gênant qui subsisterait. La même identité vaut pour la paire sigmoïde et entropie croisée binaire, qui en est le cas \(K = 2\). C'est précisément pour cela que chaque activation est couplée à sa perte associée plutôt que mélangée avec, par exemple, l'erreur quadratique.

Remarque : la forme élément par élément \(\partial L / \partial z^{[L]} = \hat{y} - y\) est ce qui amorce la rétropropagation. Le prochain module démarre la passe arrière depuis ce vecteur, puis applique de façon répétée la règle de dérivation en chaîne et le produit de Hadamard \(\odot\) pour le repousser à travers les couches cachées.

4.6 De la tâche à la sortie à la perte

Les trois cas se résument en une seule correspondance. Fixez la tâche, et l'activation de sortie et la perte en découlent.

Tâche Activation de sortie \(g^{[L]}\) Perte par exemple \(L\) Gradient au niveau des logits \(\partial L / \partial z^{[L]}\)
Régression linéaire (identité) erreur quadratique moyenne \(\hat{y} - y\)
Classification binaire sigmoïde entropie croisée binaire \(\hat{y} - y\)
Classification multiclasse softmax entropie croisée catégorielle \(\hat{y} - y\)

Remarque : la dernière colonne est identique pour les trois lignes. Accorder l'activation de sortie à sa perte naturelle fait que le réseau démarre sa passe arrière depuis le même résidu simple quelle que soit la tâche.

Trois branches de tâches associant l'activation de sortie à la perte, convergeant vers le gradient partagé au niveau des logits

L'activation de sortie et la perte sont choisies ensemble par tâche, et les paires accordées partagent le gradient propre au niveau des logits yhat moins y.

Une fois une perte concrète choisie et son gradient à la couche de sortie en main, le prochain module fait remonter la règle de dérivation en chaîne à travers chaque couche : la rétropropagation.


Suivant : Rétropropagation · Vue d'ensemble du cours