Escolho a função de ativação para a camada de saída, dependendo da saída necessária e das propriedades da função de ativação que conheço. Por exemplo, eu escolho a função sigmóide quando estou lidando com probabilidades, uma ReLU quando estou lidando com valores positivos e uma função linear quando estou lidando com valores gerais.
Em camadas ocultas, uso um ReLU com vazamento para evitar neurônios mortos em vez do ReLU e o tanh em vez do sigmóide. Claro, eu não uso uma função linear em unidades ocultas.
No entanto, a escolha deles na camada oculta deve-se principalmente a tentativa e erro.
Existe alguma regra prática sobre qual função de ativação provavelmente funcionará bem em algumas situações? Pegue o termo situações o mais geral possível: pode estar se referindo à profundidade da camada, à profundidade do NN, ao número de neurônios dessa camada, ao otimizador que escolhemos, ao número de recursos de entrada do NN. nessa camada, à aplicação deste NN, etc.
Em sua resposta , cantordust refere-se a outras funções de ativação que não mencionei, como ELU e SELU. Essas informações são mais do que bem-vindas. No entanto, quanto mais funções de ativação descubro, mais confuso estou na escolha da função a ser usada em camadas ocultas. E não acho que jogar uma moeda seja uma boa maneira de escolher uma função de ativação.
fonte
Não sei em que tipo de redes neurais você está trabalhando. Mas também se deve considerar as funções de ativação tanh ao lidar com redes neurais recorrentes. O porquê é evitar a explosão de problemas de gradiente, pois a função tanh é limitada pela diferença da função RELU, por exemplo.
fonte