Activation Function
Definizione: Una funzione di attivazione è una funzione matematica applicata all'output ponderato di un neurone. Decide se il neurone deve essere "attivato" (ovvero, se il suo segnale deve passare allo strato successivo) e, in tal caso, con quale intensità.

Le funzioni di attivazione sono fondamentali nel processo di apprendimento delle reti neurali.
tipi di funzioni di attivazione
Le funzioni di attivazione comuni includono la funzione Sigmoid, la funzione tangente iperbolica (tanh), la funzione ReLU (Rectified Linear Unit) e la funzione softmax.
La funzione Sigmoid ha limitazioni, come il problema del gradiente che svanisce, poiché i gradienti diventano molto piccoli in alcune aree, impedendo l'apprendimento efficace.
funzione Sigmoid e tangente iperbolica
La funzione Sigmoid produce valori compresi tra 0 e 1 ed è asimmetrica rispetto all'origine, il che può essere problematico.
La funzione tangente iperbolica è simile alla Sigmoid, ma è simmetrica e varia tra -1 e 1, sebbene anch'essa possa soffrire del problema del gradiente che svanisce.
funzione ReLU e softmax
La funzione ReLU è la più utilizzata nelle reti neurali moderne, poiché attiva solo alcuni neuroni alla volta, rendendo la rete più efficiente e aiutando a superare il problema del gradiente che svanisce.
La funzione softmax è utile per i problemi di classificazione, poiché converte le uscite in probabilità, facilitando l'assegnazione delle classi agli input.




PRESENTA SIMMETRIA.





È estremamente comune e spesso necessario utilizzare diverse funzioni di attivazione in contemporanea all'interno della stessa rete neurale.
La rete è composta da diversi strati, e la funzione di attivazione viene scelta in base allo scopo di quello specifico strato:
Strati Nascosti (Hidden Layers): Questi strati usano funzioni come la ReLU (o varianti) o la Tanh per introdurre la non-linearità e consentire alla rete di apprendere relazioni complesse.
Strato di Output (Output Layer): L'ultimo strato usa una funzione scelta specificamente per il tipo di problema che stai risolvendo (classificazione, regressione, ecc.). Ad esempio, la Sigmoide o la Softmax.
la scelta della funzione di attivazione nell'ultimo strato (output) è cruciale e dipende dal compito finale!
La scelta ricade "quasi sempre" tra Sigmoide e Softmax, e la differenza è nel tipo di classificazione:
Sigmoide (o Logistica): Usata per la Classificazione Binaria (due classi, ad esempio: VERO/FALSO, Sì/No). Trasforma l'input in un valore compreso tra 0 e 1, rappresentando la probabilità che l'input appartenga alla classe positiva.
Softmax: Usata per la Classificazione Multi-classe (più di due classi mutualmente esclusive, ad esempio: Cane, Gatto, Uccello). Trasforma l'output di ogni neurone in una distribuzione di probabilità, dove la somma di tutte le probabilità è esattamente 1.
Se la tua rete neurale deve determinare se un'email è spam o non-spam (un problema a due classi), quale di queste due funzioni è la più appropriata per lo strato di output, e perché?
Last updated