Tema
Funciones de activación
- Aprendizaje profundo
- Nivel base
Una función de activación introduce una no linealidad entre capas, sin la cual una pila de capas lineales se reduce a una sola transformación lineal.
Nombre en inglés
Activation functions
Intuición
Dos matrices multiplicadas siguen siendo una matriz, de modo que una red de diez capas lineales no representa nada que una capa sola no represente. La activación dobla el espacio entre capa y capa, y esos dobleces son los que permiten separar regiones que una recta no separa. Lo que distingue a unas activaciones de otras es cuánto gradiente dejan pasar hacia atrás.
Fórmula
\sigma(z) = \frac{1}{1 + e^{-z}} \qquad \sigma'(z) = \sigma(z)(1 - \sigma(z)) \le 0.25 \qquad \mathrm{ReLU}(z) = \max(0, z) \qquad \mathrm{ReLU}'(z) = 1 \text{ si } z > 0
Ejemplo resuelto
Para z = 2, la sigmoide vale 0.8808 y su derivada vale 0.8808 por 0.1192, cerca de 0.105. La ReLU vale 2 y su derivada vale 1. La diferencia pesa al apilar capas, porque la derivada de la sigmoide nunca pasa de 0.25 y diez capas seguidas multiplican como mucho 0.25 elevado a 10, es decir, cerca de una millonésima. Con ReLU, en cambio, la cadena de derivadas vale 1 en todas las unidades activas y el gradiente llega al fondo sin encogerse. El precio es que una unidad cuya entrada queda siempre negativa devuelve cero y deja de aprender, motivo por el cual existe la ReLU con fuga, que para z negativo devuelve 0.01 veces z.
Errores frecuentes
- Poner una sigmoide en cada capa oculta de una red profunda, decisión que hace desaparecer el gradiente antes de llegar a las primeras capas.
- Usar softmax en una capa oculta, cuando su lugar es la salida de una clasificación porque su trabajo consiste en convertir puntuaciones en una distribución que suma 1.
- Detener el cálculo porque la ReLU no es derivable en cero, cuando en la práctica la derivada se fija por convenio en 0 o en 1 y ese punto tiene medida nula.
Ejercicio
Una red de cinco capas ocultas usa sigmoide en todas. Si cada unidad trabaja en su punto de mayor derivada, ¿cuál es el factor máximo por el que se multiplica el gradiente al atravesar las cinco activaciones?
Ver la solución
La derivada de la sigmoide alcanza su máximo en z = 0, donde la salida vale 0.5 y la derivada vale 0.5 por 0.5 = 0.25. Las cinco capas multiplican esa cota, de modo que el factor es 0.25 elevado a 5. El valor es 1 dividido entre 1024, cerca de 0.000977.
Respuesta: 0.25 elevado a 5, cerca de 0.000977
Temas relacionados
- Retropropagación
- Inicialización de pesos
- Redes recurrentes y memoria larga y corta
- Gradiente y regla de la cadena