¿Cuáles son las desventajas de [math] abs (x) [/ math] como función de activación en redes neuronales?

No hay ningún problema fundamental con el uso de [math] abs (x) [/ math] como activación. Debido a que es diferenciable en todas partes excepto en [matemática] x = 0 [/ matemática], se puede usar fácilmente en el descenso de gradiente [definiendo el gradiente en [matemática] x = 0 [/ matemática] como cero].

Las personas generalmente experimentan con diferentes funciones de activación, y encuentran que algunas funciones de activación funcionan mejor que otras en problemas específicos, pero la mayoría de las veces, no afecta significativamente la precisión de la red. Y no hay una buena comprensión de qué activaciones funcionarían mejor, a menos que experimente con ellas.

Sin embargo, lo que sucede es que diferentes funciones de activación podrían ser más fáciles o más difíciles de entrenar. Por ejemplo, sigmoide es más difícil de entrenar, porque a menos que esté dentro de [-2, 2], sus gradientes son casi cero.

Del mismo modo, [math] abs (x) [/ math] es una función no monotónica, que suele ser un poco más difícil de entrenar. Esencialmente, si su función de activación es convexa y monotónica, preservará la convexidad de la entrada. Pero esto no es cierto si la función de activación no es convexa o no es monotónica [o ambas]. Si bien las redes neuronales no son convexas, agregar más transformaciones no convexas probablemente aumentará la dificultad de la optimización: partes de la entrada que eran convexas localmente también se vuelven no convexas ahora en el lado de salida, y agrega muchos más óptimos locales.

No puede diferenciar los abs (x) gracias a ese ángulo agudo que se necesita para x == 0. Las matemáticas generalmente no les gustan funciones como esta. La cuestión es que la función de diferenciación a menudo ayuda cuando intenta cambiar los valores a tiempo. De hecho, eso es exactamente lo que es la diferenciación, medida en el tiempo.

Casualmente, el aprendizaje es en realidad un proceso de cambio de pesos en el tiempo debido a las entradas y salidas esperadas.

En la práctica, esto se convierte en un gran problema durante la retropropagación. Técnica para determinar el cambio que es necesario para los pesos para que la red neuronal produzca los resultados esperados.

No será un gran problema con los algoritmos genéticos, pero como regla general, en matemáticas aplicadas, tiendes a usar funciones suaves porque nunca sabes cuándo puede ser útil.

La función [math] abs (x) [/ math] no es diferenciable.

La función de activación sigmoidea [matemática] \ sigma (x) [/ matemática] es diferenciable y conduce a una implementación muy eficiente de la propagación hacia atrás en el entrenamiento de NNs. en efecto

[matemática] \ frac {\ partial \ sigma (x)} {dx} = \ sigma (x) (1- \ sigma (x)) [/ math]

y esto resulta ser una forma conveniente de calcular eficientemente los gradientes utilizados en las redes neuronales: si uno guarda en la memoria las activaciones de la función logística para una capa dada, los gradientes de esa capa pueden evaluarse usando simple multiplicación y sustracción en lugar de realizar una reevaluación de la función sigmoidea, que requiere exponenciación adicional. Ver The Clever Machine para otras alternativas al sigmoide.

Además de la discusión de las otras respuestas sobre la diferenciabilidad, hay otro tipo de problema con abs (x). Todas las funciones de activación comúnmente utilizadas son monótonas, es decir, no disminuyen o no aumentan. Una razón para esto es bastante intuitiva. En el caso de una sola capa, una función monotónica permite la convexidad, mientras que una función no monotónica como los abdominales rompe la convexidad. Además de hacer que el problema de optimización sea más difícil, el abs introduce una simetría innecesaria; si valoras cosas como un modelo simple y parsimonioso, ¿por qué quieres proliferar formas duplicadas para que tu red neuronal calcule la misma función? Se puede esperar que esta complicación desmotivada de la superficie de pérdida continúe a medida que agrega capas a pesar de que la convexidad está fuera de la puerta incluso con funciones de activación monotónica.

