◂ Blog

6 settembre 2024

Visualizzare la softmax

La funzione softmax

La funzione softmax è definita come

softmax(x)i=exijexj\text{softmax}(\boldsymbol{x})_i = \frac{e^{x_i}}{\sum_j e^{x_j}}

Mappa un vettore a nn componenti xRnx \in \mathbb{R}^n in un vettore a componenti positive con norma L1L^1 unitaria — tutte le componenti positive, a somma uno. Qualsiasi collezione di numeri diventa una distribuzione di probabilità.

Questa proprietà è centrale nelle reti neurali di classificazione, dove la softmax siede tipicamente nello strato di uscita, accoppiata a etichette one-hot.

La stessa formula ha una vita più antica nella meccanica statistica: è la distribuzione di Boltzmann–Gibbs, che dà la probabilità che un sistema termodinamico occupi uno stato date le energie di tutti gli stati accessibili. Quella che il machine learning chiama “temperatura” della softmax non è una metafora — è letteralmente lo stesso parametro che la fisica mette al denominatore dell’esponente.

Visualizzazione interattiva

Trascina la temperatura e osserva un dataset casuale rimodellarsi in distribuzioni più nette o più piatte: