Tanh (Tangente hiperbólica)

Activación centrada en cero para un mejor flujo de aprendizaje

La Tanh (Tangente hiperbólica) es una función de activación que transforma valores en un rango entre -1 y 1, manteniendo una forma sigmoide pero centrada en cero.

👉 Fue ampliamente utilizada en redes neuronales antes de la adopción masiva de ReLU.

Definición corta

La Tanh es una función de activación que mapea valores al rango [1,1][-1, 1][−1,1].

Definición matemática

tanh(x)=exexex+ex\tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}

👉 es una versión escalada y centrada de Sigmoid.

Intuición

Tanh responde:

👉 “Normalizo los valores alrededor de cero”

Negativos → valores negativos  
Positivos → valores positivos
Centro → 0

Interpretación geométrica

  • curva en forma de “S”
  • simétrica respecto al origen

Ejemplo conceptual

-∞ → -1  
0 → 0
+∞ → 1

🔄 Relación con otros conceptos

  • Sigmoid
  • Softsign
  • ReLU
  • Función de activación

Propiedades clave

🔹 1. Centrada en cero

E[tanh(x)]0\mathbb{E}[\tanh(x)] \approx 0

👉 mejora el flujo de gradiente.

🔹 2. Diferenciable

Derivada:tanh(x)=1tanh2(x)\tanh'(x) = 1 – \tanh^2(x)

👉 gradiente máximo en 0.


🔹 3. No lineal

Permite modelar relaciones complejas.

Ejemplo conceptual

Salida balanceada  

Gradiente más estable

Mejor aprendizaje

Ventaja sobre Sigmoid

  • centrada en cero
  • gradiente más fuerte
  • mejor convergencia

Comparación conceptual

Sigmoid → [0,1]  
Tanh → [-1,1]

Problema principal: saturación

Para valores grandes:

  • x0x \gg 0x≫0 → salida ≈ 1
  • x0x \ll 0x≪0 → salida ≈ -1

👉 gradiente ≈ 0


📊 Ejemplo conceptual

Entrada grande  

Salida plana

Gradiente ≈ 0

Impacto en redes profundas

  • desvanecimiento del gradiente
  • aprendizaje lento en capas profundas

Uso en machine learning

🔹 1. Redes neuronales clásicas

  • capas ocultas

🔹 2. RNNs

  • modelado de secuencias

🔹 3. Sistemas antiguos

  • antes de ReLU

Ejemplo conceptual

Entrada  

Tanh

Salida centrada

Mejor propagación

Tanh vs ReLU

  • Tanh → suave pero saturada
  • ReLU → no saturada en positivos

Tanh vs Softsign

  • Tanh → saturación rápida
  • Softsign → transición más gradual

Ejemplo en Python

import numpy as np
def tanh(x):
return np.tanh(x)
x = np.array([-2, -1, 0, 1, 2])
print(tanh(x))

Ejemplo en PyTorch

import torch
import torch.nn as nn
tanh = nn.Tanh()
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
print(tanh(x))

Ejemplo en modelo

import torch.nn as nn
model = nn.Sequential(
nn.Linear(10, 20),
nn.Tanh(),
nn.Linear(20, 1)
)

🧠 Qué muestra este ejemplo

  • activación centrada
  • transformación no lineal
  • uso clásico en redes

Errores comunes

Usarla en redes profundas modernas

ReLU suele ser mejor.


Ignorar saturación

Afecta gradiente.


Pensar que es suficiente para todo

Tiene limitaciones.

Ejemplo conceptual en ML

Entrada  

Tanh

Salida balanceada

Gradiente más estable

Interpretación profunda

Tanh representa un paso clave en la evolución:

👉 De funciones probabilísticas (Sigmoid) → a funciones centradas (Tanh) → a funciones eficientes (ReLU)

Conclusión

La Tanh es una función de activación centrada en cero que mejora el flujo de gradiente respecto a Sigmoid, pero sigue sufriendo saturación en redes profundas.

👉 Es fundamental para entender la evolución hacia activaciones modernas.

Related Concepts