Glossaire

Tanh (Tangente hyperbolique)

Découvre la puissance de la fonction d'activation Tanh dans les réseaux neuronaux. Apprends comment elle permet à l'IA de modéliser des données complexes avec une efficacité zéro-centrée !

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Tanh, ou Tangente hyperbolique, est une fonction d'activation largement reconnue et utilisée en intelligence artificielle (IA) et en apprentissage automatique (ML), notamment au sein des réseaux neuronaux (NN). Semblable à la fonction Sigmoïde, Tanh est en forme de S (sigmoïdale) mais fait correspondre les valeurs d'entrée à une plage comprise entre -1 et 1. Cette caractéristique la rend centrée sur le zéro, ce qui signifie que ses sorties sont distribuées autour de zéro. Comme d'autres fonctions d'activation, Tanh introduit la non-linéarité dans le réseau, ce qui permet aux modèles d'apprentissage profond (DL) d'apprendre des modèles et des relations complexes dans les données que les modèles linéaires ne peuvent pas capturer. Elle est dérivée de la fonction mathématique de la tangente hyperbolique.

Comment fonctionne Tanh

La fonction Tanh prend n'importe quelle entrée à valeur réelle et l'écrase dans l'intervalle (-1, 1). Les entrées proches de zéro produisent des sorties proches de zéro. Les entrées positives importantes produisent des sorties proches de 1, tandis que les entrées négatives importantes produisent des sorties proches de -1. Sa nature centrée sur le zéro est souvent considérée comme un avantage par rapport à la fonction sigmoïde (dont les sorties se situent entre 0 et 1) car elle peut aider l'algorithme d'optimisation, tel que la descente de gradient, à converger plus rapidement pendant l'apprentissage du modèle. En effet, les gradients renvoyés pendant la rétropropagation sont plus susceptibles d'avoir des valeurs positives et négatives équilibrées, ce qui peut conduire à des mises à jour plus stables des poids du modèle.

Avantages et inconvénients

Avantages :

  • Sortie centrée sur zéro : Les sorties allant de -1 à 1 permettent de centrer les données transmises aux couches suivantes, ce qui peut améliorer la dynamique d'apprentissage par rapport aux fonctions non centrées sur zéro comme la Sigmoïde.
  • Gradients plus forts : Par rapport à Sigmoïde, Tanh a des gradients plus raides autour de zéro, ce qui peut atténuer dans une certaine mesure le problème du gradient qui s'évanouit pendant l'entraînement, permettant ainsi un apprentissage potentiellement plus rapide.

Inconvénients :

  • Gradients disparaissants : Comme Sigmoïde, Tanh souffre toujours du problème du gradient qui s'évanouit. Pour des entrées positives ou négatives très importantes, la fonction sature (sa sortie devient très proche de 1 ou -1), et le gradient devient extrêmement faible, ce qui entrave la mise à jour des poids dans les couches plus profondes.
  • Coût de calcul : Tanh implique des calculs hyperboliques, ce qui le rend légèrement plus coûteux en termes de calcul que des fonctions plus simples comme ReLU (Rectified Linear Unit).

Tanh et les autres fonctions d'activation

  • Tanh vs. Sigmoïde: Les deux sont sigmoïdales, mais la plage de sortie de Tanh est (-1, 1) alors que celle de Sigmoïde est (0, 1). La propriété zéro-centrée de Tanh est souvent préférée pour les couches cachées, tandis que Sigmoïde est généralement utilisée dans les couches de sortie pour les tâches de classification binaire où une probabilité est nécessaire.
  • Tanh vs. ReLU: Les sorties de ReLU vont de 0 à l'infini et sont très efficaces sur le plan informatique. ReLU évite la saturation pour les entrées positives mais peut souffrir du problème du "dying ReLU" (les neurones deviennent inactifs). Alors que Tanh sature aux deux extrémités, sa nature centrée sur le zéro peut être avantageuse. Cependant, ReLU et ses variantes(Leaky ReLU, GELU, SiLU) ont largement remplacé Tanh dans de nombreuses architectures modernes d'apprentissage profond, notamment en vision par ordinateur (VA), en raison d'un meilleur flux de gradient et d'une meilleure efficacité. Tu peux explorer différentes fonctions d'activation dans l'apprentissage profond.

Applications de l'IA et de l'apprentissage automatique

Tanh a historiquement été un choix populaire, en particulier dans :

  • Réseaux neuronaux récurrents (RNN): Le Tanh était couramment utilisé dans les états cachés des RNN et de leurs variantes comme les réseaux de mémoire à long terme (LSTM), en particulier pour les tâches de traitement du langage naturel (NLP). Sa portée limitée permet de réguler le flux d'informations au sein des connexions récurrentes. Voir Comprendre les LSTM pour plus de détails.
  • Couches cachées : Il peut être utilisé dans les couches cachées des réseaux de type feedforward, bien que les variantes ReLU soient désormais plus courantes. Il peut être choisi lorsque la propriété zéro-centrée est particulièrement bénéfique pour le problème ou l'architecture spécifique.
  • Analyse des sentiments: Dans les modèles NLP plus anciens, Tanh aidait à faire correspondre les caractéristiques extraites du texte (par exemple, les enchâssements de mots traités par un RNN) à une plage continue, représentant la polarité du sentiment, de négatif (-1) à positif (+1). Les ressources d'organisations telles que le Stanford NLP Group fournissent des informations sur ces techniques.
  • Systèmes de contrôle et robotique: Dans l'apprentissage par renforcement (RL), Tanh est parfois utilisé comme fonction d'activation finale pour les politiques qui produisent des actions continues limitées dans une plage spécifique (par exemple, contrôler le couple du moteur entre -1 et +1). Des cadres comme OpenAI Gym sont souvent utilisés dans la recherche sur l'apprentissage par renforcement.

Alors que les architectures modernes comme Ultralytics YOLO utilisent souvent des fonctions comme SiLU pour des tâches telles que la détection d'objets, la compréhension de Tanh reste précieuse. Elle fournit un contexte pour l'évolution des fonctions d'activation et pourrait encore apparaître dans des conceptions de réseaux spécifiques ou des systèmes hérités. Des cadres comme PyTorch et TensorFlow fournissent des implémentations de Tanh. Tu peux t'entraîner et expérimenter différentes fonctions d'activation en utilisant des plateformes comme Ultralytics HUB.

Tout lire