Vektor und Embedding werden oft verwechselt, weil beide Zahlenvektoren sind. Der Unterschied liegt darin, was die Zahlen bedeuten: bloße Position oder geprüfte Richtung.
Ein Vektor ist eine geordnete Liste von Zahlen, etwa drei Werte für einen Punkt im Raum. Für sich genommen sagt er nichts über Bedeutung aus. In PyTorch ist ein solcher Vektor ein Tensor (ein mehrdimensionales Zahlenfeld) mit einer Dimension.
Ein Embedding dagegen ist ein Vektor, der die Bedeutung eines Wortes als Zahlenpunkt darstellt. Es entsteht, indem ein Modell auf großen Textmengen trainiert wird und Wörtern mit ähnlichen Kontexten ähnliche Vektoren gibt. „Hund“ und „Katze“ liegen nahe beieinander, weil beide neben Haustier, fressen, spazieren auftauchen.
Wie nah zwei Embeddings sind, misst die Kosinus-Ähnlichkeit: der Winkel zwischen zwei Vektoren, unabhängig von ihrer Länge. Der Wert 1,0 heißt gleiche Richtung, 0,0 senkrechte Vektoren ohne gemeinsame Bedeutung, −1,0 entgegengesetzte Richtung. „Hund“ und „Katze“ zeigen fast in dieselbe Richtung; „Hund“ und „Rechnung“ (Kontexte: bezahlen, Betrag, Mahnung) zeigen in deutlich andere Richtungen.
Die Kosinus-Ähnlichkeit ist das Maß, das den Abstand dieser Bedeutungen in eine einzige Zahl übersetzt.
Faustregel: Sobald nach inhaltlicher Nähe gefragt ist – etwa bei einer Suche –, nutzt man Embeddings plus Kosinus-Ähnlichkeit statt einfachem Zahlenvergleich. Genau so findet ein RAG-System passende Stellen: Die Anfrage wird zum Vektor, und per Kosinus-Ähnlichkeit wandern die treffendsten Texte als Kontext zum Sprachmodell.
Der Vektor ist also der Behälter, das Embedding die Bedeutung darin – und der Kosinus sagt, wie nah zwei Bedeutungen einander kommen.
📌 Vektor · Embedding · Kosinus-Ähnlichkeit
📚 KI von Grund auf · Tag 4 von 30
#Embeddings #rag #machinelearning