Funciones de activación

Entendiendo y aplicando las funciones de activación

Las redes neuronales se componen de capas de neuronas que suman entradas ponderadas y luego aplican una función de activación para introducir no linealidad. Sin esa transformación, una red profunda se comportaría como una combinación lineal simple y no podría aprender patrones complejos. Las funciones de activación controlan el flujo de información y permiten que el modelo aprenda representaciones ricas de los datos. A continuación analizamos las más habituales —Sigmoid, Tanh, ReLU y sus variantes—, explicando sus ventajas e inconvenientes y mostrando cómo utilizarlas en Python.

Función Sigmoid o logística

La sigmoid es una función en forma de S definida como σ(x)=1/(1+e^−x). Transforma cualquier valor real en un número entre 0 y 1, lo que la hace útil para problemas de clasificación binaria. Esta función es suave y diferenciable, pero tiene dos desventajas importantes:

  • Saturación y gradiente vanishing: cuando es muy grande o muy pequeño, la salida se aproxima a 1 o 0. En estos extremos el gradiente tiende a cero, lo que dificulta el aprendizaje en redes profundas.
  • Salida no centrada: el rango 1 introduce sesgos que obligan a las capas siguientes a compensarlo.

Utiliza Sigmoid en la capa de salida para problemas de clasificación binaria; la salida puede interpretarse como probabilidad.

Evita usarla en muchas capas ocultas, porque el problema del gradiente desvanecido ralentiza el entrenamiento.

Función tanh (hiperbólica)

La función tanh es similar a la Sigmoid pero desplazada y escalada. Sus salidas se encuentran entre -1 y 1. Ser cero‑centrada facilita la convergencia frente a la Sigmoid, aunque sigue sufriendo saturación.

Úsala en las capas ocultas de redes recurrentes tradicionales (RNN/LSTM) en las que los estados internos suelen estar acotados.

Aunque mejora a la Sigmoid, en redes profundas modernas es menos habitual porque todavía sufre gradiente vanishing.

ReLU (Rectified Linear Unit)

La ReLU se ha convertido en la activación por defecto en la mayoría de redes modernas. Se define como f(x)=max⁡(0,x): devuelve el valor de entrada si es positivo y 0 si es negativo. Su simplicidad permite redes más profundas y eficientes. Las razones principales de su éxito son:

  • Simplicidad computacional: su cálculo se resume en una operación max, evitando exponenciales.
  • Dispersión: al convertir a cero los valores negativos, produce representaciones dispersas, lo que puede acelerar y estabilizar el aprendizaje.
  • Comportamiento casi lineal: el gradiente es constante para valores positivos, evitando el problema del gradiente desvanecido, lo que permite entrenar redes muy profundas y fue clave en el éxito de modelos como AlexNet.

Valor por defecto: si no sabes qué usar, empieza con ReLU. Es la recomendación estándar para MLP y CNN.

Cuidado con RNN: en redes recurrentes puede provocar salidas explosivas. Las LSTM suelen emplear combinaciones de sigmoid y tanh.

Inicializa bien los pesos: la combinación de ReLU con inicialización He (variance scaling) evita que muchas neuronas queden muertas al principio del entrenamiento.

Ajusta el sesgo: iniciar los sesgos con un valor pequeño positivo (por ejemplo 0,1) puede ayudar a que más neuronas se activen al comienzo.

Leaky ReLU

La ReLU estándar puede “matar” neuronas si las salidas negativas se convierten siempre en cero. La Leaky ReLU introduce una pequeña pendiente α para valores negativos: f(x)=x si x>0 y f(x)=αx en caso contrario, lo que ayuda a evitar el problema de las neuronas muertas.

Softplus

La Softplus es una versión suavizada de ReLU definida como f(x)=log⁡(1+ex). Es continua y diferenciable, por lo que evita los cortes bruscos de ReLU.

Softmax

La función Softmax no es tanto una activación para capas ocultas sino para la capa de salida en problemas de clasificación multiclase. Toma un vector de valores y los convierte en probabilidades que suman 1.

Tabla resumen de funciones de activación

Función Rango de salida Características / uso principal
Sigmoid 0 – 1 Produce salidas interpretables como probabilidades; se usa en la capa de salida para clasificación binaria; sufre saturación y gradiente desvanecido.
Tanh -1 – 1 Salida centrada; útil en capas ocultas y en modelos recurrentes; también sufre gradiente desvanecido.
ReLU 0 – ∞ Cálculo sencillo y comportamiento casi lineal; evita el problema del gradiente desvanecido y es el estándar en redes profundas.
Leaky ReLU -∞ – ∞ Permite pequeña pendiente en valores negativos para evitar neuronas muertas.
Softplus 0 – ∞ Aproximación suave de la ReLU; evita discontinuidades.
Softmax 0 – 1 Convierte vectores de logits en probabilidades que suman 1; usada en la capa de salida para clasificación multiclase.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *