¿Cuál es el propósito de una función de activación en redes neuronales?


17

Se dice que las funciones de activación en las redes neuronales ayudan a introducir la no linealidad .

  • ¿Qué significa esto?
  • ¿Qué significa no linealidad en este contexto?
  • ¿Cómo ayuda la introducción de esta no linealidad ?
  • ¿Hay otros propósitos de las funciones de activación ?

Respuestas:


13

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.mi
  • ¿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+mi-(w1X1 ...wnorteXnorte+si))

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 0o 1). Por lo tanto, se considera 1por 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(w1X1 ...wnorteXnorte+si)-mi-(w1X1 ...wnorteXnorte+si))(mi(w1X1 ...wnorteXnorte+si)+mi-(w1X1 ...wnorteXnorte+si)

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 0y 1respectivamente. 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 a0como 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.un.X2+Cw1)X2+siw1si

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+mi-(w1X1 ...wnorteXnorte+si))mi-(w1X1 ...wnorteXnorte+si) 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(w1x1...wnxn+b)ye(w1x1...wnxn+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=mi-2(w1X1)mi-2(w2X2)mi-2(w3X3)......mi-2(si). 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: ingrese la descripción de la imagen aquí

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.

tunnortehEl |tunnortehEl |<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


3
Yo diría que ReLU es en realidad más común en NNs hoy que sigmoide :)
Andreas Storvik Strauman

@AndreasStorvikStrauman y tienes toda la razón ... Pero sigmoid tiene un hijo llamado softmax :)
DuttaA

7

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.

y=F(W1W2W3X)=F(WX)

dónde W 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á.

y=F1(W1F2(W2F3(W3X)))

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.


5

Primero hablemos de linealidad . Linealidad significa el mapa (una función),F:VW, utilizado es un mapa lineal, es decir, cumple las dos condiciones siguientes

  1. F(X+y)=F(X)+F(y),X,yV
  2. F(CX)=CF(X),CR

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.

ingrese la descripción de la imagen aquí

¿Puedes dibujar una sola línea para separar las dos clases?


4

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 son X1 y X1.

Los pesos de la primera capa son w11,w12,w21 y w22. No tenemos activaciones, por lo que las salidas de las neuronas en la primera capa son

o1=w11X1+w12X2o2=w21X1+w22X2

Calculemos la salida de la última capa con pesos z1 y z2

otut=z1o1+z2o2

Solo sustituto o1 y o2 y obtendrás:

otut=z1(w11X1+w12X2)+z2(w21X1+w22X2)

o

otut=(z1w11+z2w21)X1+(z2w22+z1w12)X2

¡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 .


3

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.

  • ReLU
  • Fuga ReLU
  • ELU
  • Umbral (paso binario)
  • Logístico

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.

  • Softmax
  • Sigmoideo
  • TanH
  • ArcTan

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.

  • Polinomios de grado superior: a menudo pueden resolverse directamente utilizando técnicas derivadas directamente del álgebra lineal
  • Funciones periódicas: se pueden tratar con métodos de Fourier
  • Ajuste de curvas: converge bien utilizando el algoritmo de Levenberg-Marquardt, un enfoque de mínimos cuadrados amortiguados

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.

  • Etiquetas coincidentes (los valores de salida deseados correspondientes a las entradas del ejemplo de entrenamiento)
  • La necesidad de pasar información a través de rutas de señal estrechas y reconstruir a partir de esa información limitada
  • Otro criterio inherente a la red.
  • Otro criterio que surge de una fuente de señal desde fuera de la red

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.

  1. Estructuras heterogéneas y semánticamente complejas.
  2. Archivos multimedia y transmisiones (imágenes, video, audio)

Pero la pregunta era sobre el propósito de la activación y no el uso de ANN
DuttaA

@DuttaA, tu comentario fue exacto. Gracias. La respuesta tenía solo una oración que respondía directamente a la pregunta, y el vínculo con el resto de esa respuesta no estaba muy bien comunicado. Lo edité sustancialmente.
FauChristian

Esta es realmente la mejor respuesta, debería tener más votos a favor y debería ser la respuesta aceptada.
DuttaA

2

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ónunX, 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 unX.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.