$\sin(x)$ parece centrado en cero, lo cual es una propiedad deseable para las funciones de activación. Incluso el gradiente no desaparece en ningún punto. No estoy seguro de si la naturaleza oscilante de la función o su gradiente puede causar algún problema durante la retropropagación.
Respuestas
¿Demasiados anuncios?Aquí hay un artículo dedicado a esta misma cuestión:
Parascandolo y Virtanen (2016) . Domando las ondas: el seno como función de activación en las redes neuronales profundas.
Algunos puntos clave del documento:
-
Las funciones de activación sinusoidales se han ignorado en gran medida y se consideran difíciles de entrenar.
-
Revisan los trabajos anteriores que tiene utilizaron funciones de activación sinusoidales. La mayoría de estos trabajos son anteriores (antes del boom del "aprendizaje profundo" moderno). Pero hay un par de trabajos más recientes.
-
La naturaleza periódica de las funciones de activación sinusoidales puede dar lugar a una función de coste "ondulante" con malos mínimos locales, lo que puede dificultar el entrenamiento.
-
El problema puede no ser tan grave cuando los datos están dominados por componentes de baja frecuencia (lo que se espera de muchos conjuntos de datos del mundo real). El aprendizaje es más fácil en este régimen, pero es sensible a cómo se inicializan los parámetros de la red.
-
Muestran que las redes con funciones de activación sinusoidales pueden funcionar razonablemente bien en un par de conjuntos de datos del mundo real. Pero, tras el entrenamiento, las redes no utilizan realmente la naturaleza periódica de la función de activación. Más bien, sólo utilizan la región central cercana a cero, donde la sinusoide es casi equivalente a la más tradicional $\tanh$ función de activación.
-
Entrenaron redes recurrentes en una tarea sintética en la que se espera que la estructura periódica sea útil. Las redes aprenden más rápido y son más precisas utilizando $\sin$ en comparación con $\tanh$ funciones de activación. Sin embargo, la diferencia es mayor para las RNN vainilla que para las LSTM.
Aquí hay otro documento relevante:
Ramachandran, Zoph, Le (2017) . Búsqueda de funciones de activación.
Realizaron una búsqueda automática a gran escala sobre las funciones de activación para encontrar nuevas variantes que funcionaran bien. Algunas de las funciones de activación que descubrieron utilizan componentes sinusoidales (pero no son sinusoides puros: también suelen tener un componente monotónico). En el artículo no se habla mucho de estas variantes, excepto para decir que son una interesante dirección de investigación futura.
Seguramente "se puede" utilizar. El hecho de que sea no se utiliza 1 sin embargo, sugiere que no es muy práctico. El gradiente de $\sin$ es realmente cero en $\frac \pi 2+k\pi$ para cualquier número entero $k$ . Creo que el principal problema de utilizar $\sin$ activación es que introduce infinitas simetrías, lo que puede hacer el aprendizaje aún más difícil de lo que es.
Sin embargo, la arquitectura adecuada siempre depende del problema específico y de la representación de los datos que se esté tratando. Estoy seguro de que hay escenarios en los que la adaptación $\sin$ en la red puede no sólo tener sentido, sino también mejorar el rendimiento.
1 Es decir, no ser de uso común. En la medida en que no lo he visto siempre que se utiliza (aunque mi experiencia se limita a los problemas de visión por ordenador). Desde luego, no es una de las no linealidades de aplicación general, como la ReLU o la sigmoidea.
Esto fue parte de mi tesis de maestría. He investigado y mencionado publicaciones anteriores sobre el uso de la función seno como activación y como función base. Además, he diseñado varias versiones diferentes de la función sinusoidal y las he utilizado como función base en las redes neuronales artificiales en sustitución de la función lineal. Fue el año pasado. Puedes encontrar el artículo que representa la parte de mi tesis sobre el "uso del seno" en el enlace: CSIMQ Lo mencioné en el artículo, pero también puedes buscar Redes Neuronales de Fourier para este tema. Las redes neuronales artificiales que utilizan la función senoidal como base se llaman así en su mayoría. Además, he compartido varios artículos en Medium sobre este tema que pueden ayudarte. Creación de verdades alternativas con la función de activación sinusoidal en las redes neuronales Redes neuronales sinusoidales para la clasificación de dígitos Redes neuronales con función de base sinusoidal