Activation Function

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:

  1. 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.

  2. 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