Junior — Middle
Quali sono i problemi della funzione di attivazione Sigmoid? Dove viene applicata e come viene interpretata?
sobes.tech AI
Risposta dell'AI
La funzione di attivazione Sigmoid ha la forma:
[ \sigma(x) = \frac{1}{1 + e^{-x}} ]
Trasforma qualsiasi valore di input in un intervallo (0, 1), utile per interpretarlo come probabilità.
Problemi della Sigmoid:
- Gradienti che si attenuano: Per valori di input di grande magnitudine, la derivata della funzione è vicina a zero, rallentando l’addestramento di reti profonde.
- Non centrato: L’output è sempre positivo, il che può rallentare la convergenza della discesa del gradiente.
- Saturazione: Per valori positivi o negativi grandi, la funzione si "satura" e i gradienti diventano molto piccoli.
Applicazione:
- Spesso usata nell’ultimo strato per compiti di classificazione binaria, dove l’output è interpretato come probabilità di appartenenza a una classe.
Interpretazione:
Il valore della funzione può essere interpretato come la probabilità che un oggetto appartenga alla classe positiva. Ad esempio, un output di 0.9 indica il 90% di probabilità.
Esempio di utilizzo in Python:
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
output = sigmoid(2.0) # circa 0.88
Nelle reti profonde moderne, si preferiscono spesso ReLU e le sue varianti a causa dei problemi della Sigmoid.