Comprendre le softmax : exponentiation, normalisation et self-attention
Elle permet de transformer des scores arbitraires en une distribution dont les valeurs sont comprises entre 0 et 1 et dont la somme est égale à 1.
Une formule toute simple, mais au cœur de mécanismes comme l’attention ou la classification.
#softmax #deeplearning #machinelearning
Le softmax transforme une liste de scores arbitraires en une distribution de probabilités valides. Contrairement à une simple normalisation, il applique d'abord une exponentielle à chaque valeur, ce qui amplifie non linéairement les écarts : les scores les plus élevés deviennent dominants. Ensuite, chaque valeur exponentielle est divisée par la somme de toutes les exponentielles. Le résultat est un ensemble de nombres positifs, compris entre 0 et 1, dont la somme est exactement 1. Cette opération est cruciale en deep learning, notamment dans les mécanismes d'attention, où elle convertit les scores de compatibilité en poids de contribution. On peut aussi ajuster la « température » : une valeur faible rend la distribution plus pointue (domination des meilleurs scores), tandis qu'une valeur élevée l'aplatit vers l'uniformité.
Exemple : Prenons les scores [2, 1, 0].
- Exponentiation : [e², e¹, e⁰] ≈ [7.39, 2.72, 1].
- Somme : 7.39 + 2.72 + 1 = 11.11.
- Division : [7.39/11.11, 2.72/11.11, 1/11.11] ≈ [0.665, 0.245, 0.090].
La valeur initiale la plus haute (2) obtient le poids le plus important (0.665), illustrant l'amplification des écarts.