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

SiLU (Sigmoid Linear Unit)

SiLU, auch Swish genannt, multipliziert eine Eingabe mit ihrem Sigmoid-Wert und ergibt so eine glatte, selbstgesteuerte Aktivierungsfunktion. Behandelt werden die Mathematik dahinter, der Ursprung und der Vergleich mit ReLU.

Die Sigmoid-Linear-Einheit (SiLU) ist eine Aktivierungsfunktion mit der Definition SiLU(x) = x · σ(x), wobei σ die Sigmoidfunktion bezeichnet. Große positive Eingaben lässt sie nahezu unverändert passieren, große negative Eingaben bildet sie fast auf null ab und dazwischen verläuft sie gleichmäßig gekrümmt. Bei x ≈ −1.278 erreicht sie ein Minimum von etwa −0.278. SiLU ist dieselbe Funktion wie Swish mit β = 1; die beiden Namen werden synonym verwendet. Sie ist eine häufige Standardaktivierung in konvolutionalen Bildverarbeitungsmodellen. Im SwiGLU-Block aktiviert sie außerdem die Feed-forward-Schichten vieler großer Sprachmodelle (LLMs).

Definition und Eigenschaften#

SiLU multipliziert jede Eingabe mit einem Gate, σ(x), dessen Wert zwischen 0 und 1 liegt und das aus der Eingabe selbst berechnet wird. Daher spricht man von Selbst-Gating. Die Ableitung lautet σ(x) · (1 + x · (1 − σ(x))). Zusammen verleihen diese Eigenschaften SiLU vier Merkmale, die ihr Trainingsverhalten von ReLU unterscheiden:

  • Überall glatt: Die Kurve und ihre Ableitung sind stetig und weisen bei null keinen Knick auf. Kleine Gewichtsänderungen bewirken daher nur kleine Änderungen der Ausgabe, was für den Gradientenabstieg geeignet ist.
  • Gradient bei negativen Eingaben: Eine Einheit mit negativer Eingabe erhält weiterhin einen kleinen Gradienten und lernt deshalb weiter. ReLU-Einheiten, deren Eingaben dauerhaft negativ bleiben, erhalten überhaupt keinen Gradienten und können dauerhaft aufhören zu lernen. Dieses Problem ist als sterbende ReLU bekannt.
  • Nicht monoton: Die Ausgabe fällt leicht, wenn x von stark negativen Werten bis etwa −1.28 steigt, und nimmt danach wieder zu. Die Funktion ist also nicht monoton.
  • Nach unten beschränkt, nach oben unbeschränkt: Die Ausgaben fallen nie unter etwa −0.278, und positive Eingaben werden wie bei ReLU ohne Sättigung weitergegeben. So wird das Problem des verschwindenden Gradienten vermieden, das bei Sigmoid und tanh in tiefen Netzwerken auftritt.

Der folgende PyTorch-Code berechnet SiLU sowie die Gradienten von SiLU und ReLU an fünf Punkten.

import torch
import torch.nn.functional as F

x = torch.tensor([-4.0, -1.28, 0.0, 1.0, 4.0], requires_grad=True)

# SiLU(x) = x * sigmoid(x), verglichen mit ReLU für dieselben Eingaben
silu = F.silu(x)
relu = F.relu(x)

# Gradient jeder Aktivierung bezüglich ihrer Eingabe
silu_grad = torch.autograd.grad(silu.sum(), x)[0]
relu_grad = torch.autograd.grad(relu.sum(), x)[0]

print("SiLU output:  ", [round(v, 4) for v in silu.tolist()])
print("SiLU gradient:", [round(v, 4) for v in silu_grad.tolist()])
print("ReLU gradient:", relu_grad.tolist())

Ausgegeben werden SiLU-Werte [-0.0719, -0.2785, 0.0, 0.7311, 3.9281], SiLU-Gradienten [-0.0527, -0.0003, 0.5, 0.9277, 1.0527] und ReLU-Gradienten [0.0, 0.0, 0.0, 1.0, 1.0]. Bei −4 gibt ReLU den Wert 0 aus und leitet keinen Gradienten weiter; SiLU leitet weiterhin −0.0527 weiter. Bei −1.28 liegt SiLU mit −0.2785 an ihrem Minimum und ihr Gradient ist fast genau 0. Bei 4 ist ihr Gradient etwas größer als 1.

Ursprung des Namens#

Hendrycks und Gimpel nannten x · σ(x) in ihrem Paper aus dem Jahr 2016, in dem sie GELU vorstellten, Sigmoid-Linear-Einheit. Dort erschien die Funktion als sigmoidbasierte Variante von GELU: Sie schnitt schlechter als GELU, aber in der Regel besser als ReLU und ELU ab. Elfwing, Uchibe und Doya verwendeten SiLU 2017 für die Funktionsapproximation in neuronalen Netzen beim bestärkenden Lernen. Später im selben Jahr entdeckten Forschende bei Google x · σ(βx) durch eine automatisierte Suche nach Aktivierungsfunktionen erneut, nannten die Funktion Swish und berichteten, dass der Ersatz von ReLU die Top-1-Genauigkeit auf ImageNet bei Mobile NASNet-A um 0,9 % und bei Inception-ResNet-v2 um 0,6 % erhöhte. PyTorch ergänzte nn.SiLU in Version 1.7 unter dem älteren Namen.

SiLU und andere Aktivierungsfunktionen im Vergleich#

  • ReLU: max(0, x) ist günstiger zu berechnen, erzeugt exakte Nullen und hat bei positiven Eingaben einen konstanten Gradienten von 1. SiLU ergänzt für glatte Übergänge und Gradienten auf der negativen Seite eine Sigmoidfunktion pro Element.
  • GELU: x · Φ(x), wobei Φ die kumulative Verteilungsfunktion der Standardnormalverteilung bezeichnet. Die beiden Kurven haben dieselbe Form; die skalierte SiLU x · σ(1.702x) nähert GELU überall bis auf etwa 0.02 an. GELU ist die übliche Wahl in Transformern wie BERT und ViT, während SiLU häufiger in Detektoren auf CNN-Basis vorkommt.
  • Sigmoid: σ(x) allein bildet Eingaben auf den Bereich von 0 bis 1 ab und sättigt an beiden Enden. Daher dient sie als Ausgabeschicht für Wahrscheinlichkeiten. Bei SiLU wird sie nur als Gate eingesetzt.
  • Hard-Swish: x · ReLU6(x + 3) / 6 ist eine mit MobileNetV3 eingeführte Näherung an SiLU. Sie ersetzt das Sigmoid-Gate durch ein stückweise lineares Gate und vermeidet so die Exponentialfunktion auf mobiler Hardware.
  • SwiGLU: Eine gegatete lineare Einheit, die SiLU(xW) elementweise mit einer zweiten Projektion xV multipliziert. Sie bildet den Feed-forward-Block von LLaMA und vielen anderen LLMs.

Einsatzbereiche von SiLU#

SiLU wird in EfficientNet unter dem Namen Swish durchgängig als Aktivierungsfunktion verwendet und ist bei modernen Echtzeit-Objektdetektoren weit verbreitet. Modelle von Ultralytics YOLO verwenden SiLU seit YOLOv5 v4.0, das im Januar 2021 LeakyReLU und Hardswish durch SiLU ersetzte, und in YOLO26 besteht jeder Conv-Block aus einer Faltung, einer Batch-Normalisierung und SiLU.

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