Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Tanh (Hyperbolic Tangent)

Tanh bildet Eingaben auf Werte zwischen −1 und 1 auf einer um null zentrierten S-Kurve ab. Behandelt werden die Formel, der Gradient und der Einsatz in RNNs, GANs und Regelungssystemen sowie PyTorch-Code.

Der hyperbolische Tangens, tanh(x) = (eˣ − e^(−x)) / (eˣ + e^(−x)), ist eine Aktivierungsfunktion, die jede reelle Zahl entlang einer S-förmigen, um null zentrierten Kurve auf einen Wert zwischen −1 und 1 abbildet. Er ist eine skalierte Sigmoidfunktion, tanh(x) = 2σ(2x) − 1, hat also eine ähnliche Form wie die Sigmoidfunktion, gibt aber für negative Eingaben negative Werte zurück und hat im Ursprung eine Steigung von 1. Bis in die 1990er- und 2000er-Jahre war Tanh die Standardaktivierung in den verborgenen Schichten von neuronalen Netzen. Heute formt sie den verborgenen Zustand rekurrenter neuronaler Netze (RNNs), begrenzt die Ausgaben von Bildgeneratoren und Steuerungsrichtlinien und hält Werte innerhalb größerer Modelle im zulässigen Bereich.

Formel und Eigenschaften#

Tanh ist eine ungerade Funktion: tanh(−x) = −tanh(x), wobei tanh(0) = 0 gilt. In der Nähe von null verläuft sie nahezu linear, tanh(x) ≈ x, und jenseits von etwa ±3 flacht sie in Richtung ±1 ab. Ihre Ableitung, 1 − tanh²(x), ist im Ursprung gleich 1, also viermal so groß wie das Maximum der Sigmoidfunktion von 0.25, und nähert sich null, wenn die Kurve in die Sättigung geht. Das folgende PyTorch-Codebeispiel berechnet Tanh und ihren Gradienten und vergleicht anschließend die mittleren Ausgaben von Tanh und Sigmoid bei Eingaben mit Mittelwert null:

import torch

x = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0], requires_grad=True)
y = torch.tanh(x)

# The derivative of tanh is 1 - tanh(x)^2, which peaks at 1 when x = 0
y.sum().backward()
print(f"Tanh:     {[round(v, 3) for v in y.tolist()]}")
print(f"Gradient: {[round(v, 3) for v in x.grad.tolist()]}")

# For zero-mean inputs, tanh outputs average near 0 and sigmoid outputs near 0.5
torch.manual_seed(0)
z = torch.randn(100_000)
print(f"Mean output, tanh: {torch.tanh(z).mean():.3f}, sigmoid: {torch.sigmoid(z).mean():.3f}")

Es gibt Tanh-Werte von [-0.995, -0.762, 0.0, 0.762, 0.995] und Gradienten von [0.01, 0.42, 1.0, 0.42, 0.01] aus. Damit ist der Gradient bei ±3 nur ein Hundertstel so groß wie sein Wert bei null. Bei 100.000 standardnormalverteilten Eingaben liegt der Mittelwert der Tanh-Ausgaben bei etwa 0.0 und der der Sigmoid-Ausgaben bei etwa 0.5.

Warum um null zentrierte Ausgaben hilfreich sind#

Die Gewichtsgradienten eines Neurons sind proportional zu seinen Eingaben. Wenn alle Eingaben positiv sind, wie es bei Sigmoid-Ausgaben immer der Fall ist, haben alle Gewichtsgradienten eines Neurons bei jedem Aktualisierungsschritt dasselbe Vorzeichen. Dadurch können seine Gewichte nur gemeinsam steigen oder fallen und erreichen ihr Optimum auf einem Zickzackkurs. Tanh-Ausgaben sind ungefähr zu gleichen Teilen positiv und negativ. So kann sich jedes Gewicht unabhängig bewegen, und die Eingaben der nächsten Schicht bleiben nahe einem Mittelwert von null, bei dem Gradientenabstieg schneller konvergiert. Aus diesem Grund empfahlen Yann LeCun und seine Kolleginnen und Kollegen 1998 in ihrem Leitfaden „Efficient BackProp“ für verborgene Schichten symmetrische Funktionen statt der logistischen Sigmoidfunktion, insbesondere die skalierte Form 1.7159 · tanh(2x/3). Tanh geht weiterhin in die Sättigung, und das Stapeln vieler Tanh-Schichten verkleinert die Gradienten während der Rückwärtspropagierung – das Problem verschwindender Gradienten.

Einsatzbereiche von Tanh#

  • Rekurrente Netze: Ein einfaches RNN aktualisiert seinen Zustand nach der Formel hₜ = tanh(Wxₜ + Uhₜ₋₁ + b), und Tanh ist die standardmäßige Nichtlinearität von nn.RNN in PyTorch. In LSTM- und GRU-Zellen erzeugt Tanh den Kandidateninhalt und begrenzt beim LSTM vor der Ausgabe den Zellzustand, während Sigmoid-Tore bestimmen, wie viel davon verwendet wird. Der begrenzte Wertebereich verhindert, dass ein Zustand, der Schritt für Schritt zurückgeführt wird, unbegrenzt anwächst.
  • GAN-Generatoren: DCGAN schließt seinen Generator mit Tanh ab, sodass die generierten Pixel zwischen −1 und 1 liegen – dem Wertebereich, auf den die Trainingsbilder skaliert werden. Viele spätere generative gegnerische Netze (GANs) verwenden denselben Ansatz.
  • Begrenzte Aktionen: Richtlinien für kontinuierliche Steuerung beim bestärkenden Lernen leiten ihre Ausgaben durch Tanh, damit jeder Steuerbefehl innerhalb der Aktuatorgrenzen bleibt. Soft Actor-Critic begrenzt Stichproben aus einer Gaußschen Richtlinie auf diese Weise.
  • Begrenzung von Logits: Googles Sprachmodelle Gemma 2 berechnen cap · tanh(logits / cap), mit einer Obergrenze von 50 für Attention-Logits und 30 für die abschließenden Logits. Kleine Logits bleiben nahezu unverändert, große können die Obergrenze nie überschreiten.
  • Näherung für GELU: 0.5x(1 + tanh(√(2/π)(x + 0.044715x³))) nähert GELU sehr genau an, und der ursprüngliche Code von GPT-2 und BERT berechnet GELU auf diese Weise.
  • Normalisierende Flüsse: Flüsse im RealNVP-Stil enden häufig jedes Skalierungsnetz mit Tanh, sodass jede Kopplungsschicht ihre Eingaben mit einem Faktor zwischen e⁻¹ und e skaliert. Das hält das Training numerisch stabil. YOLO26-Modelle zur Posenschätzung werden mit einem Verlust für die Schätzung der logarithmischen Likelihood über Residuen trainiert. Der sechsschichtige RealNVP-Fluss, bei dem jedes Skalierungsnetz mit Tanh abschließt, modelliert dabei, wie weit vorhergesagte Schlüsselpunkte von den tatsächlichen Positionen abweichen.
  • Sigmoid: Tanh ist eine auf den Wertebereich −1 bis 1 gestreckte und horizontal um den Faktor zwei gestauchte Sigmoidfunktion. Dadurch steigt die maximale Steigung von 0.25 auf 1. Der Wertebereich von 0 bis 1 macht Sigmoid zur bevorzugten Funktion für Wahrscheinlichkeiten und Tore.
  • Hardtanh: Eine stückweise lineare Variante, die Eingaben auf [−1, 1] begrenzt. Sie ist rechnerisch günstiger, und ihr Gradient ist außerhalb dieses Bereichs genau 0.
  • ReLU: max(0, x) geht bei positiven Eingaben nie in die Sättigung und erfordert nur einen Vergleich. Deshalb haben ReLU und glatte Nachfolger wie SiLU Tanh in den verborgenen Schichten tiefer konvolutionaler neuronaler Netze (CNNs) und Transformern ersetzt. Im AlexNet-Paper erreichte ein vier Schichten tiefes CNN mit ReLUs den Trainingsfehler von 25 % auf CIFAR-10 sechsmal schneller als dasselbe Netz mit Tanh-Einheiten.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens