La función de activación
Rubén Rodríguez Abril
La función de activación determina, como su propio nombre indica, el nivel de activación que alcanza cada neurona una vez que ha recibido los impulsos aferentes. Estas funciones ostentan un rol muy importante en la determinación del poder computacional de la red neuronal.
¿Cuándo se activa una neurona?
Desde el punto de vista de la Teoría de la Computación, una neurona artificial puede ser definida como una suerte de autómata de estado finito cuya entrada es el conjunto de excitaciones procedentes de las neuronas aferentes y cuyos estados/configuraciones se corresponden con los diferentes modos de activación que puede adoptar la neurona. Estos modos de activación constituyen a su vez, entradas de otras neuronas de la red, (normalmente, de la capa siguiente).
Algebraicamente, el estado de la neurona es resultado de dos funciones. La primera de ellas es la función de excitación, que como su propio nombre indica, es una función lineal que calcula la excitación total transmitida a la neurona por las células aferentes. La segunda es la función de activación, que toma por argumento la función anterior, y determina si la neurona se excita o no, y con qué intensidad lo hace. En este artículo analizaremos la segunda de ellas.
Función de activación de Heaviside
Históricamente, la función de Heaviside (o también función escalón) fue la primera en ser utilizada. Se trata de una función binaria, cuyo valor es 0 hasta llegar a un determinado umbral, y 1 a partir del mismo. Recibe su nombre del ingeniero Oliver Heaviside, que utilizó esta función para modelizar los pulsos de corriente generados por las pulsaciones de un telégrafo.
Warren McCulloch y Walter Pitts hicieron también uso de ella en su pionero trabajo de 1943. Presentaron un modelo de actividad neuronal binario, en el que cada célula sólo podía encontrarse en dos estados: apagada o encendida. El trabajo presentaba un nuevo modelo de lógica binaria, al que sus creadores denominaron lógica de umbral (threshold logic): las excitaciones recibidas por cada neurona se sumaban, y si la suma total alcanzaba un determinado umbral, la neurona se activaba. En caso contrario, la neurona permanecía en reposo.
Límites de la función de Heaviside
El modelo de McCulloch-Pitts peca de simplista. Estudios posteriores sobre el funcionamiento del sistema nervioso sugirieron que la actividad de una neurona distaba mucho de seguir un esquema binario. La intensidad de la neurona no tomaba valores discretos sino que se deslizaba a través de un espectro continuo.
Además, el trabajo de Minsky y Seifert Perceptrones, de 1967, demostraba que una red de neuronas artificiales con un patrón de excitación exclusivamente binario sólo tendría una capacidad computacional similar a la de un autómata de estado finito.
Función de activación tipo Sigmoide
Por estos motivos, a partir de los años 90, aparecieron redes neuronales con funciones de activación sigmoides, de naturaleza continua. Se dice que una función es de tipo sigmoide cuando tiene una forma similar a la de la letra griega sigma. Su trazado es simétrico, tiene un sólo nodo, y asintóticamente tiende a dos valores constantes (pero diferentes) en sus dos extremos.
Desde un punto de vista geométrico, las funciones sigmoides pueden ser entendidas como la versión continua y diferenciable de la función de Heaviside. Tienen una derivada no nula, particularmente en la zona central de su dominio, y por ello son aptas para su uso en aprendizaje profundo.
Potencia de las funciones continuas
La posibilidad de que una neurona pueda adoptar valores intermedios de activación tiene una enorme importancia desde el punto de vista de la capacidad computacional de la red. Supongamos que tenemos una red neuronal formada por N autómatas (células), y que dichos autómatas sólo pueden adoptar dos configuraciones de activación (encendido y apagado). En ese caso la red sólo podría adoptar 2^N estados diferentes. Por el contrario, si los autómatas pudieran adoptar m configuraciones diferentes, el número de estados posibles de la red ascendería a m^N.
En el año 1995 Eduardo Sontag y Hava Siegelmann demostraron por primera vez que una red neuronal recurrente con pesos sinápticos racionales y funciones de activación sigmoides (y no funciones de Heaviside), tendría un poder computacional similar al de una máquina de Turing.
Breve esquema del poder computacional de las redes neuronales recurrentes. La adopción de funciones de activación sigmoides y de pesos racionales garantiza que la red neuronal recurrente sea capaz de computación universal.
Función de activación logística
Las dos funciones tipo sigmoide más utilizadas en la inteligencia artificial actual son la función logística y la tangente hiperbólica.
La función logística P(x) es de carácter exponencial y se expresa matemáticamente mediante la siguiente fórmula:
Su derivada es relativamente simple, lo que explica que haya sido utilizada en múltiples modelos de aprendizaje por retropropagación, en los que es necesario calcular la derivada de la función de activación para actualizar los pesos sinápticos:
Función de activación hiperbólica
La función tangente hiperbólica es también usada en algunos modelos de aprendizaje profundo.
Gráfica de la función tangente hiperbólica sigmoide (izquierda) y su derivada (derecha). Para un argumento de 0, la función toma valor de 0. Como puede verse, la derivada toma valores mayores que en el caso de la función logística.
Función de activación rectificadora
En la actualidad, la función de activación más usada en las redes neuronales artificiales (particularmente en las convolucionales) es el rectificador. Su valor es similar al de su argumento para el caso positivo, mientras que es nulo por debajo de cero. Su efecto neto es el de «pelar» la parte negativa del argumento.
Las neuronas artificiales que usan rectificadores como funciones de activación se denominan ReLUs (Rectified Linear Units, Unidades Lineales Rectificadas). La derivada del rectificador, que se muestra a la derecha, es la función de Heaviside.
El nivel de activación en neuronas biológicas
La mayor parte de los estudios realizados en la actualidad sobre el sistema nervioso, coinciden en señalar que la mayor parte de las neuronas operan bajo un régimen lineal, similar al descrito por el rectificador. Se calcula que a cada momento, tan sólo un 1 – 4% de las neuronas del cerebro humano están activas. Ello provoca que la información dentro del cerebro se almacena de un modo disperso y distribuido. Existe una suerte de compromiso entre el ahorro energético y la riqueza de las representaciones que el cerebro puede crear.
Sin embargo, el estado estacionario de una neurona artificial con una función de activación logística oscila en torno a ½, que es el valor que toma dicha neurona cuando la suma total de excitaciones procedentes de las neuronas aferentes es nula. Ello ocasiona que al inicio de cada proceso de entrenamiento, la mayor parte de las neuronas de la red disparen a la mitad de su régimen de saturación, lo cual es incompatible con los datos observados biológicamente (que indican que las neuronas corticales rara vez alcanzan su régimen de saturación).
Además, los datos observados empíricamente, demuestran que los patrones de activación de las neuronas biológicas se asemejan al rectificador antes que a la función logística o a la hiperbólica, como se muestra en la imagen.
El rectificador en neuronas artificiales
El cálculo de la función rectificadora es extraordinariamente simple. Si el argumento de la función es negativo, todos sus bits se ponen a cero. Si es positivo, el rectificador no realiza modificaciones. Su costo computacional es muy bajo, a diferencia de lo que sucede en el caso de las funciones sigmoides (que son exponenciales).
Por otro lado, la derivada del rectificador (que es la función de Heaviside) toma el valor de 1 para la mitad de su dominio (positivo). Y ello facilita el entrenamiento de las capas internas de la red, como veremos en artículos siguientes.
Todas estas ventajas han provocado que el rectificador sea la función de activación básica más utilizada en la actualidad dentro de los sistemas de reconocimiento visual y de procesamiento de lenguaje natural.
Comparación entre los patrones de activación de las neuronas biológicas (izquierda) con la función sigmoide logística (azul oscuro) y la tangente hiperbólica (turquesa).
Función de activación Softmax
Por último, concluiremos haciendo referencia a la función softmax, que se usa exclusivamente en las neuronas de salida de la red, y cuyo objeto es que la salida de todas ellas sume uno. A este proceso se le denomina normalización.
Esta función por lo general es utilizada en sistemas que clasifican datos de entrada (por ejemplo imágenes de flores) en categorías (la especie a la que pertenecen). En ellos, a cada categoría le corresponde a una neurona de salida diferente, y los valores softmax de esta última señalan la probabilidad de que los datos de entrada pertenezcan a la misma. Las entradas de la función softmax reciben el nombre de puntuaciones (scores), que se miden en logits.
Matemáticamente, tiene una expresión tal que:
siendo x_{z} la función de excitación de la neurona que el entrenador determina como correcta y x_{i} la de cualquier neurona de la capa de salida.
Ejemplo de una red neuronal con función de activación softmax en sus dos neuronas de salida. En este ejemplo se presenta imágenes a la red y esta debe determinar si dicha imagen pertenece a un rostro femenino o masculino. Los logits son equivalentes a la función de excitación y sirven como argumento para la función softmax. Como vemos, la suma de las funciones de activación de las neuronas de salida es 1, dando una probabilidad de 0.8581 a la neurona/etiqueta «femenina».
En la literatura especializada se han propuesto la utilización de decenas de tipos de funciones de activación, como la función gaussiana, la función softplus o múltiples variaciones del rectificador. En este artículo hemos pretendido ofrecer a lo lectores de La Máquina Oráculo un panorama general sobre este concepto. Que como vemos es fundamental en la configuración de los sistemas de aprendizaje profundo.
Lecturas Recomendadas
– Glorot, Bordes y Bengio (2011). Deep Sparse Rectier Neural Networks.
– Siegelmann, H. T. y Sontag, E. D. (1995). On the computational power of neural nets.