Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Softmax

Entdecken Sie die Softmax-Funktion in der KI. Erfahren Sie, wie sie Logits in Wahrscheinlichkeiten für die Mehrklassenklassifizierung mit Ultralytics und neuronalen Netzen umwandelt.

Softmax ist eine mathematische Funktion, die im Bereich der künstlichen Intelligenz eine zentrale Rolle spielt und insbesondere als letzter Schritt in vielen Klassifizierungsalgorithmen dient. Sie wandelt einen Vektor aus Rohzahlen, oft als Logits bezeichnet, in einen Vektor aus Wahrscheinlichkeiten um. Diese Umwandlung stellt sicher, dass die Ausgabewerte alle positiv sind und sich genau zu eins addieren, wodurch effektiv eine gültige Wahrscheinlichkeitsverteilung entsteht. Aufgrund dieser Eigenschaft ist Softmax die Standard-Aktivierungsfunktion , die in der Ausgabeschicht von neuronalen Netzen verwendet wird, die für die Mehrklassenklassifizierung konzipiert sind, bei der das System eine einzige Kategorie aus mehr als zwei sich gegenseitig ausschließenden Optionen auswählen muss.

Die Mechanik von Softmax

In einem typischen Deep-Learning-Workflow (DL) führen die Schichten eines Netzwerks komplexe Matrixmultiplikationen und -additionen durch. Die Ausgabe der letzten Schicht vor der Aktivierung besteht aus Rohwerten, die als Logits bezeichnet werden. Diese Werte können von negativer Unendlichkeit bis zu positiver Unendlichkeit reichen, was es schwierig macht, sie direkt als Konfidenzniveaus zu interpretieren.

Softmax löst dieses Problem durch zwei Hauptoperationen:

  1. Potenzierung: Sie berechnet die Exponentialfunktion jeder eingegebenen Zahl. Dieser Schritt stellt sicher, dass alle Werte nicht negativ sind (da $e^x$ immer positiv ist) und bestraft Werte, die deutlich unter dem Maximum liegen, während die höchsten Werte hervorgehoben werden.
  2. Normalisierung: Dabei werden diese exponierten Werte addiert und jeder einzelne Exponent durch diese Gesamtsumme dividiert. Durch diesen Normalisierungsprozess werden die Zahlen so skaliert, dass sie Teile eines Ganzen darstellen, sodass Entwickler sie als prozentuale Konfidenzwerte interpretieren können.

Anwendungsfälle in der Praxis

Die Fähigkeit, eindeutige Wahrscheinlichkeiten auszugeben, macht Softmax in verschiedenen Branchen und Maschinelles Lernen (ML) -Aufgaben unverzichtbar.

  • Bildklassifizierung: In der Bildverarbeitung verwenden Modelle Softmax, um Bilder zu kategorisieren. Wenn beispielsweise das Ultralytics ein Foto analysiert , kann es Bewertungen für Klassen wie „Golden Retriever“, „Deutscher Schäferhund“ und „Pudel“ Softmax wandelt diese Werte in Wahrscheinlichkeiten um (z. B. 0,85, 0,10, 0,05), die eine hohe Wahrscheinlichkeit anzeigen, dass das Bild einen Golden Retriever enthält. Dies ist entscheidend für Anwendungen, die von der automatisierten Fotoorganisation bis zur medizinischen Diagnose in der KI im Gesundheitswesen reichen.
  • Natürliche Sprachverarbeitung (Natural Language Processing, NLP): Softmax ist die Engine hinter der Textgenerierung in großen Sprachmodellen (Large Language Models, LLMs). Wenn ein Modell wie ein Transformer einen Satz generiert, sagt es das nächste Wort (Token) voraus, indem es für jedes Wort in seinem Vokabular eine Punktzahl berechnet. Softmax wandelt diese Punktzahlen in Wahrscheinlichkeiten um, sodass das Modell das wahrscheinlichste nächste Wort auswählen kann, was eine flüssige maschinelle Übersetzung und dialogorientierte KI ermöglicht.
  • Verstärkendes Lernen: Agenten im verstärkenden Lernen verwenden häufig Softmax zur Auswahl von Aktionen. Anstatt immer die Aktion mit dem höchsten Wert zu wählen, kann ein Agent die Wahrscheinlichkeiten nutzen, um verschiedene Strategien zu erkunden und so Exploration und Exploitation in Umgebungen wie der Robotersteuerung oder dem Spielen von Spielen auszugleichen.

Python Code Beispiel

Das folgende Beispiel zeigt, wie ein vortrainiertes YOLO26-Klassifizierungsmodell geladen und auf die über Softmax generierten Wahrscheinlichkeitswerte zugegriffen wird.

from ultralytics import YOLO

# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Run inference on a sample image
results = model("https://ultralytics.com/images/bus.jpg")

# The model applies Softmax internally. Access the top prediction:
# The 'probs' attribute contains the probability distribution.
top_prob = results[0].probs.top1conf.item()
top_class = results[0].names[results[0].probs.top1]

print(f"Predicted Class: {top_class}")
print(f"Confidence (Softmax Output): {top_prob:.4f}")

Unterscheidung von Softmax und verwandten Konzepten

Obwohl Softmax in Mehrklassen-Szenarien dominiert, ist es wichtig, es von anderen mathematischen Funktionen zu unterscheiden, die beim Modelltraining und beim Architekturdesign verwendet werden:

  • Sigmoid: Die Sigmoid-Funktion skaliert ebenfalls Werte zwischen 0 und 1, behandelt jedoch jede Ausgabe unabhängig voneinander. Dadurch eignet sich Sigmoid ideal für die binäre Klassifizierung (ja/nein) oder die Multi-Label-Klassifizierung , bei der sich die Klassen nicht gegenseitig ausschließen (z. B. kann ein Bild sowohl eine „Person” als auch einen „Rucksack” enthalten). Softmax erzwingt, dass die Wahrscheinlichkeiten sich zu eins addieren, wodurch die Klassen miteinander konkurrieren.
  • ReLU (Rectified Linear Unit): ReLU wird in erster Linie in den versteckten Schichten eines Netzwerks verwendet, um Nichtlinearität einzuführen. Im Gegensatz zu Softmax bindet ReLU die Ausgaben nicht an einen bestimmten Bereich (es gibt einfach Null für negative Eingaben und die Eingabe selbst für positive Eingaben aus) und erzeugt keine Wahrscheinlichkeitsverteilung.
  • Argmax: Während Softmax die Wahrscheinlichkeiten für alle Klassen liefert, wird die Argmax-Funktion häufig in Verbindung damit verwendet, um den einzelnen Index mit der höchsten Wahrscheinlichkeit auszuwählen. Softmax liefert die „weiche” Konfidenz, während Argmax die „harte” endgültige Entscheidung liefert.

Erweiterte Integration

In modernen ML-Pipelines wird Softmax oft implizit innerhalb von Verlustfunktionen berechnet. Beispielsweise kombiniert der Cross-Entropy-Verlust Softmax und negative Log-Likelihood in einem einzigen mathematischen Schritt, um die numerische Stabilität während des Trainings zu verbessern. Plattformen wie die Ultralytics bewältigen diese Komplexitäten automatisch, sodass Benutzer robuste Modelle trainieren können, ohne diese mathematischen Operationen manuell implementieren zu müssen.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten