¿Cuál es la diferencia entre la tangente hiperbólica y las neuronas sigmoideas?

8

Dos funciones de activación comunes utilizadas en el aprendizaje profundo son la función tangente hiperbólica y la función de activación sigmoidea. Entiendo que la tangente hiperbólica es solo un cambio de escala y traducción de la función sigmoidea:

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

¿Existe una diferencia significativa entre estas dos funciones de activación y, en particular, cuándo es preferible una a la otra ?

Me doy cuenta de que en algunos casos (como cuando se estiman las probabilidades) las salidas en el rango de son más convenientes que las salidas que van desde . Quiero saber si hay otras diferencias además de la conveniencia que distinguen las dos funciones de activación.[0 0,1][-1,1]

bpachev
fuente

Respuestas:

3

No creo que tenga sentido decidir las funciones de activación basadas en las propiedades deseadas de la salida; puede insertar fácilmente un paso de calibración que asigne el 'puntaje de la red neuronal' a las unidades que realmente quiera usar (dólares, probabilidad, etc.).

Entonces, creo que la preferencia entre diferentes funciones de activación se reduce principalmente a las diferentes propiedades de esas funciones de activación (como si son o no continuamente diferenciables). Debido a que solo hay una transformación lineal entre los dos, creo que eso significa que no hay una diferencia significativa entre ellos.

Matthew Graves
fuente
2

Sigmoide> Tangente hiperbólica:

Como mencionó, la aplicación de Sigmoid podría ser más conveniente que la tangente hiperbólica en los casos en que necesitemos un valor de probabilidad en la salida (como dice @ matthew-graves, podemos solucionar esto con un simple paso de mapeo / calibración). En otras capas, esto no tiene sentido.

Tangente hiperbólica> Sigmoide:

La tangente hiperbólica tiene una propiedad llamada "identidad aproximada cerca del origen" que significa tanh(0)=0 0, tanh(0 0)=1y tanh(z) es continuo alrededor z=0 0 (Opuesto a σ(0 0)=0,5 y σ(0 0)=0.25) Esta característica (que también existe en muchas otras funciones de activación, como identidad , arctan y sinusoide ) permite que la red aprenda de manera eficiente incluso cuando sus pesos se inicializan con valores pequeños. En otros casos (por ejemplo sigmoideas y relu ) estos pequeños valores iniciales pueden ser problemático.

Otras lecturas:

Inicialización de caminata aleatoria para entrenar redes de alimentación muy profundas

Borhan Kazimipour
fuente