Aller au contenu
Kudos AI

Entropie croisée

Une mesure de la différence entre deux distributions de probabilité, utilisée comme fonction de perte standard en classification.

Aussi appelé : Log-perte, Log-vraisemblance négative

Comprendre Entropie croisée

L’entropie croisée demande combien il en coûte de décrire des issues tirées d’une vraie distribution à l’aide d’un code construit pour une distribution prédite. Si la prédiction correspond à la réalité, le coût est minimal et égale l’entropie propre de la vraie distribution. Plus le décalage est grand, plus les bits gaspillés sont nombreux : la quantité mesure donc naturellement à quel point une distribution prédite est fausse.

En classification, la vraie distribution est généralement un vecteur one-hot : la bonne classe a la probabilité 1 et toutes les autres 0. La somme se réduit alors à un seul terme, l’opposé du logarithme de la probabilité que le modèle a attribuée à la bonne classe. Prédire 0,9 pour la bonne classe coûte −log(0,9) ≈ 0,105 ; prédire 0,1 coûte −log(0,1) ≈ 2,303, plus de vingt fois plus.

Cette asymétrie est délibérée et importante. Quand la probabilité prédite de la vraie classe tend vers zéro, la perte croît sans borne. Un modèle confiant et faux est sévèrement puni, ce qui décourage l’excès de confiance qu’une perte symétrique comme l’erreur quadratique tolérerait.

L’association aux sorties softmax ou sigmoïde est ce qui la rend praticable. Seul, le logarithme a une dérivée peu commode, mais combiné à ces activations, le gradient de la perte par rapport à la sortie pré-activation se simplifie en la différence entre la probabilité prédite et la vraie étiquette. Le gradient est proportionnel à l’erreur, ne sature pas et reste numériquement stable, ce qui est précisément pourquoi cette association est le choix par défaut.

Comment calculer

H(p, q) = − Σᵢ p(xᵢ) log q(xᵢ); for one-hot labels this reduces to −log q(correct class)

où

p
la vraie distribution, typiquement one-hot sur les classes
q
la distribution prédite par le modèle
H(p, q)
l’entropie croisée, le coût moyen de coder p à l’aide de q

Exemple : Entropie croisée

Un problème à trois classes dont la vraie classe est B donne la cible one-hot (0, 1, 0). Si le modèle prédit (0,2 ; 0,7 ; 0,1), la perte vaut −log(0,7) ≈ 0,357.

S’il prédit plutôt (0,2 ; 0,1 ; 0,7), plaçant l’essentiel de sa confiance sur la mauvaise classe, la perte vaut −log(0,1) ≈ 2,303. La probabilité attribuée à la bonne classe a été divisée par sept, et la perte multipliée par environ six et demi.

Une prédiction correcte quasi certaine de 0,99 ne coûte que −log(0,99) ≈ 0,01, tandis qu’une prédiction fausse quasi certaine de 0,01 coûte ≈ 4,61. C’est cette raideur du mauvais côté qui éloigne le modèle des erreurs confiantes pendant l’entraînement.

Questions fréquentes

Pourquoi ne pas utiliser l’erreur quadratique en classification ?

L’erreur quadratique associée à une sortie sigmoïde produit un objectif non convexe dont les gradients s’annulent exactement là où le modèle se trompe le plus, si bien que l’apprentissage cale sur les exemples qui comptent le plus. L’entropie croisée garde le gradient proportionnel à l’erreur et reste convexe pour la régression logistique.

Quel est le lien entre entropie croisée et maximum de vraisemblance ?

C’est la même optimisation. La vraisemblance des étiquettes observées est un produit de probabilités prédites ; en prendre l’opposé du logarithme transforme ce produit en la somme qui définit l’entropie croisée. Minimiser l’une maximise l’autre.

Quelle différence entre entropie croisée et divergence KL ?

L’entropie croisée égale l’entropie de la vraie distribution plus la divergence KL de la vraie vers la prédite. Comme la vraie distribution est fixée pendant l’entraînement, son entropie est une constante : minimiser l’entropie croisée et minimiser la divergence KL sont donc équivalents.

En résumé

L’entropie croisée note une distribution prédite par la log-probabilité qu’elle a attribuée à ce qui s’est réellement produit, punissant sans borne les erreurs confiantes. Combinée au softmax, elle fournit le gradient propre et non saturant qui en fait la perte de classification par défaut.