Qual é a diferença entre os neurônios tangentes hiperbólicos e sigmóides?

8

Duas funções de ativação comuns usadas no aprendizado profundo são a função tangente hiperbólica e a função de ativação sigmóide. Entendo que a tangente hiperbólica é apenas um redimensionamento e tradução da função sigmóide:

tanh(z)=2σ(z)-1 1.

Existe uma diferença significativa entre essas duas funções de ativação e, em particular, quando uma é preferível à outra ?

Percebo que em alguns casos (como ao estimar probabilidades) as saídas no intervalo de são mais convenientes do que as saídas que variam de . Quero saber se existem outras diferenças além da conveniência que distinguem as duas funções de ativação.[0 0,1 1][-1 1,1 1]

bpachev
fonte

Respostas:

3

Não acho que faça sentido decidir funções de ativação com base nas propriedades desejadas da saída; você pode inserir facilmente uma etapa de calibração que mapeia a 'pontuação da rede neural' para as unidades que você realmente deseja usar (dólares, probabilidade etc.).

Então, acho que a preferência entre diferentes funções de ativação se resume principalmente às propriedades diferentes dessas funções de ativação (como se elas são continuamente diferenciáveis ​​ou não). Como há apenas uma transformação linear entre os dois, acho que isso significa que não há uma diferença significativa entre eles.

Matthew Graves
fonte
2

Sigmoide> Tangente hiperbólica:

Como você mencionou, a aplicação do Sigmoid pode ser mais conveniente do que a tangente hiperbólica nos casos em que precisamos de um valor de probabilidade na saída (como @ matthew-graves diz, podemos corrigir isso com uma simples etapa de mapeamento / calibração). Em outras camadas, isso não faz sentido.

Tangente hiperbólica> Sigmoide:

A tangente hiperbólica tem uma propriedade chamada "aproxima a identidade perto da origem", o que significa tanh(0 0)=0 0, tanh(0 0)=1 1e tanh(z) é contínuo ao redor z=0 0 (em oposição a σ(0 0)=0,5 e σ(0 0)=0,25) Esse recurso (que também existe em muitas outras funções de ativação, como identidade , arctan e sinusóide ) permite que a rede aprenda com eficiência, mesmo quando seus pesos são inicializados com valores pequenos. Noutros casos (por exemplo sigmóideas e Relu ) estes pequenos valores iniciais pode ser problemático.

Leitura adicional:

Inicialização de passeio aleatório para treinamento de redes feedforward muito profundas

Borhan Kazimipour
fonte