¿Por qué las funciones de activación periódica (como el seno) no se usan comúnmente para redes neuronales?

Probablemente debido al teorema de las otras respuestas declaradas. Pero no creo que ese sea el caso. Por lo general, las personas implementan un algoritmo que sigue todos sus estándares, para garantizar que permanezcan seguros. Pero a veces, eso podría ser un problema. Creo que afirmar que el teorema no es una solución clara a esta pregunta porque creo que el algoritmo funciona bien incluso cuando se utilizan funciones periódicas.

El mecanismo de actualización (retropropagación) es [matemática] w_i (t + 1) = w_i (t) – \ alpha \ frac {\ partial E} {\ partial w_i} + w \ beta [/ math]. No parece que este método dependa de la condición “la función debería estar aumentando”.

El motivo principal de la prórroga hacia atrás es minimizar el error. Entonces, la función de error se diferencia parcialmente de cada uno de los valores de peso, para encontrar la dirección exacta a seguir para reducir el error general (aquí, por dirección me refiero a la dirección en una recta numérica real donde el valor de peso es un punto en él )

La diferenciación no requiere la condición de que la función debe estar aumentando monotónicamente. Entonces, independientemente de la función de transferencia, siempre que usemos la diferenciación para determinar cómo debemos alterar el valor del peso (o determinar en qué dirección debemos movernos para minimizar el error) no habrá ningún problema (siempre que el la función es diferenciable); El pecado es diferenciable.

La expresión [math] \ frac {\ partial E} {\ partial w_i} [/ math] determina cómo cambia el valor de E con [math] w_i [/ ​​math]. Entonces, si da un valor negativo, es obvio que el cambio [math] w_i: = w_i + \ partial w_i [/ ​​math] reduce el error. Porque, la expresión [matemática] \ frac {\ parcial E} {\ parcial w_i} [/ matemática] representa la pendiente de la gráfica trazada entre [matemática] E [/ matemática] y [matemáticas] w_i [/ ​​matemáticas] . Esta reducción de error es independientemente de si la función es periódica. Solo es necesario que la función sea diferenciable. Pero qué información no es proporcionada por esta expresión es, por cuánto valor podemos incrementar [math] w_i [/ ​​math] sin cruzar los mínimos locales . Entonces, el valor de incremento se basa totalmente en la especulación (es por eso que no tenemos una tasa de aprendizaje constante). Además, será prudente definir el valor de incremento proporcional a [math] \ frac {\ partial E} {\ partial w_i} [/ math].

Esto se debe a que cuanto más inclinada es la pendiente, más rápido se moverá el vector de peso (que contiene todos los valores de peso) (cambiará sus valores). Esto hace que el sistema sea más volátil cuando se acerca a los mínimos. Incluso si excede los mínimos locales, su volatilidad hará que se mueva más rápido al punto mínimo. El punto (representado por el vector de peso en un hiperespacio) oscila antes de estabilizarse. Si el valor de incremento es constante, aumentaría la posibilidad de que el sistema se estabilice en un mínimo local inexacto. Esto se debe a que la representación 2D del espacio de error (error de todo el conjunto de datos de entrenamiento) (en mi caso, asigné colores al error. El rojo representa un error alto y el azul representa un error más bajo. Y cualquiera de los dos valores de peso son elegido para ser trazado a lo largo del eje X y el eje Y) parece una “onda ondulación” con un lado de la onda más grande que el otro. El lado de la ola más cercano a los mínimos mundiales es más pequeño. Entonces, si el valor del incremento fue proporcional a [math] \ frac {\ partial E} {\ partial w_i} [/ math], entonces la onda más grande agregará una gran cantidad de “empuje” haciendo que el vector se mueva hacia la onda más pequeña . Pero la onda más pequeña no tendrá suficiente “empuje” para empujar el punto hacia atrás. Pero si el valor de incremento fue constante, no será posible diferenciar entre la “ondulación más grande” y la más pequeña. Por lo tanto, se quedaría atrapado inmediatamente entre dos pequeñas ondas (mínimos locales).

(He probado las cosas anteriores anteriormente, el código se puede encontrar aquí: MachineLearning No sé si contiene el ejemplo completo que demuestra lo anterior. Lo publiqué hace mucho tiempo: p).

Volviendo al tema, creo que mientras se mantenga la expresión de propagación hacia atrás, no hay necesidad de crear condiciones adicionales.

Si este es el caso, no sé exactamente por qué el teorema tiene una condición adicional. ¿Probablemente para hacerlo prácticamente factible? No lo he probado todavía. O también podría ser que el autor quería estar en un “lado más seguro”, sin arriesgarse con el teorema que escribió.

He hablado en contra de un teorema bien aceptado. ¡Podría estar equivocado, si lo estoy, por favor, indícame! ¡Gracias!

EDITAR:

Si su sistema de red neuronal necesita aprender una función periódica, será aconsejable utilizar sin para la activación. ¡Porque, a través de la aproximación de Fourier, puede hacer que su sistema de red neuronal aprenda funciones periódicas! Pero en la mayoría de los escenarios, no es necesario. Hay un patrón más observable. Si sigue incrementando los valores en la entrada hasta casi el infinito en una red con activación sigmoidea, entonces la salida comienza a aumentar o disminuir estrictamente. Pero en el caso de un sistema de red neuronal con activación de pecado, la solución completa se repetirá periódicamente. Por ejemplo, si su sistema ANN está entrenado para trabajar dentro del rango -1 a 1 y, por alguna razón, de repente ingresa [math] x + k, x \ in {-1, 1} [/ math] donde [math ] k [/ math] es un número entero con un gran valor. Entonces se puede observar la misma clase de salida para la que el sistema fue entrenado originalmente. En circunstancias normales, esperaría que el sistema proporcione una salida inapropiada para indicar un error.

¿Conoces el teorema de aproximación universal?

Establece que una red neuronal con una capa oculta puede aproximarse a cualquier función, dado que la función de activación está aumentando y es finita (con un mínimo y un máximo).

La función pecado no es una función creciente. Entonces no se encuentra en este teorema.

No significa que no puedas aprender nada con el pecado, pero significa que no tienes ninguna garantía al respecto.

Eso es para la parte teórica.
En la parte práctica, diré que incluso con dos conjuntos que son linealmente separables, será difícil separarlos con la función sin, si no tienen la misma distribución.

El seno es una función periódica. Por lo tanto, un valor de entrada bajo y uno alto puede producir la misma salida; en otras palabras, los valores de entrada bajos y altos se ven por igual a través de un seno, que arroja la magnitud de la señal de entrada.

Edición posterior: por otro lado … parece que otros chicos probaron el coseno como función de activación, como se muestra en la sección 6.3.3 de Deep Learning:

Para proporcionar un ejemplo concreto, los autores probaron una red de avance utilizando h = cos (W x + b) en el conjunto de datos MNIST y obtuvieron una tasa de error de menos del 1%, que es competitiva con los resultados obtenidos utilizando funciones de activación más convencionales. Durante la investigación y el desarrollo de nuevas técnicas, es común probar muchas funciones de activación diferentes y encontrar que varias variaciones en la práctica estándar tienen un rendimiento comparable. Esto significa que generalmente los nuevos tipos de unidades ocultas se publican solo si se demuestra claramente que proporcionan una mejora significativa.

Ver también: Redes neuronales con funciones de activación periódicas y monotónicas: un estudio comparativo en problemas de clasificación.

Porque son periódicos. ¡Una entrada a seno que es muy baja y muy alta producirá la misma salida!