Glossar

Sigmoid

Entdecke die Macht der Sigmoid-Funktion in der KI. Erfahre, wie sie Nicht-Linearität ermöglicht, die binäre Klassifizierung unterstützt und ML-Fortschritte vorantreibt!

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Die Sigmoid-Funktion ist eine weithin anerkannte Aktivierungsfunktion, die beim maschinellen Lernen (ML) und insbesondere bei neuronalen Netzen (NN) verwendet wird. Sie zeichnet sich durch eine S-förmige Kurve aus, die jeden Eingabewert mathematisch auf eine Ausgabe zwischen 0 und 1 abbildet. Diese Eigenschaft macht sie besonders nützlich für die Umwandlung von Rohausgaben (Logits) eines Modells in Wahrscheinlichkeiten, die leichter zu interpretieren sind. In der Vergangenheit war Sigmoid eine beliebte Wahl für versteckte Schichten in NNs, obwohl sie in modernen Deep-Learning-Architekturen (DL) aufgrund bestimmter Einschränkungen weitgehend durch Funktionen wie ReLU ersetzt wurde.

Wie Sigmoid funktioniert

Die Sigmoid-Funktion nimmt eine beliebige reelle Zahl und zerquetscht sie in den Bereich (0, 1). Große negative Eingaben führen zu einer Ausgabe nahe 0, große positive Eingaben zu einer Ausgabe nahe 1 und eine Eingabe von 0 führt zu einer Ausgabe von 0,5. Es handelt sich um eine nichtlineare Funktion, was wichtig ist, weil das Stapeln mehrerer linearer Schichten in einem neuronalen Netz ohne Nichtlinearität einfach zu einer weiteren linearen Funktion führen würde, was die Fähigkeit des Modells einschränkt, komplexe Muster in Daten wie Bildern oder Text zu lernen. Sigmoid ist außerdem differenzierbar, eine notwendige Eigenschaft für das Training neuronaler Netze mit gradientenbasierten Optimierungsmethoden wie Backpropagation und Gradientenabstieg.

Anwendungen des Sigmoid

Sigmoid wird heute hauptsächlich in der Ausgabeschicht von binären Klassifizierungsmodellen verwendet. Da seine Ausgabe von Natur aus zwischen 0 und 1 liegt, ist er ideal, um die Wahrscheinlichkeit darzustellen, dass eine Eingabe zur positiven Klasse gehört.

  1. Medizinische Diagnose: Bei der medizinischen Bildanalyse kann ein Modell die Merkmale eines Scans (z. B. eines Hirntumordatensatzes) analysieren und eine Sigmoid-Ausgabeschicht verwenden, um die Wahrscheinlichkeit des Vorliegens eines bestimmten Zustands (z. B. einer bösartigen Erkrankung) vorherzusagen. Eine Ausgabe über einem bestimmten Schwellenwert (oft 0,5) bedeutet eine positive Vorhersage. Diese probabilistische Ausgabe hilft dem Arzt, das Vertrauen des Modells zu verstehen. Siehe Beispiele in der Radiologie-KI-Forschung.
  2. Spam-Erkennung: In der natürlichen Sprachverarbeitung (NLP) kann eine Sigmoid-Funktion in der letzten Schicht eines Modells zur Textklassifizierung verwendet werden, z. B. um festzustellen, ob eine E-Mail Spam ist oder nicht. Das Modell verarbeitet den Inhalt der E-Mail und gibt (über die Sigmoid-Funktion) eine Wahrscheinlichkeit dafür aus, dass es sich bei der E-Mail um Spam handelt. Dies ist ein klassisches binäres Klassifizierungsproblem, das in NLP-Anwendungen häufig vorkommt.

Sigmoid kann auch bei Multi-Label-Klassifizierungsaufgaben eingesetzt werden, bei denen eine Eingabe gleichzeitig zu mehreren Kategorien gehören kann (z. B. ein Nachrichtenartikel mit den Begriffen "Politik", "Wirtschaft" und "Europa"). In diesem Fall wird für jedes potenzielle Label ein separates Sigmoid-Ausgangsneuron verwendet, das die Wahrscheinlichkeit schätzt, dass das jeweilige Label unabhängig von den anderen relevant ist. Im Gegensatz dazu wird bei der Mehrklassen-Klassifizierung (bei der nur ein Label zutrifft, z. B. die Klassifizierung eines Bildes als "Katze", "Hund" oder "Vogel") in der Regel die Softmax-Funktion verwendet.

Sigmoid Vs. Verwandte Aktivierungsfunktionen

