Taxonomía de las redes neuronales IV: funciones de activación

15/9/2023
AUTOR
Colegio de matemáticas Bourbaki

Esta edición de nuestro boletín vamos a finalizar nuestra Taxonomía sobre las Redes neuronales profundas las cuales son uno de los acercamientos más exitosos a la inteligencia artificial y piezas fundamentales para comprender el desarrollo tecnológico e industrial de nuestros días.

Hasta ahora hemos hablado de la clasificación de las redes neuronales profundas de acuerdo a las siguientes características:

  • Capas
  • Arquitecturas
  • Funciones de pérdida

En este texto vamos a mencionar algunas de las funciones de activación más utilizadas en este dominio, esto no representa la totalidad de posibilidades sin embargo deseamos que nuestra selección sea lo suficientemente representativa del estado del arte.

Existen principalmente dos motivos por los cuales nos gustaría elegir alguna función de activación sobre otra, uno de ellos es por el tipo de output con el que deseamos que la red neuronal sea supervisada.

La otra razón por la cuál podríamos preferir a una función de activación sobre otra es porque el proceso de optimización necesita alguna ayuda, por ejemplo cuando deseamos descender más velozmente sobre el gradiente. A continuación enlistaremos algunas célebres funciones de activación, notemos que solo consideraremos variables unitarias, por ejemplo no incluiremos funciones vectoriales como el softmax.

Función lineal

Imaginemos un caso en el que nuestra variable objetivo sea un número real, es decir una variable continua, en este caso es necesario que la imagen de una red neuronal como función sea no acotada y en la mayor parte de los casos se utilizará una función de activación lineal como a continuación se muestra.

Función de activación lineal

Desde el punto de vista del cálculo del gradiente, esta función es bastante sencilla de calcular pues la función derivada es una constante determinada por las betas.

Función sigmoide

Función sigmoide

En algunas ocasiones será necesario utilizar una función que permita a los valores que supervisan al data set ser clases, si son clases binarias la función sigmoide es ideal pues además permite modelar la probabilidad de pertenencia a cada una de las clases.

La derivada de la función es bastante fácil de calcular y tiene la ventaja de ser infinitamente diferenciable lo cual de hecho permite métodos de optimización más generales que el cálculo del gradiente.

Función ReLU

A diferencia de una función lineal, la función de rectificador no es una función cumpla con la linealidad, es decir que una de sus primeras ventajas es poderle agregar expresividad a las redes neuronales, es decir una mejor calidad de aproximación sobre conjuntos de datos.

A diferencia de la función sigmoide, esta función tiene la ventaja de tener un gradiente que se hace pequeño menos velozmente y esto permite al proceso de entrenamiento ser más eficiente. Notemos que el gradiente no existe pero los métodos del sub-gradiente son aplicables.

Función escalón binario

Esta función representa el caso más sencillo de funciones de activación para problemas de clasificación binaria pues permite la posibilidad de un output discreto que solo nos arrojan dos posibles clases.

Desde el punto de vista del entrenamiento esta función es bastante complicada pues ni siquiera es continua lo cual hace bastante complicado el proceso del entrenamiento.

Función tangente hiperbólica

Tangente hiperbólica

A diferencia de la función sigmoide, la tangente hiperbólica tiene la gran ventaja de permitir los valores negativos y positivos en su salida lo cual es necesario en algunos casos prácticos aún teniendo cuenta que la variable salida sea acotada.

La tangente hiperbólica tiene la cualidad de tener un gradiente aún más veloz que la sigmoide, es decir que el algoritmo se podría hacer cero más rápido lo cual podría significar un problema en algunos casos. En otros es necesario pues sino el entrenamiento podría tomar mucho más tiempo.

Oferta académica