Yan LeCun e outros argumentam no Efficient BackProp que
A convergência geralmente é mais rápida se a média de cada variável de entrada no conjunto de treinamento for próxima de zero. Para ver isso, considere o caso extremo em que todas as entradas são positivas. Os pesos de um nó específico na primeira camada de peso são atualizados por uma quantidade proporcional a δx onde δ é o erro (escalar) nesse nó x é o vetor de entrada (consulte as equações (5) e (10)). Quando todos os componentes de um vetor de entrada são positivos, todas as atualizações de pesos que alimentam um nó terão o mesmo sinal (ou seja, sinal ( δ )). Como resultado, esses pesos só podem diminuir ou aumentar juntospara um determinado padrão de entrada. Assim, se um vetor de peso deve mudar de direção, ele só pode fazê-lo em zigue-zague, o que é ineficiente e, portanto, muito lento.
É por isso que você deve normalizar suas entradas para que a média seja zero.
A mesma lógica se aplica às camadas intermediárias:
Essa heurística deve ser aplicada em todas as camadas, o que significa que queremos que a média das saídas de um nó seja próxima de zero, porque essas saídas são as entradas para a próxima camada.
O postscript @craq destaca que esta citação não faz sentido para ReLU (x) = max (0, x), que se tornou uma função de ativação amplamente popular. Embora o ReLU evite o primeiro problema em zigue-zague mencionado por LeCun, ele não resolve este segundo ponto por LeCun, que afirma ser importante empurrar a média para zero. Gostaria muito de saber o que LeCun tem a dizer sobre isso. De qualquer forma, existe um documento chamado Normalização em lote , que se baseia no trabalho de LeCun e oferece uma maneira de resolver esse problema:
Sabe-se há muito tempo (LeCun et al., 1998b; Wiesler & Ney, 2011) que o treinamento em rede converge mais rapidamente se suas entradas são embranquecidas - isto é, linearmente transformadas para ter zero média e variação de unidades, e correlacionadas. Como cada camada observa os insumos produzidos pelas camadas abaixo, seria vantajoso obter o mesmo clareamento dos insumos de cada camada.
A propósito, este vídeo de Siraj explica muito sobre as funções de ativação em 10 minutos divertidos.
@elkout diz "O verdadeiro motivo pelo qual o tanh é preferido em comparação ao sigmóide (...) é que os derivados do tanh são maiores que os derivados do sigmóide".
Eu acho que isso não é problema. Eu nunca vi isso ser um problema na literatura. Se lhe incomoda que um derivado seja menor que outro, você pode apenas escalá-lo.
A função logística tem a forma σ( x ) = 11 + e- k x . Normalmente, usamosk = 1, mas nada o proíbe de usar outro valor parakpara aumentar suas derivadas, se esse era o seu problema.
Nitpick: tanh também é uma função sigmóide . Qualquer função com a forma S é um sigmóide. O que vocês estão chamando de sigmóide é a função logística. A razão pela qual a função logística é mais popular são as razões históricas. É utilizado há mais tempo por estatísticos. Além disso, alguns acham que é mais biologicamente plausível.