La funzione softmax, comunemente usata nelle reti neurali per convertire i numeri reali in probabilità, ha la stessa funzione della distribuzione di Boltzmann, la distribuzione di probabilità sulle energie per un insieme di particelle in equilibrio termico ad una data temperatura T in termodinamica.
Vedo alcune chiare ragioni euristiche per cui questo è pratico:
- Non importa se i valori di input sono negativi, softmax genera valori positivi che si sommano a uno.
- È sempre differenziabile, il che è utile per la backpropagation.
- Ha un parametro 'temperatura' che controlla quanto la rete dovrebbe essere flessibile verso valori piccoli (quando T è molto grande, tutti i risultati sono ugualmente probabili, quando molto piccoli, viene selezionato solo il valore con l'ingresso più grande).
La funzione Boltzmann è utilizzata come softmax solo per motivi pratici o esiste una connessione più profonda con la termodinamica / fisica statistica?