Softmax: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| (9 versioni intermedie di 3 utenti non mostrate) | |||
| Riga 1: | Riga 1: | ||
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 (Reti Neurali)|logit]] in probabilità, nell'ambito di classificazione multiclasse (per la classificazione binaria si usa [[Sigmoide| | {{Template concetto | ||
|NomeInglese=Softmax | |||
}} | |||
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 (Reti Neurali)|logit]] in probabilità, nell'ambito di classificazione multiclasse (per la classificazione binaria si usa la funzione [[Sigmoide|sigmoide]]. La sua formula è: | |||
<math>softmax(z_i) = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}}</math> | |||
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). | |||
| Riga 19: | Riga 29: | ||
>> tensor(<nowiki>[[0.0096, 0.0117, 0.9765, 0.0002, 0.0020]]</nowiki>, grad_fn=<SoftmaxBackward0>) | >> tensor(<nowiki>[[0.0096, 0.0117, 0.9765, 0.0002, 0.0020]]</nowiki>, grad_fn=<SoftmaxBackward0>) | ||
=== Links === | |||
https://en.wikipedia.org/wiki/Activation_function | |||
{{#seo: | |||
|title=Softmax | |||
|title_mode=append | |||
|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. | |||
|image=Softmax.png | |||
}} | |||
Versione attuale delle 09:06, 21 nov 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 sua formula è:
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