Tanh, o tangente hiperbólica, es una función de activación ampliamente reconocida y utilizada en inteligencia artificial (IA) y aprendizaje automático (AM), sobre todo en redes neuronales (RN). Similar a la función sigmoidea, Tanh tiene forma de S (sigmoidal), pero asigna los valores de entrada a un intervalo entre -1 y 1. Esta característica hace que esté centrada en cero, lo que significa que sus salidas se distribuyen alrededor de cero. Al igual que otras funciones de activación, Tanh introduce la no linealidad en la red, lo que permite a los modelos de aprendizaje profundo (AD ) aprender patrones y relaciones complejas en los datos que los modelos lineales no pueden captar. Se deriva de la función matemática tangente hiperbólica.
Cómo funciona Tanh
La función Tanh toma cualquier entrada de valor real y la aplasta en el intervalo (-1, 1). Las entradas cercanas a cero producen salidas cercanas a cero. Las entradas positivas grandes producen salidas cercanas a 1, mientras que las entradas negativas grandes producen salidas cercanas a -1. Su naturaleza centrada en cero se considera a menudo una ventaja sobre la función Sigmoide (que produce salidas entre 0 y 1) porque puede ayudar al algoritmo de optimización, como el descenso de gradiente, a converger más rápidamente durante el entrenamiento del modelo. Esto se debe a que es más probable que los gradientes devueltos durante la retropropagación tengan valores positivos y negativos equilibrados, lo que puede conducir a actualizaciones más estables de los pesos del modelo.
Ventajas y desventajas
Ventajas:
- Salida centrada en cero: Las salidas que van de -1 a 1 ayudan a centrar los datos pasados a las capas posteriores, lo que puede mejorar la dinámica de entrenamiento en comparación con las funciones no centradas en cero, como la Sigmoidea.
- Gradientes más pronunciados: Comparado con el Sigmoide, el Tanh tiene gradientes más pronunciados alrededor de cero, lo que puede mitigar en cierta medida el problema del gradiente evanescente durante el entrenamiento, permitiendo un aprendizaje potencialmente más rápido.
Desventajas:
- Gradientes evanescentes: Al igual que Sigmoide, Tanh sigue sufriendo el problema del gradiente evanescente. Para entradas positivas o negativas muy grandes, la función se satura (su salida se acerca mucho a 1 o -1), y el gradiente se vuelve extremadamente pequeño, lo que dificulta la actualización de pesos en las capas más profundas.
- Coste computacional: Tanh implica cálculos hiperbólicos, lo que la hace ligeramente más cara computacionalmente que otras funciones más sencillas como ReLU (Unidad Lineal Rectificada).
Tanh frente a otras funciones de activación
- Tanh vs. Sigmoide: Ambas son sigmoidales, pero el rango de salida de Tanh es (-1, 1) mientras que el de Sigmoid es (0, 1). La propiedad centrada en cero de Tanh suele preferirse para las capas ocultas, mientras que Sigmoide se suele utilizar en las capas de salida para tareas de clasificación binaria en las que se necesita una probabilidad.
- Tanh frente a ReLU: Las salidas de ReLU van de 0 a infinito y es computacionalmente muy eficiente. ReLU evita la saturación para entradas positivas, pero puede sufrir el problema del "ReLU moribundo" (las neuronas se vuelven inactivas). Mientras que Tanh satura en ambos extremos, su naturaleza centrada en cero puede ser ventajosa. Sin embargo, ReLU y sus variantes(Leaky ReLU, GELU, SiLU) han sustituido en gran medida a Tanh en muchas arquitecturas modernas de aprendizaje profundo, especialmente en visión por ordenador (VC), debido a su mejor flujo de gradiente y eficacia. Puedes explorar varias funciones de activación en el aprendizaje profundo.
Aplicaciones en IA y aprendizaje automático
Tanh ha sido históricamente una opción popular, sobre todo en:
- Redes neuronales recurrentes (RNN): El Tanh se utilizaba habitualmente en los estados ocultos de las RNN y variantes como las redes de Memoria Larga a Corto Plazo (LSTM), especialmente para tareas de Procesamiento del Lenguaje Natural (PLN). Su rango acotado ayuda a regular el flujo de información dentro de las conexiones recurrentes. Para más detalles, consulta Comprender las LSTM.
- Capas ocultas: Puede utilizarse en las capas ocultas de las redes feedforward, aunque ahora son más comunes las variantes ReLU. Puede elegirse cuando la propiedad centrada en cero sea especialmente beneficiosa para el problema o la arquitectura concretos.
- Análisis de Sentimiento: En los modelos de PNL más antiguos, Tanh ayudaba a asignar características extraídas del texto (por ejemplo, incrustaciones de palabras procesadas por una RNN) a un rango continuo, que representaba la polaridad del sentimiento de negativo (-1) a positivo (+1). Los recursos de organizaciones como el Grupo de PNL de Stanford proporcionan información sobre estas técnicas.
- Sistemas de Control y Robótica: En el Aprendizaje por Refuerzo (RL), a veces se utiliza Tanh como función de activación final para políticas que producen acciones continuas delimitadas dentro de un rango específico (por ejemplo, controlar el par motor entre -1 y +1). En la investigación sobre RL se utilizan a menudo marcos como OpenAI Gym.
Mientras que las arquitecturas modernas como Ultralytics YOLO suelen utilizar funciones como SiLU para tareas como la detección de objetos, comprender Tanh sigue siendo valioso. Proporciona un contexto para la evolución de las funciones de activación y podría seguir apareciendo en diseños de red específicos o en sistemas heredados. Frameworks como PyTorch y TensorFlow proporcionan implementaciones de Tanh. Puedes entrenar y experimentar con diferentes funciones de activación utilizando plataformas como Ultralytics HUB.