Softmax: differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 33: Riga 33:
             |title=Softmax
             |title=Softmax
             |title_mode=append
             |title_mode=append
             |keywords="softmax, funzione di attivazione, reti neurali, logit, probabilità, classificazione multiclasse, sigmoide, log-softmax, pytorch"
             |keywords=softmax, funzione di attivazione, reti neurali, logit, probabilità, classificazione multiclasse, sigmoide, log-softmax, pytorch
             |description="La funzione Softmax, anche detta 'softargmax' o 'funzione esponenziale normalizzata', è una funzione di attivazione utilizzata nelle reti neurali per la classificazione multiclasse. Trasforma i logit in probabilità, evidenziando i valori più grandi e 'nascondendo' quelli più piccoli. La somma dei valori restituiti è sempre pari a 1.0. Softmax è spesso utilizzata nella sua forma logaritmica, chiamata log-softmax, per via delle sue migliori proprietà matematiche."
             |description=La funzione Softmax, anche detta 'softargmax' o 'funzione esponenziale normalizzata', è una funzione di attivazione utilizzata nelle reti neurali per la classificazione multiclasse. Trasforma i logit in probabilità, evidenziando i valori più grandi e 'nascondendo' quelli più piccoli. La somma dei valori restituiti è sempre pari a 1.0. Softmax è spesso utilizzata nella sua forma logaritmica, chiamata log-softmax, per via delle sue migliori proprietà matematiche.
             |image=Softmax.png
             |image=Softmax.png
             }}
             }}

Versione delle 13:47, 17 ago 2024

Softmax
Nome Inglese Softmax
Sigla


Softmax, anche chiamata softargmax o funzione esponenziale normalizzata, è una Funzione di Attivazione che viene utilizzata dopo l'ultimo layer delle reti neurali per trasformare i logit in probabilità, nell'ambito di classificazione multiclasse (per la classificazione binaria si usa la funzione sigmoide.

La funzione Softmax mette in evidenza i valori più grandi e "nasconde" quelli che sono significativamente più piccoli del valore massimo: la somma dei valori tornati dalla funzione è uguale a 1.0.

Spesso viene utilizzato logaritmo di Softmax, chiamato log-softmax, in quanto presenta caratteristiche di trattabilità matematica migliori: log softmax va da -inf (probabilità 0) a zero (prob 1), e questa sua estensione permette al processo di ottimizzazione di non dover agire sui valori con una gamma piccola come quelli di probabilità (0-1).



Un esempio in pytorch:

x = torch.randn(1, 3, 224, 224)
logits = m(x)
logits 
 
>> tensor([[-0.2135, -0.0248,  3.985, -4.235, -0.1831]], grad_fn=<AddmmBackward0>)


scores = torch.softmax(logits)
scores 


>> tensor([[0.0096, 0.0117, 0.9765, 0.0002, 0.0020]], grad_fn=<SoftmaxBackward0>)

Links

https://en.wikipedia.org/wiki/Activation_function