Embeddings
Embeddings sind gelernte Vektoren, die ähnliche Texte, Bilder oder Elemente nahe beieinander anordnen. Behandelt ihre Erstellung, ihren Vergleich und ihre Suche in großem Maßstab.
Eine Einbettung ist ein gelernter Zahlenvektor, der ein Element wie ein Wort, Bild, Produkt oder einen Nutzer repräsentiert. Elemente mit ähnlicher Bedeutung oder ähnlichem Inhalt erhalten dabei ähnliche Vektoren. Der Abstand in diesem Vektorraum wird so zum Ähnlichkeitsmaß. Damit kann Software durch Vektorvergleiche statt anhand von Rohpixeln oder Zeichenfolgen suchen, gruppieren, Empfehlungen geben und klassifizieren. Einbettungen sind auch die Arbeitsrepräsentation in neuronalen Netzwerken: Ein großes Sprachmodell (LLM) wandelt jedes Token vor seiner ersten Transformer-Schicht in eine Einbettung um, und ein Visionsmodell wandelt ein Bild mithilfe seines Backbones in Merkmalsvektoren um. Für die Suche verwendete Einbettungen haben in der Regel einige Hundert bis einige Tausend Dimensionen, deutlich weniger als die Anzahl der Werte in der Roheingabe.
Wie Embeddings erstellt werden#
Embeddings entstehen aus zwei Arten erlernter Komponenten:
- Nachschlagetabellen: Für diskrete Elemente wie Tokens, Produkt-IDs oder Benutzer-IDs speichert eine Embedding-Schicht eine erlernbare Zeile pro Element. Beim Nachschlagen eines Elements wird dessen Zeile zurückgegeben. PyTorchs
nn.Embeddingist eine solche Tabelle. Ihre Zeilen beginnen mit Zufallswerten und werden zusammen mit dem restlichen Modell durch Backpropagation aktualisiert. Daher bewegen sich Elemente, die bei der Trainingsaufgabe ähnliche Rollen spielen, auf ähnliche Vektoren zu. - Encoder: Bei Bildern, Audio und Freitext bildet ein Netzwerk die gesamte Eingabe auf einen Vektor ab, häufig indem es die Feature-Maps eines CNN bündelt oder die Ausgabetokens eines Transformers ausliest. Für eine Aufgabe wie Klassifizierung trainierte Encoder liefern nützliche Embeddings als Nebenprodukt. Mit kontrastivem Lernen trainierte Encoder formen den Embedding-Raum direkt: CLIP tut dies, indem es Bilder und ihre Bildunterschriften in einem gemeinsamen Raum anordnet.
Word2vec, 2013 von Tomas Mikolov und Kollegen bei Google veröffentlicht, zeigte, wie viel Struktur durch ein solches Training erfasst wird. In seinen Wortvektoren liegt Vektor("King") − Vektor("Man") + Vektor("Woman") am nächsten an Vektor("Queen"). Die veröffentlichten vortrainierten Google-News-Vektoren umfassen 3 Millionen Wörter und Ausdrücke in 300 Dimensionen.
Embeddings vergleichen#
Kosinusähnlichkeit vergleicht die Richtungen zweier Vektoren und liegt zwischen −1 und 1. Das Skalarprodukt berücksichtigt auch ihre Längen, während der euklidische Abstand die geradlinige Distanz zwischen ihnen misst. Viele Systeme normalisieren Embeddings auf Einheitslänge. Dadurch sind Kosinusähnlichkeit und Skalarprodukt identisch und ordnen Nachbarn genauso wie der euklidische Abstand. YOLO26-Modelle erzeugen Bild-Embeddings über embed(). Dabei wird der Vorhersagekopf übersprungen und für jedes Bild ein Vektor zurückgegeben, indem die Ausgabe der vorletzten Schicht des Modells gemittelt wird:
import torch.nn.functional as F
from ultralytics import YOLO
from ultralytics.utils import ASSETS
# Load a YOLO26 classification model trained on ImageNet
model = YOLO("yolo26n-cls.pt")
# embed() returns one pooled feature vector per image instead of predictions
bus, zidane = model.embed([ASSETS / "bus.jpg", ASSETS / "zidane.jpg"])
print(f"Embedding length: {bus.shape[0]}")
# Higher cosine similarity means the model sees more similar content
print(f"Cosine similarity: {F.cosine_similarity(bus, zidane, dim=0).item():.3f}")Bei YOLO26n-cls ist die Einbettung ein 256-dimensionaler Vektor: die gepoolte Ausgabe des Attention-Blocks am Ende des Backbones. Die zweite Zeile gibt die Kosinusähnlichkeit der beiden mitgelieferten Beispielfotos aus. Wird derselbe Vergleich mit den gespeicherten Einbettungen einer ganzen Sammlung durchgeführt, ordnet die Bildähnlichkeitssuche ihre Ergebnisse.
Embeddings in großem Maßstab durchsuchen#
Eine Anfrage einzeln mit Millionen gespeicherter Vektoren zu vergleichen, ist zu langsam. Deshalb erstellen Vektordatenbanken Indizes für ungefähre nächste Nachbarn, etwa graphbasierte HNSW-Indizes oder Inverted-File-Indizes. Sie finden ähnliche Treffer, während sie nur einen kleinen Teil der Sammlung prüfen. Die Sammlung wird einmal eingebettet. Jede Anfrage wird zum Suchzeitpunkt mit demselben Encoder eingebettet – oder mit dem gekoppelten Text-Encoder, wenn Textbilder durchsucht werden:
Der Speicherbedarf beeinflusst den Entwurf ebenso stark wie die Genauigkeit. Matroschka-Repräsentationslernen trainiert Embeddings, deren führende Dimensionen eigenständig funktionieren. So lassen sich Vektoren zur Platzersparnis kürzen. Bei der Vektorquantisierung wird jeder Vektor auf wenige Bytes komprimiert. Hybride Suche kombiniert Embedding-Ähnlichkeit mit dem Abgleich von Schlüsselwörtern.
Anwendungen#
- Semantische Suche und Retrieval-Augmented Generation (RAG): Text-Embeddings rufen Textpassagen nach ihrer Bedeutung ab. Eine Anfrage zu „Kfz-Versicherungsansprüchen“ findet daher auch Dokumente mit der Formulierung „Autoversicherung“. RAG übergibt die abgerufenen Textpassagen als Kontext an ein LLM.
- Empfehlungssysteme: Benutzer und Elemente werden in denselben Raum eingebettet. Die Elemente, die dem Vektor eines Benutzers am nächsten liegen, kommen als Empfehlungen infrage.
- Zero-Shot-Klassifizierung: Modelle mit einem gemeinsamen Bild-Text-Raum klassifizieren ein Bild, indem sie sein Embedding mit den Embeddings von als Text formulierten Klassennamen vergleichen.
- Objekt-Reidentifizierung: Erscheinungsbild-Embeddings ordnen dieselbe Person oder dasselbe Fahrzeug verschiedenen Kameras und zeitlichen Lücken innerhalb einer Spur zu.
- Datensatzerkundung: Werden Einbettungen mit t-SNE oder UMAP auf zwei Dimensionen projiziert, werden Cluster, nahezu identische Beispiele und Ausreißer im Datensatz sichtbar. Genau das zeigt das Clustering-Panel für Datensätze in Ultralytics Platform.
Embeddings und verwandte Begriffe#
- Latenter Raum: Der Vektorraum, in dem sich Embeddings befinden. „Latente Repräsentation“ und „Embedding“ werden häufig synonym verwendet.
- Merkmalsextraktion: Jedes Verfahren, das Rohdaten in Merkmale umwandelt. Ein Embedding ist ein erlernter Merkmalsvektor, bei dem die Abstände zwischen Vektoren eine Bedeutung tragen.
- Tokenisierung: Teilt Text in Tokens auf und ordnet jedem eine ganzzahlige ID zu. Die Embedding-Schicht bildet anschließend jede ID auf einen Vektor ab.
- One-Hot-Kodierung: Stellt Element i eines Vokabulars als Vektor aus Nullen mit einer 1 an Position i dar. Dadurch sind alle Elementpaare gleich weit voneinander entfernt und die Kodierung enthält keine Ähnlichkeitsinformation. Die Multiplikation eines One-Hot-Vektors mit der Gewichtsmatrix einer Embedding-Tabelle wählt genau eine Zeile aus. Das ist das Ergebnis eines Embedding-Nachschlagevorgangs, ohne dass die Multiplikation tatsächlich ausgeführt werden muss.










