Pilier 5

Cross-entropy : l'erreur d'une prédiction probabiliste

Idée

Mesurer à quel point la distribution de probabilités sortie par le modèle est éloignée de la bonne réponse.

Outil

Pour un seul exemple : $L = -\log(p_{\text{vraie classe}})$. C'est l'opposé du log-vraisemblance familier en statistique — la fonction $-\log$ punit fortement les probabilités proches de 0, comme $-\log x \to +\infty$ quand $x \to 0^+$.

Formule

Pour un exemple : $L = -\log(p_{\text{vraie classe}})$. Pour un batch binaire : $\mathcal{L} = -\tfrac{1}{m}\sum_i y_i \log(a_i) + (1-y_i)\log(1-a_i)$.

Piège

On laisse $a_i$ atteindre exactement $0$ ou $1$ et $\log(a_i)$ diverge en $-\infty$ : la loss devient nan et tout l'entraînement explose. Le réflexe : torch.clamp(a, eps, 1-eps) avec $\varepsilon \approx 10^{-7}$ avant le log, ou utiliser directement binary_cross_entropy_with_logits qui le fait en interne.