Embeddings
Entdecke, wie Embeddings menschliche Daten und Maschinenlogik verbinden. Erfahre, wie du Vektordarstellungen für KI-Aufgaben mit Ultralytics YOLO26 erzeugst, und erkunde die Ultralytics Platform.
Embeddings sind dichte, niedrigdimensionale, kontinuierliche Vektorrepräsentationen diskreter Variablen und dienen als grundlegende Übersetzungsschicht zwischen menschlichen Daten und Maschinenlogik. Im Bereich der künstlichen Intelligenz (AI) können Computer unübersichtliche, unstrukturierte Daten wie Text, Bilder oder Audio nicht intuitiv verstehen. Embeddings lösen dieses Problem, indem sie diese Eingaben in Listen reeller Zahlen umwandeln, die als Vektoren bezeichnet werden und in einem hochdimensionalen mathematischen Raum existieren. Anders als herkömmliche Kodierungen, die einem Objekt möglicherweise einfach eine zufällige ID zuweisen, werden Embeddings durch Training gelernt. Dadurch werden semantisch ähnliche Elemente – etwa die Wörter "König" und "Königin" oder Bilder von zwei verschiedenen Katzen – im Vektorraum nahe beieinander positioniert.
Funktionsweise von Embeddings#
Zur Erstellung eines Embeddings werden Rohdaten in ein [neuronales Netzwerk](https://ultralytics-translation-0.invalid eingespeist, das für die Merkmalsextraktion entwickelt wurde. Während des Trainings lernt das Modell, die wesentlichen Eigenschaften der Eingabe in eine kompakte numerische Form zu komprimieren. Ein Computer-Vision-(CV)-Modell, das ein Foto analysiert, sieht beispielsweise nicht nur Pixel, sondern bildet Formen, Texturen und Farben auf eine bestimmte Koordinate in einem mehrdimensionalen Diagramm ab. Zur Messung der Ähnlichkeit berechnen Systeme den Abstand zwischen diesen Koordinaten anhand von Metriken wie der Kosinusähnlichkeit oder der euklidischen Distanz. Diese mathematische Nähe ermöglicht es Algorithmen, komplexe Aufgaben wie Klassifizierung und Clustering äußerst effizient auszuführen.
Anwendungen in der Praxis#
Embeddings bilden den Motor für viele intelligente Funktionen moderner Softwareprodukte.
- Semantische Suche: Herkömmliche Suchmaschinen basieren häufig auf einer exakten Schlüsselwortübereinstimmung, die scheitert, wenn ein Benutzer nach "Auto" sucht, das Dokument aber "Wagen" enthält. Embeddings erfassen die Bedeutung hinter den Wörtern. Indem die Suchanfrage und die Dokumente der Datenbank als Vektoren dargestellt werden, kann das System Ergebnisse abrufen, die der Absicht des Benutzers entsprechen, selbst wenn sich die konkreten Wörter unterscheiden.
- Empfehlungssysteme: Streamingdienste und E-Commerce-Websites verwenden Embeddings, um die Benutzererfahrung zu personalisieren. Wenn ein Benutzer einen Science-Fiction-Film ansieht, identifiziert das System den Embedding-Vektor dieses Films und sucht in der Datenbank nach anderen Filmen mit nahegelegenen Vektoren. Dadurch sind präzise Empfehlungen auf Grundlage der inhaltlichen Ähnlichkeit möglich, statt lediglich auf manuellen Tags oder Kategorien zu basieren.
- Zero-Shot-Lernen: Fortschrittliche Modelle verwenden gemeinsame Embeddings, um verschiedene Modalitäten wie Text und Bilder miteinander zu verknüpfen. Dadurch kann ein System Objekte erkennen, die es während des Trainings noch nie ausdrücklich gesehen hat, indem es das Bild-Embedding mit dem Text-Embedding des Objektnamens in Beziehung setzt.
Embeddings mit Python erzeugen#
Modernste Modelle wie YOLO26 können verwendet werden, um effizient robuste Bild-Embeddings zu erzeugen. Das folgende Beispiel zeigt, wie sich mit dem ultralytics Python-Paket ein Merkmalsvektor aus einem Bild extrahieren lässt.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embeddings for an image
# The embed() method returns the feature vector representing the image content
embedding_vector = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the embedding (e.g., a vector of length 1280)
print(f"Embedding shape: {embedding_vector[0].shape}")Embeddings im Vergleich zu verwandten Konzepten#
Für die effektive Umsetzung von KI-Lösungen ist es hilfreich, Embeddings von eng verwandten Fachbegriffen zu unterscheiden.
- Embeddings im Vergleich zu Vektorsuche: Das Embedding ist die Datendarstellung selbst, also die Liste von Zahlen. Die Vektorsuche ist der anschließende Prozess, bei dem eine Datenbank abgefragt wird, um die nächsten Nachbarn dieses Embeddings zu finden. Zur Speicherung und Suche nach diesen Embeddings in großem Maßstab werden häufig spezialisierte Werkzeuge verwendet, die als Vektordatenbank bezeichnet werden.
- Embeddings im Vergleich zur Tokenisierung: In der natürlichen Sprachverarbeitung (NLP) ist die Tokenisierung der vorbereitende Schritt, bei dem Text in kleinere Einheiten (Tokens) zerlegt wird. Diese Tokens werden anschließend Embeddings zugeordnet. Die Tokenisierung bereitet also die Daten vor, während Embeddings die Bedeutung der Daten darstellen.
- Embeddings im Vergleich zu Deep Learning: Deep Learning ist das umfassendere Gebiet des maschinellen Lernens, das auf neuronalen Netzwerken basiert. Embeddings sind eine spezifische Ausgabe oder Schicht innerhalb einer Deep-Learning-Architektur und dienen häufig als Brücke zwischen den Roheingaben und den Entscheidungsschichten des Modells.
Entwickler, die den Lebenszyklus ihrer Datensätze verwalten möchten, einschließlich der Annotation und des Modelltrainings zur Erzeugung benutzerdefinierter Embeddings, können die Ultralytics Platform nutzen. Dieses umfassende Werkzeug vereinfacht den Arbeitsablauf von der Datenverwaltung bis zur Bereitstellung und stellt sicher, dass die Embeddings, die deine Anwendungen antreiben, aus hochwertigen, sorgfältig kuratierten Daten abgeleitet werden. Unabhängig davon, ob du Frameworks wie PyTorch oder TensorFlow verwendest: Die Beherrschung von Embeddings ist ein entscheidender Schritt beim Aufbau anspruchsvoller Systeme zur Mustererkennung.









