Casi todas las funcionalidades proporcionadas por las funciones de activación no lineal están dadas por otras respuestas. Déjame resumirlos:
- Primero, ¿qué significa la no linealidad? ¡Significa algo (una función en este caso) que no es lineal con respecto a una variable / variables dadas, es decir, ``f(c1.x1+c2.x2...cn.xn+b)!=c1.f(x1)+c2.f(x2)...cn.f(xn)+b.
- ¿Qué significa no linealidad en este contexto? Significa que la red neuronal puede aproximar con éxito funciones (hasta un cierto error decidido por el usuario) que no sigue la linealidad o puede predecir con éxito la clase de una función que se divide por un límite de decisión que no es lineal.e
- ¿Por qué ayuda? No creo que pueda encontrar ningún fenómeno del mundo físico que siga directamente la linealidad. Por lo tanto, necesita una función no lineal que pueda aproximarse al fenómeno no lineal. Además, una buena intuición sería cualquier límite de decisión o una función es una combinación lineal de combinaciones polinómicas de las características de entrada (por lo tanto, en última instancia, no lineal).
- Fines de la función de activación? Además de introducir la no linealidad, cada función de activación tiene sus propias características.
Sigmoide 1( 1 + e- ( w 1 ∗ x 1 ... w n ∗ x n + b ))
Esta es una de las funciones de activación más comunes y está aumentando monotónicamente en todas partes. Esto generalmente se usa en el nodo de salida final, ya que aplasta los valores entre 0 y 1 (si se requiere que la salida sea 0
o 1
). Por lo tanto, se considera 1
por encima de 0.5 mientras está por debajo de 0.5 como 0
, aunque puede establecerse un umbral diferente (no 0.5
). Su principal ventaja es que su diferenciación es fácil y utiliza valores ya calculados y supuestamente las neuronas cangrejo herradura tienen esta función de activación en sus neuronas.
Tanh mi( w 1 ∗ x 1 ... w n ∗ x n + b )- e- ( w 1 ∗ x 1 ... w n ∗ x n + b ))( e( w 1 ∗ x 1 ... w n ∗ x n + b )+ e- ( w 1 ∗ x 1 ... w n ∗ x n + b )
Esto tiene una ventaja sobre la función de activación sigmoidea, ya que tiende a centrar la salida a 0, lo que tiene un efecto de mejor aprendizaje en las capas posteriores (actúa como un normalizador de características). Una buena explicación aquí . Los valores de salida negativos y positivos pueden considerarse como 0
y 1
respectivamente. Usado principalmente en RNN's.
Función de activación Re-Lu : esta es otra función de activación simple no lineal (lineal en rango positivo y rango negativo exclusivo el uno del otro) muy común que tiene la ventaja de eliminar el problema de gradiente de desaparición que enfrentan los dos anteriores, es decir, el gradiente tiende a0
como x tiende a + infinito o -infinito. Aquí hay una respuesta sobre el poder de aproximación de Re-Lu a pesar de su aparente linealidad. Los ReLu tienen la desventaja de tener neuronas muertas que resultan en NN más grandes.
También puede diseñar sus propias funciones de activación dependiendo de su problema especializado. Es posible que tenga una función de activación cuadrática que se aproximará mucho mejor a las funciones cuadráticas. Pero luego, debe diseñar una función de costo que debería ser de naturaleza algo convexa, de modo que pueda optimizarla utilizando diferenciales de primer orden y el NN realmente converja a un resultado decente. Esta es la razón principal por la que se utilizan las funciones de activación estándar. Pero creo que con las herramientas matemáticas adecuadas, existe un gran potencial para funciones de activación nuevas y excéntricas.
Por ejemplo, supongamos que está tratando de aproximar una sola función cuadrática variable, digamos . Esto será mejor aproximada por una activación cuadrática w 1. x 2 + b donde w 1 y b serán los parámetros entrenables. Pero diseñar una función de pérdida que siga el método derivado convencional de primer orden (descenso de gradiente) puede ser bastante difícil para una función que no aumenta de forma monótona.a . X2+ cw 1. x2+ bw 1si
Para matemáticos: en la función de activación sigmoidea vemos que e - ( w 1 ∗ x 1 ... w n ∗ x n + b ) es siempre < . Por expansión binomial, o por cálculo inverso de la serie GP infinita obtenemos s i g m( 1 / ( 1 + e- ( w 1 ∗ x 1 ... w n ∗ x n + b ))mi- ( w 1 ∗ x 1 ... w n ∗ x n + b ) 1
= 1 + y + y 2 . . . . . . Ahora en un NN y = e - ( w 1 ∗ x 1 ... w n ∗ x n + b ) . Así obtenemos todas las potencias de y que es igual a e - ( w 1 ∗ x 1 ... w n ∗ x n + b )sigmoid(y)1+y+y2.....y=e−(w1∗x1...wn∗xn+b)ye−(w1∗x1...wn∗xn+b)así, cada potencia de puede considerarse como una multiplicación de varios exponenciales en descomposición basados en una característica x , por ejemplo y 2 = e - 2 ( w 1 x 1 ) ∗ e - 2 ( w 2 x 2 ) ∗ e - 2 ( w 3 x 3 ) ∗ . . . . . . e - 2 ( b )yxy2=e−2(w1x1)∗e−2(w2x2)∗e−2(w3x3)∗ . . . . . . mi- 2 ( b ). Por lo tanto, cada característica tiene algo que decir en la escala de la gráfica de .y2
Otra forma de pensar sería expandir los exponenciales según la serie Taylor:
Entonces obtenemos una combinación muy compleja, con todas las combinaciones polinómicas posibles de variables de entrada presentes. Creo que si una red neuronal está estructurada correctamente, el NN puede ajustar estas combinaciones polinómicas simplemente modificando los pesos de conexión y seleccionando términos polinomiales máximos útiles, y rechazando términos restando la salida de 2 nodos ponderados correctamente.
t a n hEl | tanh | <1
Pero para una prueba matemática formal uno tiene que mirar el Teorema de Aproximación Universal.
Para los no matemáticos, algunos de los mejores puntos de vista visitan estos enlaces:
Funciones de activación por Andrew Ng - para una respuesta más formal y científica
¿Cómo se clasifica el clasificador de redes neuronales simplemente dibujando un plano de decisión?
Función de activación diferenciable
Una prueba visual de que las redes neuronales pueden calcular cualquier función
Si solo tuviera capas lineales en una red neuronal, todas las capas se colapsarían esencialmente en una capa lineal y, por lo tanto, una arquitectura de red neuronal "profunda" ya no sería profunda sino un clasificador lineal.
dóndeW corresponde a la matriz que representa los pesos y sesgos de red para una capa, y F( ) a la función de activación.
Ahora, con la introducción de una unidad de activación no lineal después de cada transformación lineal, esto ya no sucederá.
Cada capa ahora puede acumularse sobre los resultados de la capa no lineal precedente, lo que esencialmente conduce a una función no lineal compleja que es capaz de aproximar cada función posible con la ponderación correcta y suficiente profundidad / ancho.
fuente
Primero hablemos de linealidad . Linealidad significa el mapa (una función),F: V→ W , utilizado es un mapa lineal, es decir, cumple las dos condiciones siguientes
Debe estar familiarizado con esta definición si ha estudiado álgebra lineal en el pasado.
Sin embargo, es más importante pensar en la linealidad en términos de separabilidad lineal de datos, lo que significa que los datos se pueden separar en diferentes clases dibujando una línea (o hiperplano, si hay más de dos dimensiones), que representa un límite de decisión lineal, a través de los datos. Si no podemos hacer eso, entonces los datos no son linealmente separables. Muchas veces, los datos de un problema más complejo (y, por lo tanto, más relevante) no son linealmente separables, por lo que nos interesa modelarlos.
Para modelar los límites de decisión no lineales de los datos, podemos utilizar una red neuronal que introduce la no linealidad. Las redes neuronales clasifican datos que no son linealmente separables mediante la transformación de datos utilizando alguna función no lineal (o nuestra función de activación), por lo que los puntos transformados resultantes se vuelven linealmente separables.
Se utilizan diferentes funciones de activación para diferentes contextos de configuración de problemas. Puede leer más sobre eso en el libro Deep Learning (serie de Computación Adaptativa y Aprendizaje Automático) .
Para ver un ejemplo de datos no linealmente separables, consulte el conjunto de datos XOR.
¿Puedes dibujar una sola línea para separar las dos clases?
fuente
Considere una red neuronal muy simple, con solo 2 capas, donde la primera tiene 2 neuronas y la última 1 neurona, y el tamaño de entrada es 2. Las entradas sonX1 y X1 .
Los pesos de la primera capa sonw11, w12, w21 y w22 . No tenemos activaciones, por lo que las salidas de las neuronas en la primera capa son
Calculemos la salida de la última capa con pesosz1 y z2
Solo sustitutoo1 y o2 y obtendrás:
o
¡Y mira esto! Si creamos NN solo con una capa con pesosz1w11+ z2w21 y z2w22+ z1w12 será equivalente a nuestras 2 capas NN.
La conclusión: sin no linealidad, el poder computacional de un NN multicapa es igual a NN de 1 capa.
Además, puede pensar que la función sigmoidea es diferenciable SI la declaración que da una probabilidad. Y agregar nuevas capas puede crear nuevas combinaciones más complejas de declaraciones IF. Por ejemplo, la primera capa combina características y ofrece probabilidades de que haya ojos, cola y orejas en la imagen, la segunda combina características nuevas y más complejas de la última capa y da la probabilidad de que haya un gato.
Para más información: Guía del hacker sobre redes neuronales .
fuente
Polinomios lineales de primer grado
La no linealidad no es el término matemático correcto. Aquellos que lo usan probablemente tengan la intención de referirse a una relación polinómica de primer grado entre entrada y salida, el tipo de relación que se representaría como una línea recta, un plano plano o una superficie de mayor grado sin curvatura.
Para modelar relaciones más complejas que y = a 1 x 1 + a 2 x 2 + ... + b , se necesita algo más que esos dos términos de una aproximación en serie de Taylor.
Funciones sintonizables con curvatura distinta de cero
Las redes artificiales como el perceptrón multicapa y sus variantes son matrices de funciones con curvatura distinta de cero que, cuando se toman colectivamente como un circuito, se pueden sintonizar con cuadrículas de atenuación para aproximar funciones más complejas de curvatura distinta de cero. Estas funciones más complejas generalmente tienen múltiples entradas (variables independientes).
Las cuadrículas de atenuación son simplemente productos de matriz de vectores, siendo la matriz los parámetros que se sintonizan para crear un circuito que se aproxima a la función curva multivariada más compleja con funciones curvas más simples.
Orientada con la señal multidimensional que ingresa a la izquierda y el resultado aparece a la derecha (causalidad de izquierda a derecha), como en la convención de ingeniería eléctrica, las columnas verticales se llaman capas de activaciones, principalmente por razones históricas. En realidad, son matrices de funciones curvas simples. Las activaciones más utilizadas hoy en día son estas.
La función de identidad a veces se usa para pasar señales intactas por varias razones de conveniencia estructural.
Estos son menos utilizados pero estaban de moda en un momento u otro. Todavía se usan, pero han perdido popularidad porque imponen una sobrecarga adicional en los cálculos de propagación hacia atrás y tienden a perder en los concursos de velocidad y precisión.
El más complejo de estos puede ser parametrizado y todos ellos pueden ser perturbados con ruido pseudoaleatorio para mejorar la confiabilidad.
¿Por qué molestarse con todo eso?
Las redes artificiales no son necesarias para ajustar clases de relaciones bien desarrolladas entre la entrada y la salida deseada. Por ejemplo, estos se optimizan fácilmente utilizando técnicas de optimización bien desarrolladas.
Para estos, los enfoques desarrollados mucho antes del advenimiento de las redes artificiales a menudo pueden llegar a una solución óptima con menos sobrecarga computacional y más precisión y confiabilidad.
Donde las redes artificiales se destacan es en la adquisición de funciones sobre las cuales el profesional ignora en gran medida o en el ajuste de los parámetros de funciones conocidas para las cuales aún no se han ideado métodos de convergencia específicos.
Los perceptrones multicapa (ANN) sintonizan los parámetros (matriz de atenuación) durante el entrenamiento. La afinación se dirige por el gradiente de descenso o una de sus variantes para producir una aproximación digital de un circuito analógico que modela las funciones desconocidas. El descenso del gradiente es impulsado por algunos criterios hacia los cuales se conduce el comportamiento del circuito al comparar salidas con ese criterio. Los criterios pueden ser cualquiera de estos.
En resumen
En resumen, las funciones de activación proporcionan los bloques de construcción que se pueden usar repetidamente en dos dimensiones de la estructura de la red, de modo que, combinado con una matriz de atenuación para variar el peso de la señalización de capa a capa, se sabe que puede aproximarse de manera arbitraria y función compleja
Emoción más profunda de la red
La emoción post-milenaria sobre las redes más profundas se debe a que los patrones en dos clases distintas de entradas complejas se han identificado con éxito y se han puesto en práctica en los mercados comerciales, de consumo y científicos más grandes.
fuente
No hay un propósito para una función de activación en una red artificial, al igual que no hay un propósito para 3 en los factores del número de 21. Los perceptrones de múltiples capas y las redes neuronales recurrentes se definieron como una matriz de células, cada una de las cuales contiene una . Elimine las funciones de activación y todo lo que queda es una serie de multiplicaciones de matriz inútiles. Elimine el 3 de 21 y el resultado no es un 21 menos efectivo sino un número 7 completamente diferente.
Las funciones de activación no ayudan a introducir la no linealidad, son los únicos componentes en la propagación hacia adelante de la red que no se ajustan a una forma polinómica de primer grado. Si mil capas tuvieran una función de activacióna x , dónde un es una constante, los parámetros y activaciones de las mil capas podrían reducirse a un único producto de puntos y la red profunda no podría simular ninguna función que no sean las que se reducen a a x .
fuente