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.