Comprender las funciones de activación en profundidad

¿Qué es una función de activación ?  
En las redes neuronales artificiales, la función de activación de un Node define la salida de ese Node o neurona para una determinada entrada o conjunto de entradas. Esta salida se usa luego como entrada para el siguiente Node y así sucesivamente hasta que se encuentra una solución deseada para el problema original. 

Mapea los valores resultantes en el rango deseado, como entre 0 a 1 o -1 a 1, etc. Depende de la elección de la función de activación. Por ejemplo, el uso de la función de activación logística mapearía todas las entradas en el dominio de los números reales en el rango de 0 a 1. 

Ejemplo de un problema de clasificación binaria: 
En un problema de clasificación binaria, tenemos una entrada x, digamos una imagen, y tenemos que clasificarla como si tuviera un objeto correcto o no. Si es un objeto correcto, le asignaremos un 1, de lo contrario, un 0. Entonces, aquí solo tenemos dos salidas: la imagen contiene un objeto válido o no. Este es un ejemplo de un problema de clasificación binaria. 
 

cuando multiplicamos cada una de sus características con un peso (w1, w2, …, wm) y las sumamos todas juntas, 
salida del Node = activación (suma ponderada de entradas). 
 

\begin{equation*} W . X=w 1 . x 1+w 2 . x 2+w 4 . x 4+w 4 . x 4+\ldots \ldots \ldots+w n . x n=\sum_{i=1}^{m} \text { wi.xi } \end{equation*}

 


  
Algunos conceptos matemáticos y terminológicos importantes: 

  • La propagación es un procedimiento para ajustar repetidamente los pesos a fin de minimizar la diferencia entre la salida real y la salida deseada. 
     
  • Las capas ocultas son Nodes de neuronas apilados entre entradas y salidas, lo que permite que las redes neuronales aprendan características más complicadas (como la lógica XOR). 
     
  • La retropropagación es un procedimiento para ajustar repetidamente los pesos a fin de minimizar la diferencia entre la salida real y la salida deseada. 

    Permite que la información retroceda desde el costo hacia atrás a través de la red para calcular el gradiente. Por lo tanto, recorra los Nodes a partir del Node final en orden topológico inverso para calcular la derivada de la salida del Node final. Hacerlo nos ayudará a saber quién es el responsable de la mayor parte del error y cambiar los parámetros apropiados en esa dirección. 
     

  • Gradient Descent se usa mientras se entrena un modelo de aprendizaje automático. Es un algoritmo de optimización, basado en una función convexa, que ajusta sus parámetros iterativamente para minimizar una función dada a su mínimo local. Un gradiente mide cuánto cambia la salida de una función si cambias un poco las entradas. 

    Nota: si el descenso de gradiente funciona correctamente, la función de costo debería disminuir después de cada iteración. 
     

Tipos de funciones de activación:

Las Funciones de Activación son básicamente de dos tipos: 

1. Función de activación lineal – 
 

Ecuación : f(x) = x
Rango : (-infinito a infinito)

2. Funciones de activación no lineales: 
facilita la generalización del modelo con una variedad de datos y la diferenciación entre la salida. Por simulación, se encuentra que para redes más grandes, ReLUs es mucho más rápido. Se ha demostrado que las ReLU dan como resultado un entrenamiento mucho más rápido para redes grandes. No lineal significa que la salida no se puede reproducir a partir de una combinación lineal de las entradas. 

Las principales terminologías necesarias para comprender las funciones no lineales son: 

1. Derivada: cambio en el eje y con cambio en el eje x. También se conoce como pendiente. 
2. Función monótona: una función que es completamente no creciente o no decreciente. 

Las funciones de activación no lineales se dividen principalmente en función de su rango o curvas de la siguiente manera: 

Echemos un vistazo más profundo en cada función de activación: 

1. Sigmoide: 

También se denomina clasificador binario o función de activación logística porque la función siempre elige el valor 0 (falso) o 1 (verdadero). 

La función sigmoidea produce resultados similares a la función escalonada en que la salida está entre 0 y 1. La curva cruza 0.5 en z=0, por lo que podemos establecer reglas para la función de activación, como: Si la salida de la neurona sigmoidea es mayor que o igual a 0,5, da como resultado 1; si la salida es menor que 0.5, genera 0. 

La función sigmoidea no tiene un tirón en su curva. Es suave y tiene una derivada muy bonita y simple, que es diferenciable en todas partes de la curva. 

 

Derivación de Sigmoid: 

Let's denote the sigmoid function as $\sigma(x)=\frac{1}{1+e^{x}}$. The derivative of the sigmoid is $\frac{d}{d x} \sigma(x)=\sigma(x)(1-\sigma(x))$. Here's a detailed derivation: $$ \begin{aligned} \frac{d}{d x} \sigma(x) &=\frac{d}{d x}\left[\frac{1}{1+e^{x}}\right] \\ &=\frac{d}{d x}\left(1+\mathrm{e}^{-x}\right)^{-1} \\ &=-\left(1+e^{-x}\right)^{-2}\left(-e^{-x}\right) \\ &=\frac{e^{-z}}{\left(1+e^{x}\right)^{2}} \\ &=\frac{1}{1+e^{-z}} \cdot \frac{e^{x}}{1+e^{-z}} \\ &=\frac{1}{1+e^{-}} \cdot \frac{\left(1+e^{-x}\right)-1}{1+e^{-x}} \\ &=\frac{1}{1+e^{-z}} \cdot\left(\frac{1+e^{-z}}{1+e^{-z}}-\frac{1}{1+e^{-z}}\right) \\ &=\frac{1}{1+e^{-z}} \cdot\left(1-\frac{1}{1+e^{-x}}\right) \\ &=\sigma(x) \cdot(1-\sigma(x)) \end{aligned} $$

