70 votos

¿Por qué es tanh casi siempre mejor que sigmoide como una función de activación?

En Andrew Ng Redes Neuronales y el Aprendizaje Profundo curso en Coursera dice que el uso de $tanh$ es casi siempre preferible el uso de $sigmoid$.

La razón que da es que las salidas de uso $tanh$ centro de alrededor de 0 en lugar de $sigmoid$'s de 0,5, y esto "hace que el aprendizaje para la siguiente capa un poco más fácil".

  1. ¿Por qué centrar la activación de la salida de la velocidad de aprendizaje? Supongo que se refiere a la capa anterior como el aprendizaje ocurre durante backprop?

  2. Hay otras características que hacen de $tanh$ preferible? Sería el más pronunciado gradiente de demora de fuga gradientes?

  3. Hay situaciones en las $sigmoid$ sería preferible?

Matemáticas-luz, intuitiva respuestas preferido.

44voto

Paul Hinett Puntos 630

Yan LeCun y otros argumentan en Eficiente BackProp que

La convergencia es en general más rápido si el promedio de cada variable de entrada sobre el conjunto de entrenamiento es cercana a cero. Para ver esto, considere el caso extremo en el que todas las entradas son positivos. Pesos a un nodo en particular en el primer peso de la capa son actualizados por una cantidad proporcional a $\delta x$ donde $\delta$ el (escalares) error en ese nodo y $x$ es el vector de entrada (ver ecuaciones (5) y (10)). Cuando todos los componentes de un vector de entrada son positivas, todas las actualizaciones de pesos que se alimentan en un nodo tendrá el mismo signo (es decir, de signo($\delta$)). Como resultado, estos pesos sólo puede disminuir o aumentar juntos para un determinado patrón de entrada. Por lo tanto, si un peso vector debe cambiar de dirección sólo puede hacerlo por la zigzagueante que es ineficiente y por lo tanto muy lento.

Esta es la razón por la que usted debe normalizar sus entradas, por lo que la media es cero.

La misma lógica se aplica a las capas medias:

Esta heurística debe ser aplicado a todas las capas que significa que queremos que el promedio de las salidas de un nodo a ser cercana a cero debido a que estas salidas son las entradas a la capa siguiente.

Aquí está la obligatoriedad de vídeo por Siraj donde se explica todo esto en 10 minutos de diversión.


@elkout dice que "la verdadera razón por La que tanh es preferido en comparación con sigmoide (...) es que los derivados de la tanh son mayores que los derivados de la sigmoide."

Esto es incorrecto. Me gustaría ver una citación para la presente.

La función logística tiene la forma $\sigma(x)=\frac{1}{1+e^{-kx}}$. Generalmente, utilizamos $k=1$, pero nada prohíbe el uso de otro valor de $k$ para hacer sus derivados más amplio, si ese era su problema.

Pequeñeces: tanh también es una sigmoide función. Cualquier función con forma de S, es una sigmoide. Lo que ustedes están pidiendo sigmoide es la función logística. La razón por la que la función logística es la más popular es la de razones históricas. Se ha utilizado durante un largo tiempo por los estadísticos. Además, algunos sienten que es más plausible biológicamente.

22voto

ncubica Puntos 1353

No es que sea necesariamente mejor que el $\text{sigmoid}$. En otras palabras, no es el centro de una activación de la función que lo hace mejor. Y la idea detrás de ambas funciones es el mismo, y también comparten una similar "tendencia". No hace falta decir que el $\tanh$ función se llama cambiado la versión de la $\text{sigmoid}$ función.

La verdadera razón por la que $\text{tanh}$ es preferido en comparación con $\text{sigmoid}$, especialmente cuando se trata de big data cuando generalmente están luchando para encontrar rápidamente el local (o global) mínimo, es que los derivados de la $\text{tanh}$ son mayores que los derivados de la $\text{sigmoid}$. En otras palabras, usted puede minimizar su función de costo más rápido si se utiliza $\text{tanh}$ como una activación de la función.

Pero, ¿por qué la tangente hiperbólica tienen mayores derivados? Sólo para darle una muy simple intuición puede observar en el siguiente gráfico:

Sigmoid vs Hyperbolic Tangent

El hecho de que el rango está entre -1 y 1 en comparación con el 0 y el 1, hace que la función sea más conveniente para las redes neuronales. Aparte de eso, si yo uso un poco de matemática, puedo demostrar que:

$$\tanh{x} = 2σ(2x)-1$$

Y, en general, se puede demostrar que en la mayoría de los casos $\Big|\frac{\partial\tanh (x)}{\partial x}\Big| > \Big|\frac{\partial\text{σ} (x)}{\partial x}\Big|$.

6voto

Tom Hale Puntos 116

Respondiendo a la parte de la pregunta, hasta ahora no abordados:

Andrew Ng, dice que el uso de la función logística (lo que comúnmente se conoce como sigmoide) realmente sólo tiene sentido en la última capa de una clasificación binaria de la red.

Como la salida de la red se espera que se entre $0$$1$, la logística es una opción perfecta como es la variedad es exactamente $(0, 1)$. No hay escalamiento y desplazamiento de $tanh$ requerido.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X