Scelgo la funzione di attivazione per il livello di output in base all'output di cui ho bisogno e alle proprietà della funzione di attivazione che conosco. Ad esempio, ho scelto la funzione sigmoide quando ho a che fare con le probabilità, una ReLU quando ho a che fare con valori positivi e una funzione lineare quando ho a che fare con valori generali.
In strati nascosti, uso una ReLU che perde per evitare i neuroni morti invece della ReLU e l'abbronzatura invece del sigmoide. Naturalmente, non utilizzo una funzione lineare in unità nascoste.
Tuttavia, la scelta per loro nel livello nascosto è principalmente dovuta a tentativi ed errori.
Esiste una regola empirica per la quale è probabile che la funzione di attivazione funzioni bene in alcune situazioni? Prendi il termine situazioni il più generale possibile: potrebbe riferirsi alla profondità dello strato, alla profondità dell'NN, al numero di neuroni per quello strato, all'ottimizzatore che abbiamo scelto, al numero di caratteristiche di input di quello strato, all'applicazione di questo NN, ecc.
Nella sua risposta , cantordust si riferisce ad altre funzioni di attivazione che non ho menzionato, come ELU e SELU. Queste informazioni sono più che benvenute. Tuttavia, più funzioni di attivazione scopro, più sono confuso nella scelta della funzione da utilizzare nei livelli nascosti. E non penso che lanciare una moneta sia un buon modo di scegliere una funzione di attivazione.