ReLU: Funciones de activación

En este blog veremos diferentes funciones de activación, cuál es su importancia y por qué ReLU se usa en las CNN.

Función de activación

Una función asigna valores de un dominio a un rango. Las funciones en una variable generalmente se denotan como y = f (x)

Para la función y = x, el dominio es todos los números reales y el rango es de -∞ a + ∞

Pero para y = sin (x ) el dominio es todos los números reales por el rango es de -1 a +1

Las funciones pueden ser lineales o no lineales. Y = x es una función lineal, mientras que y = sen (x) es una función no lineal.

Las funciones de activación en ANN son funciones no lineales. Esto ayuda a la operación lineal de entradas a una operación no lineal. Si no hay una función de activación, todas las capas se pueden contraer en una sola capa. Los ANN son capaces de clasificar el espacio muestral no lineal, solo por las funciones de activación.

Hay muchas funciones de activación. Cada uno es usado para un propósito especial. Si uno quiere predecir la probabilidad de un resultado o regresión logística donde la clasificación es 0 o 1, entonces la elección natural es la función sigmoide.

La función sigmoide está dada por la fórmula sigma (z) = 1 / ( 1 + ez). Esta función tiene un rango de [0,1]

Si se necesita dar una entrada de -ve, normalmente se usa tanh (z) como función de activación. Tanh tiene un rango de [-1, 1]

Incluso en la regresión logística, para clasificar finalmente en 0 o 1, se usa una función escalonada.

Pero en CNN, en las capas convolucionales, usaremos ReLU. ReLU se define como

ReLU (x) = 0 si x = 0.

Las diversas funciones de activación se representan a continuación:

Since CNN También utiliza la propagación hacia atrás, para la convergencia, la función de activación debe ser continua. Pero ReLU no es continua en 0. Esto se debe principalmente al hecho de que la pendiente de la curva es 0 desde el lado -ve y 1 desde el lado + ve. Entonces, para la convergencia, uno debe asegurarse de que todas las ponderaciones no sean cero en la CNN. Esa es la razón por la que los pesos siempre se inicializan a algunos valores aleatorios, distintos de cero.

Por qué se usa ReLU en CNN

Cuando procesamos una imagen, cada capa de convolución debe capturar algún patrón en la imagen y pasarla en la siguiente capa de convolución. Los valores negativos no son importantes en el procesamiento de imágenes y, por lo tanto, se establecen en 0. Pero los valores positivos después de la convolución deben pasar a la siguiente capa. Es por eso que Relu se está utilizando como una función de activación. Si utilizamos sigmoide o tanh, la información se pierde ya que ambas funciones modificarán las entradas a un rango muy cerrado.

Mejoras en ReLU

En los últimos días, se presentan muchas variaciones de ReLU.

ReLU tiene las siguientes desventajas:

  1. No es continua
  2. La mitad del rango, el gradiente es cero
  3. Conduce al cambio de sesgo

Conocemos los dos primeros, pero qué es el cambio de sesgo.

En una ANN, hay tres operaciones que tienen lugar, una transformación lineal de entrada con ponderaciones, mediante la multiplicación de matrices, agregando un término de sesgo y luego invocando la función de activación. Si observa la función de tanh, se centrará en torno a 0 y se distribuirá por igual a los otros puntos en torno a cero. Entonces, incluso si la entrada no está centrada alrededor de cero, después de la función Tanh, los valores estarán alrededor de 0. Pero en otras funciones, especialmente ReLU, cada capa será más que cero y ya que usamos más capas en Profundidad En redes neuronales como CNN, el sesgo se desplaza lentamente.

Una forma de evitar el cambio de sesgo es mediante la Normalización de lotes donde las entradas se normalizan con una media de cero y una varianza.

Por lo tanto, para hacer que ReLU sea mejor, hay tantas variaciones, como LeakyReLU, PReLU, RReLU y ELU

ReLU (x) = max (0, x)

LeakyReLU (x) = x si 0> αx si x <0 donde α es una constante

PReLU (x) = x si x> 0, αx si x <0 donde se aprende α

RReLU (x) = x si x> 0, αx si x <0 donde α es aleatorio

ELU (x) = x si x> 0, ex-1 si x <0

 ReLU y ELU

Las variaciones de ReLU también mejoran el rendimiento. En el documento, “Evaluación emperada de las activaciones rectificadas en la red de convolución” de Bing Xu y otros, se comparó el rendimiento mediante el uso de varias ReLU.

El documento se puede encontrar aquí aquí

 Rendimiento

Para ELU, consulte “Aprendizaje rápido y preciso en red profunda mediante unidades lineales exponenciales (ELU)” por Djork-Arne Clevert et al, de la Biblioteca de la Universidad de Cornell.

Dejá un comentario