Lo primero que me viene a la mente es que tener un cambio brusco en 0 empujará fácilmente su sistema a un estado oscilatorio, en lugar de alcanzar puntos estables de manera agradable y sin problemas.

Combine esto con la naturaleza simétrica de los abdominales (x) y es aún más probable que vea algunas oscilaciones locas y curvas muy difusas en el diagrama de fase de su sistema.

Lo último que hay que mencionar es que no tener una versión rectificada de abs (x) hará explotar su sistema en la dirección negativa o positiva con bastante rapidez.

No me interesan específicamente las redes neuronales, pero he trabajado con ellas por períodos cortos / largos y he realizado algunas neurociencias computacionales, en el nivel de modelado de células individuales.

Una función de activación puede interpretarse como la excitación de la neurona (o tal vez la activación de la neurona) al ver lo que recibe de la linealidad en la entrada.

Los valores positivos significan que sí, estas características excitan a la neurona. Los valores negativos, por otro lado, no excitan a la neurona.

Entonces, cuando tienes los abdominales (x) como activación, básicamente eliminas el propósito de la activación, ahora la neurona se puede activar para ambos extremos de la entrada, valores muy positivos y muy negativos.

** ¡No es diferenciable a 0! Podría ser difícil hacer BackProp a través de dicha red.

No se preocupe demasiado por que los abdominales (x) no sean diferenciables: es localmente diferenciable, y eso es lo que le importa a la pendiente de gradiente, incluso si da ardor de estómago a los matemáticos de mentalidad lineal. Ni siquiera se preocupe por la reversión del gradiente alrededor de cero: si un algoritmo se atasca en eso, tiene peores problemas que necesita solucionar.

El verdadero problema es que simplemente no tira de su peso en comparación con otras funciones en problemas del mundo real: abs (predatorWeight-20kg) vs relu (predatorWeight-20kg) simplemente no es la función óptima cuando se enfrenta a un animal desconocido. A veces puede tener sentido, por ejemplo, abs (p0-p1) es un detector de bordes, pero las funciones max, min y lineales apiladas tenderán a aprender los bordes y las características más generales de una manera más útil: con max (), min () , relu (), etc., puedes romper la simetría y dirigirte a una solución interesante, abs () no te da eso.

Creo que una de las razones por las que no es popular es que puede realizarse mediante una función más fundamental como ReLU o una función lineal, compuesta con una lógica simple. Esto no es bueno en la filosofía del conexionismo. Y en cierta medida contradice la intención original de la “función de activación” como “neurona”: debería inactivarse en alguna región de medida positiva.

More Interesting

¿Cómo calificaría un buen algoritmo, buenos datos, buena ingeniería de características en términos de efectividad para el aprendizaje automático?

¿Por qué los investigadores de sistemas informáticos no creen en la IA o la aplican a problemas en los 'sistemas informáticos'?

Cómo conseguir un trabajo de nivel de entrada en India en el campo de la robótica, la inteligencia artificial o el aprendizaje automático

¿Cuáles son algunos algoritmos que un científico de datos debe saber y comprender?

Cómo guardar un modelo de red neuronal de convolución después del entrenamiento

¿Cuáles son las ideas principales detrás de los principales algoritmos de clasificación de búsqueda?

¿Qué significan las redes bayesianas en Machine Learning?

¿Qué tipo de matemática se usa en el aprendizaje automático? ¿Puedo aprender ML sin él?

¿Cómo se convierten los físicos en ingenieros de aprendizaje automático?

¿Cuál es la forma correcta de calcular la similitud de coseno entre una consulta y un documento? Cuando calculo la magnitud del documento, ¿sumo los cuadrados de todos los términos del documento o solo los de la consulta?

¿Puede Quora generar un patrón para el futuro de las personas con sus respuestas y preguntas?

¿Dónde puedo encontrar un conjunto de datos satelitales espaciales?

¿Se puede dividir un modelo de regresión logística multinomial en modelos de regresión logística binarios separados?

¿Qué sucederá si divido mis datos en 50:50 para capacitación y pruebas?

¿Cuál es la mejor red neuronal o SVM para la clasificación de texto de etiquetas múltiples?