Tanh (Hyperbolic Tangent)
Descubre cómo la función de activación Tanh mejora el entrenamiento de redes neuronales al centrar los datos en cero. Explora su función en RNNs, GANs y modelos Ultralytics YOLO26.
La función Tanh (tangente hiperbólica) es una función de activación matemática ampliamente utilizada en las capas ocultas de las redes neuronales artificiales. Transforma los valores de entrada en un rango de salida entre -1 y 1, creando una curva en forma de S similar a la función sigmoide, pero centrada en cero. Esta propiedad de estar centrada en cero es crucial porque permite que el modelo aprenda de forma más eficiente al normalizar la salida de las neuronas, garantizando que los datos que fluyen por la red tengan una media más próxima a cero. Al gestionar explícitamente los valores negativos, Tanh ayuda a las redes neuronales a captar patrones y relaciones más complejos en los datos.
El mecanismo de Tanh en el aprendizaje profundo#
En la arquitectura de los modelos de aprendizaje profundo, las funciones de activación introducen no linealidad, lo que permite a la red aprender límites complejos entre distintas clases de datos. Sin funciones como Tanh, una red neuronal se comportaría como un simple modelo de regresión lineal, independientemente del número de capas que tuviera. La función Tanh es especialmente eficaz en las redes neuronales recurrentes (RNN) y en ciertos tipos de redes de propagación hacia delante, donde mantener una distribución de activación equilibrada y centrada en cero ayuda a prevenir el problema del desvanecimiento del gradiente durante la retropropagación.
Cuando las entradas se asignan al rango de -1 a 1, las entradas muy negativas producen salidas negativas y las entradas muy positivas producen salidas positivas. Esto difiere de la función Sigmoid, que comprime los valores entre 0 y 1. Como las salidas de Tanh son simétricas alrededor de cero, el proceso de descenso del gradiente suele converger más rápido, ya que los pesos de las capas posteriores no se mueven constantemente en una sola dirección (un fenómeno conocido como trayectoria en «zigzag» en optimización).
Aplicaciones en el mundo real#
Tanh sigue desempeñando un papel fundamental en arquitecturas y casos de uso específicos, especialmente cuando se requiere procesar secuencias y estimar valores continuos.
- Procesamiento del lenguaje natural (NLP): En arquitecturas como las redes de memoria a corto y largo plazo (LSTM) y las unidades recurrentes cerradas (GRU), Tanh se utiliza como activación principal para regular el flujo de información. Por ejemplo, en tareas de traducción automática en las que un modelo traduce texto del inglés al francés, Tanh ayuda a las compuertas internas de LSTM a decidir cuánto contexto anterior (memoria) conservar u olvidar. Esto permite al modelo gestionar dependencias a largo plazo en las estructuras de las oraciones.
- Redes generativas antagónicas (GANs): En el componente generador de muchas redes generativas antagónicas, Tanh se utiliza con frecuencia como función de activación final de la capa de salida. Puesto que las imágenes suelen normalizarse a un rango de -1 a 1 durante el preprocesamiento, utilizar Tanh garantiza que el generador produzca valores de píxel dentro del mismo rango válido. Esta técnica ayuda a sintetizar imágenes realistas para aplicaciones como la generación de texto a imagen.
Comparación: Tanh frente a Sigmoid y ReLU#
Es útil distinguir Tanh de otras funciones habituales para entender cuándo utilizarla.
- Tanh frente a Sigmoid: Ambas son curvas en forma de S. Sin embargo, Sigmoid produce valores entre 0 y 1, lo que puede hacer que los gradientes se desvanezcan más rápidamente que con Tanh. Sigmoid suele reservarse para la capa de salida final de problemas de clasificación binaria (predicción de probabilidades), mientras que Tanh se prefiere en las capas ocultas de las RNN.
- Tanh frente a ReLU (Unidad lineal rectificada): En las redes neuronales convolucionales (CNN) modernas, como YOLO26, ReLU y sus variantes (como SiLU) suelen preferirse a Tanh en las capas ocultas. Esto se debe a que ReLU evita el problema del desvanecimiento del gradiente de forma más eficaz en redes muy profundas y su cálculo es menos costoso desde el punto de vista computacional. Tanh es más costosa computacionalmente debido a los cálculos exponenciales implicados.
Implementación de activaciones en PyTorch#
Aunque los modelos de alto nivel como Ultralytics YOLO26 gestionan las definiciones de activación internamente en sus archivos de configuración, entender cómo aplicar Tanh mediante PyTorch resulta útil para crear modelos personalizados.
import torch
import torch.nn as nn
# Define a sample input tensor with positive and negative values
input_data = torch.tensor([-2.0, -0.5, 0.0, 0.5, 2.0])
# Initialize the Tanh activation function
tanh = nn.Tanh()
# Apply Tanh to the input data
output = tanh(input_data)
# Print results to see values squashed between -1 and 1
print(f"Input: {input_data}")
print(f"Output: {output}")Para quienes estén interesados en entrenar arquitecturas personalizadas o gestionar conjuntos de datos de forma eficaz, la Ultralytics Platform ofrece un entorno optimizado para experimentar con distintos hiperparámetros del modelo, visualizar las métricas de entrenamiento y desplegar soluciones sin tener que programar manualmente cada capa de la red neuronal.