Um Sigmoid zu verstehen, musst du es oft mit anderen Aktivierungsfunktionen vergleichen:

  • ReLU (Rectified Linear Unit): Die ReLU gibt die Eingabe direkt aus, wenn sie positiv ist, und sonst null. Sie ist rechnerisch einfacher und vermeidet das Problem des verschwindenden Gradienten bei positiven Eingaben, was sie zur bevorzugten Wahl für versteckte Schichten in den meisten modernen NNs macht, einschließlich vieler Ultralytics YOLO Modellen wie YOLOv8. Varianten wie Leaky ReLU befassen sich mit dem Problem der "sterbenden Neuronen" von ReLU.
  • Tanh (Hyperbolischer Tangens): Tanh ist mathematisch mit Sigmoid verwandt, verkleinert aber die Eingaben auf den Bereich (-1, 1). Seine Ausgabe ist null-zentriert, was manchmal bei der Optimierung helfen kann, verglichen mit der nicht-null-zentrierten Ausgabe von Sigmoid (0 bis 1). Allerdings leidet er wie Sigmoid unter dem Problem des verschwindenden Gradienten.
  • Softmax: Wird in der Ausgabeschicht für Klassifizierungsprobleme mit mehreren Klassen verwendet. Im Gegensatz zu Sigmoid (das unabhängige Wahrscheinlichkeiten für binäre oder Multi-Label-Aufgaben liefert) gibt Softmax eine Wahrscheinlichkeitsverteilung über alle Klassen aus und stellt sicher, dass die Summe der Wahrscheinlichkeiten 1 ergibt. Dadurch ist es geeignet, wenn sich die Klassen gegenseitig ausschließen.
  • SiLU (Sigmoid Linear Unit) / Swish: Eine neuere Aktivierungsfunktion, die den Input mit dem Sigmoid des Inputs multipliziert. Sie schneidet in tieferen Modellen oft besser ab als ReLU und wird in Architekturen wie EfficientNet und einigen YOLO verwendet. Es zeigt, dass Sigmoid als Komponente in neueren Funktionen weiterhin relevant ist. In der PyTorch findest du die SiLU-Implementierung.

Vorteile und Beschränkungen

Vorteile:

  • Probabilistische Interpretation: Der Ausgabebereich (0, 1) ist intuitiv für die Darstellung von Wahrscheinlichkeiten bei der binären Klassifizierung.
  • Glatter Gradient: Im Gegensatz zu Funktionen mit abrupten Änderungen (wie Stufenfunktionen) hat Sigmoid eine glatte, wohldefinierte Ableitung, die das gradientenbasierte Lernen erleichtert.

Beschränkungen:

  • Verschwindende Gradienten: Bei sehr hohen oder sehr niedrigen Eingangswerten wird der Gradient der Sigmoid-Funktion extrem klein (nahe Null). Während der Backpropagation können diese kleinen Gradienten über viele Schichten hinweg multipliziert werden, wodurch die Gradienten der früheren Schichten verschwinden und das Lernen effektiv gestoppt wird. Das ist einer der Hauptgründe, warum sie für tiefe versteckte Schichten weniger geeignet ist.
  • Nicht nullzentrierte Ausgabe: Der Ausgabebereich (0, 1) ist nicht um die Null zentriert. Dies kann manchmal die Konvergenz von Gradientenabstiegsalgorithmen im Vergleich zu nullzentrierten Funktionen wie Tanh verlangsamen.
  • Berechnungsaufwand: Die exponentielle Operation macht sie etwas rechenintensiver als einfachere Funktionen wie ReLU.

Moderne Nutzung und Verfügbarkeit

Obwohl Sigmoid heute in versteckten Schichten von tiefen Netzen weniger verbreitet ist, bleibt es eine Standardwahl für Ausgabeschichten in binären Klassifizierungs- und Multi-Label-Klassifizierungsaufgaben. Es ist auch eine Kernkomponente der Gating-Mechanismen in rekurrenten neuronalen Netzen (RNNs) wie LSTMs und GRUs, die den Informationsfluss steuern.

Sigmoid ist in allen wichtigen Ländern erhältlich. Deep Learning-Frameworks, einschließlich PyTorch (als torch.sigmoid) und TensorFlow (als tf.keras.activations.sigmoid). Plattformen wie Ultralytics HUB unterstützen Modelle mit verschiedenen Aktivierungsfunktionen, die es den Nutzern ermöglichen Zug und einsetzen. anspruchsvoll Computer Vision Lösungen.

Alles lesen