Los sigmoides saturan y eliminan los gradientes. Una propiedad muy común del sigmoide es que cuando la activación de la neurona se satura en 0 o 1, el gradiente en estas regiones es casi cero. Recuerde que durante la retropropagación, este gradiente local se multiplicará por el gradiente de la salida de esta puerta para todo el objetivo. Por lo tanto, si el gradiente local es muy pequeño, efectivamente «matará» el gradiente y casi ninguna señal fluirá a través de la neurona a sus pesos y recursivamente a sus datos. Además, se agregará la penalización adicional al inicializar los pesos de las neuronas sigmoideas para evitar la saturación. Por ejemplo, si los pesos iniciales son demasiado grandes, la mayoría de las neuronas se saturarán y la red apenas aprenderá. 
  
2. ReLU (Unidad Lineal Rectificada): 

Es la función de activación más utilizada. Ya que se utiliza en casi todas las redes neuronales convolucionales. ReLU está medio rectificado desde abajo. Tanto la función como su derivada son monótonas.

f(x) = max(0, x)

Los modelos que están cerca de lineal son fáciles de optimizar. Dado que ReLU comparte muchas de las propiedades de las funciones lineales, tiende a funcionar bien en la mayoría de los problemas. El único problema es que la derivada no está definida en z = 0, lo que podemos superar asignando la derivada a 0 en z = 0. Sin embargo, esto significa que para z <= 0 el gradiente es cero y nuevamente no puede aprender . 

 

  
3. ReLU con fugas: 

Leaky ReLU es una versión mejorada de la función ReLU. Función ReLU, el gradiente es 0 para x<0, lo que hace que las neuronas mueran por activaciones en esa región. Leaky ReLU se define para abordar este problema. En lugar de definir la función Relu como 0 para x menor que 0, la definimos como una pequeña componente lineal de x. 

Los Leaky ReLU son un intento de solucionar el problema de Dying ReLU. En lugar de que la función sea cero cuando x < 0, una ReLU con fugas tendrá una pequeña pendiente negativa (de 0,01, más o menos). Es decir, la función calcula: 

\begin{equation*} f(x)=1(x<0)(\alpha x)+1(x>=0)(x) \end{equation*}

 

  

4. Tanh o tangente hiperbólica: 

Aplasta un número de valor real al rango [-1, 1] Al igual que el sigmoide, sus activaciones se saturan, pero a diferencia de la neurona sigmoide, su salida está centrada en cero. Por lo tanto, siempre se prefiere la no linealidad tanh a la no linealidad sigmoidea. tanh neuron es simplemente una neurona sigmoidea escalada. 
Tanh también es como un sigmoide logístico pero mejor. La ventaja es que las entradas negativas se asignarán a fuertemente negativas y las entradas cero se asignarán a casi cero en el gráfico de tanh. 

La función es monótona diferenciable pero su derivada no es monótona. Tanto las funciones de activación de sigmoides tanh como las logísticas se utilizan en las redes de avance. 
En realidad, es solo una versión escalada de la función sigmoidea. 

 tanh(x)=2 sigmoid(2x)-1 

  
5. Softmax: 

La función sigmoide se puede aplicar fácilmente y ReLUs no desaparecerá el efecto durante su proceso de entrenamiento. Sin embargo, cuando quiere lidiar con problemas de clasificación, no pueden ayudar mucho. la función sigmoidea solo puede manejar dos clases, que no es lo que esperamos pero queremos algo más. La función softmax aplasta las salidas de cada unidad para que estén entre 0 y 1, al igual que una función sigmoidea. y también divide cada salida de manera que la suma total de las salidas sea igual a 1. 

La salida de la función softmax es equivalente a una distribución de probabilidad categórica, le dice la probabilidad de que cualquiera de las clases sea verdadera. 
 

 

donde 0 es un vector de las entradas a la capa de salida (si tiene 10 unidades de salida, entonces hay 10 elementos en z). Y nuevamente, j indexa las unidades de salida, por lo que j = 1, 2, …, K. 
 

Propiedades de la función Softmax – 

1. Las probabilidades calculadas estarán en el rango de 0 a 1. 
2. La suma de todas las probabilidades es igual a 1. 

Uso de la función Softmax: 
1. Se utiliza en el modelo de regresión logística de clasificación múltiple. 
2. En la construcción de redes neuronales, funciones softmax utilizadas en diferentes niveles de capa y perceptrones multicapa. 

Ejemplo: 

\begin{equation*} \left[\begin{array}{l} 1.2 \\ 0.9 \\ 0.4 \end{array}\right] \longrightarrow \operatorname{Softmax} \longrightarrow\left[\begin{array}{l} 0.46 \\ 0.34 \\ 0.20 \end{array}\right] \end{equation*}

La función Softmax convierte logits [1.2, 0.9, 0.4] en probabilidades [0.46, 0.34, 0.20], y las probabilidades suman 1. 
 

Publicación traducida automáticamente

Artículo escrito por ankurtripathi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *