Función de activación - Redes Neuronales Artificiales

La función de activación más simple es la "función escalonada", utilizada por el algoritmo Perceptron (que veremos en la siguiente sección).
Como se puede ver de nuevo, esta es una función simple. Si la suma ponderada

la salida es 1, de lo contrario, 0. Trazando valores de entrada a lo largo del eje "x", y la salida de
f(net) a lo largo del eje "y" podemos ver por qué esta función de activación recibió su nombre (Figura 10.4, arriba a la izquierda). La salida de f es siempre cero cuando la red es menor o igual a cero. Si net es mayor que cero, entonces f devolverá uno. Por lo tanto, esta función parece un escalón, no muy diferente de las escaleras que se suben y bajan todos los días.

Sin embargo, si bien es intuitivo y fácil de usar, la función de pasos no es diferenciable, lo que puede ocasionar problemas al aplicar el gradiente y entrenar nuestra red.

Fig. 10.4

En cambio, una función de activación más común utilizada en la historia de la literatura de NN es la función sigmoidal (Figura 10.4, arriba a la derecha), que sigue la ecuación:


La función sigmoidal es una mejor opción para aprender que la función de paso simple, ya que:
1. Es continuo y diferenciable en todas partes.
2. Es simétrico alrededor del eje y.
3. Se aproxima asintóticamente a sus valores de saturación.
La principal ventaja aquí es que la suavidad de la función sigmoide hace que sea más fácil diseñar algoritmos de aprendizaje. Sin embargo, hay dos grandes problemas con la función sigmoide:
  1. Las salidas de la función sigmoidal no están centradas en cero.
  2. Las neuronas saturadas esencialmente matan el gradiente, ya que el delta del gradiente será extremadamente pequeño.

La tangente hiperbólica, o tanh (con una forma similar del sigmoidal) también se utilizó mucho como una función de activación hasta finales de los años 90 (Figura 10.4, mitad izquierda): la ecuación para tanh sigue: 


La función de tanh está centrada en cero, pero los gradientes aún se eliminan cuando las neuronas se saturan. Ahora sabemos que hay mejores opciones para las funciones de activación que las funciones sigmoide y tanh. Específicamente, el trabajo de Hahnloser et al. en su artículo de 2000, la selección digital y la amplificación analógica coexisten en un circuito de silicio inspirado en la corteza [101], introdujeron la unidad lineal rectificada (ReLU), definida como:


Las ReLU también se denominan "funciones de rampa" debido a su aspecto cuando se trazan (Figura 10.4, mitad derecha). Observe cómo la función es cero para las entradas negativas, pero luego aumenta linealmente para los valores positivos. La función ReLU no es saturable y también es extremadamente eficiente computacionalmente. Empíricamente, la función de activación ReLU tiende a superar a las funciones sigmoide y tanh en casi todas las aplicaciones. Combinado con el trabajo de Hahnloser y Seung en su seguimiento 2003 Conjuntos permitidos y prohibidos en redes de umbral lineales simétricas [102], se encontró que la función de activación ReLU tiene motivaciones biológicas más fuertes que las familias anteriores de una función de activación, incluidas las justificaciones matemáticas más completas. A partir de 2015, ReLU es la función de activación más popular utilizada en el aprendizaje profundo [9]. Sin embargo, surge un problema cuando tenemos un valor de cero: no se puede tomar el gradiente. Una variante de ReLUs, llamada Leaky ReLUs [103] permite un gradiente pequeño, que no es cero cuando la unidad no está activa:


El valor de α es constante y se establece cuando se crea una instancia de la arquitectura de la red; esto es diferente a PReLUs donde se aprende α. El valor atípico para α es α = 1.0. La Figura 10.4 (abajo a la derecha) visualiza la función de activación de ELU. A través del trabajo de Clevert et al. (y mis propios experimentos anecdóticos), las ELU a menudo obtienen una mayor precisión de clasificación que las ReLU. Las unidades ELU rara vez, si alguna vez se desempeñan peor que su función ReLU estándar.

¿Qué función de activación utilizo? 

Dada la popularidad de la encarnación más reciente del aprendizaje profundo, ha habido una explosión asociada a las funciones de activación. Detrás de numerosas funciones de activación, tanto modernas (ReLU, Leaky ReLU, ELU, etc.) como "clásicas" (paso, sigmoide, tanh, etc.), puede parecer una tarea abrumadora, quizás incluso abrumadora, para seleccionar una función de activación apropiada. Sin embargo, en casi todas las situaciones, recomiendo comenzar con una ReLU para obtener una precisión de línea de base (al igual que la mayoría de los artículos publicados en la literatura de aprendizaje profundo). Desde allí puede intentar cambiar su ReLU estándar por una variante de ReLU con fugas. Mi preferencia personal es comenzar con una ReLU, ajustar los parámetros de mi red y del optimizador (arquitectura, velocidad de aprendizaje, fuerza de regularización, etc.) y anotar la precisión. Una vez que estoy razonablemente satisfecho con la precisión, cambio en una ELU y, a menudo, observo una mejora del 1 al 5% en la precisión de la clasificación según el conjunto de datos. Una vez más, este es sólo mi consejo anecdótico. Debe ejecutar sus propios experimentos y anotar sus hallazgos, pero como regla general, comience con una ReLU normal y sintonice los otros parámetros de su red, luego intercambie algunas de las variantes ReLU más "exóticas". 


Comentarios