Einbettungen stellen Objekte aus der realen Welt wie Wörter, Bilder oder Videos in einer Form dar, die von Computern verarbeitet werden kann. Einbettungen ermöglichen die Suche nach Ähnlichkeiten und sind von grundlegender Bedeutung für die KI.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Was ist künstliche Intelligenz (KI)?
Was ist maschinelles Lernen?
Große Sprachmodelle (LLMs)
Vektordatenbank
Prädiktive KI
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Einbettungen sind Darstellungen von Werten oder Objekten wie Text, Bilder und Audio, die für maschinelle Lernmodelle und semantische Suchalgorithmen bestimmt sind. Sie übersetzen solche Objekte in eine mathematische Form, die den Faktoren oder Merkmalen entspricht, die sie haben oder nicht haben, sowie den Kategorien, zu denen sie gehören.
Im Wesentlichen ermöglichen Einbettungen den maschinellen Lernmodellen das Auffinden ähnlicher Objekte. Bei einem Foto oder einem Dokument könnte ein maschinelles Lernmodell, das Einbettungen verwendet, ein ähnliches Foto oder Dokument finden. Da Einbettungen es Computern ermöglichen, die Beziehungen zwischen Wörtern und anderen Objekten zu verstehen, sind sie grundlegend für die künstliche Intelligenz (KI).
Die Dokumente oben rechts in diesem zweidimensionalen Raum können zum Beispiel miteinander in Beziehung stehen:
Technisch gesehen sind Einbettungen Vektoren, die von maschinellen Lernmodellen erstellt werden, um aussagekräftige Daten über jedes Objekt zu erfassen.
In der Mathematik ist ein Vektor eine Reihe von Zahlen, die einen Punkt in einem dimensionalen Raum definieren. Praktischer ausgedrückt, ist ein Vektor eine Liste von Zahlen – wie {{1989, 22, 9, 180}}. Jede Zahl gibt an, wo sich das Objekt entlang einer bestimmten Dimension befindet.
Beim maschinellen Lernen ermöglichen die Vektoren die Suche nach ähnlichen Objekten. Ein Vektorsuchalgorithmus muss einfach nur zwei Vektoren finden, die in einer Vektorendatenbank nahe beieinander liegen.
Zum besseren Verständnis nehmen Sie Breiten- und Längengrad als Beispiel. Diese beiden Dimensionen – Nord-Süd bzw. Ost-West – können die Lage eines beliebigen Ortes auf der Erde angeben Die Stadt Vancouver in der kanadischen Provinz British Columbia kann durch die Breiten- und Längengradkoordinaten {{49°15’40 „N, 123°06’50 „W}} dargestellt werden. Diese Liste von zwei Werten ist ein einfacher Vektor.
Angenommen Sie versuchen, eine Stadt zu finden, die ganz in der Nähe von Vancouver liegt. Ein Mensch würde einfach auf eine Karte schauen, während ein maschinelles Lernmodell stattdessen den Breiten- und Längengrad (oder Vektor) betrachten und einen Ort mit einem ähnlichen Breiten- und Längengrad finden könnte. Die Stadt Burnaby liegt bei {{49°16’N, 122°58’W}} – sehr nahe an {{49°15’40’N, 123°06’50’W}}. Daher kann das Modell korrekt schlussfolgern, dass Burnaby in der Nähe von Vancouver liegt.
Stellen Sie sich nun vor, dass Sie eine Stadt suchen, die nicht nur in der Nähe von Vancouver liegt, sondern auch eine ähnliche Größe hat. Fügen wir diesem Modell der Standorte eine dritte „Dimension“ zum Breiten- und Längengrad hinzu: die Bevölkerungszahl. Die Bevölkerungszahl kann zum Vektor jeder Stadt hinzugefügt werden, und kann wie eine Z-Achse behandelt werden, wobei der Breiten- und Längengrad die Y- und X-Achsen darstellen.
Der Vektor für Vancouver lautet nun {{49°15’40 „N, 123°06’50 „W, 662.248*}. Mit dieser dritten Dimension liegt Burnaby nicht mehr besonders nahe an Vancouver, da seine Einwohnerzahl nur 249.125* beträgt. Das Modell könnte stattdessen die Stadt Seattle im US-Bundesstaat Washington, finden, die einen Vektor von {{47°36’35"N 122°19’59"W, 749,256**} hat.
*Stand 2021.
**Stand 2022.
Dies ist ein recht einfaches Beispiel dafür, wie Vektoren und Ähnlichkeitssuche funktionieren. Aber um von Nutzen zu sein, müssen Modelle für maschinelles Lernen möglicherweise mehr als drei Dimensionen erzeugen, wodurch sehr viel komplexere Vektoren entstehen.
Wie kann ein Modell zum Beispiel erkennen, welche TV-Serien einander ähnlich sind und daher wahrscheinlich von denselben Zuschauern gesehen werden? Es gibt eine Vielzahl von Faktoren, die berücksichtigt werden müssen: Länge der Folgen, Anzahl der Folgen, Genreklassifizierung, Anzahl der gemeinsamen Zuschauer, Schauspieler in jeder Serie, Jahr der Erstausstrahlung und so weiter. All dies können „Dimensionen“ sein, und jede Sendung kann als Punkt entlang jeder dieser Dimensionen dargestellt werden.
Mithilfe mehrdimensionaler Vektoren können wir feststellen, ob die Sitcom Seinfeld der Horrorserie Wednesday ähnlich ist. Seinfeld wurde 1989 zum ersten Mal ausgestrahlt, Wednesday im Jahr 2022. Die beiden Shows haben unterschiedliche Folgenlängen – Seinfeld 22–24 Minuten und Wednesday 46–57 Minuten – und so weiter. Wenn wir uns ihre Vektoren ansehen, können wir erkennen, dass diese Sendungen wahrscheinlich sehr unterschiedliche Punkte in einer dimensionalen Darstellung von TV-Sendungen einnehmen.
TV-Serie | Genre | Jahr der Erstausstrahlung | Länge der Folgen | Staffeln (bis 2023) | Folgen (bis 2023) |
---|---|---|---|---|---|
Seinfeld | Sitcom | 1989 | 22–24 | 9 | 180 |
Mittwoch | Horror | 2022 | 46–57 | 1 | 8 |
Wir können sie als Vektoren ausdrücken, so wie wir es mit den Breiten- und Längengraden getan haben, aber diesmal mit mehr Werten:
Seinfeld-Vektor: {[Sitcom], 1989, 22-24, 9, 180}
Wednesday-Vektor: {[Horror], 2022, 46-57, 1, 8}
Ein maschinelles Lernmodell könnte die Sitcom Cheers als wesentlich ähnlicher zu Seinfeld identifizieren. Sie gehört zum gleichen Genre, wurde 1982 erstmals ausgestrahlt, hat eine Folgenlänge von 21–25 Minuten, 11 Staffeln und 275 Folgen.
Seinfeld-Vektor: {[Sitcom], 1989, 22-24, 9, 180}
Cheers-Vektor: {[Sitcom], 1982, 21-25, 11, 275}
In unseren obigen Beispielen war eine Stadt ein Punkt entlang der beiden Dimensionen Breitengrad und Längengrad; wir fügten dann eine dritte Dimension hinzu: die Bevölkerungszahl. Wir haben auch die Position dieser TV-Serien entlang von fünf Dimensionen analysiert.
Anstelle von zwei, drei oder fünf Dimensionen ist eine TV-Serie in einem Modell für maschinelles Lernen ein Punkt entlang von vielleicht hundert oder tausend Dimensionen – je nachdem, wie viele das Modell berücksichtigen möchte.
Einbettung ist der Prozess der Erstellung von Vektoren mithilfe von Deep Learning. Eine „Einbettung“ ist der Output dieses Prozesses – mit anderen Worten, der Vektor, der von einem Deep Learning-Modell zum Zweck der Ähnlichkeitssuche durch dieses Modell erstellt wird.
Einbettungen, die nahe beieinander liegen – so wie Seattle und Vancouver nahe beieinander liegende Breiten- und Längengrade und vergleichbare Bevölkerungszahlen haben - können als ähnlich angesehen werden. Mithilfe von Einbettungen kann ein Algorithmus eine relevante TV-Serie vorschlagen, ähnliche Orte finden oder erkennen, welche Wörter wahrscheinlich zusammen oder ähnlich verwendet werden, wie es bei Sprachmodellen der Fall ist.
Neuronale Netzwerke sind Deep-Learning-Modelle, die die Architektur des menschlichen Gehirns nachahmen. So wie das Gehirn aus Neuronen besteht, die elektrische Impulse aneinander abgeben, bestehen neuronale Netzwerke aus virtuellen Knoten, die miteinander kommunizieren, wenn ihre Eingaben einen bestimmten Schwellenwert überschreiten.
Neuronale Netzwerke bestehen aus mehreren Schichten: einer Inputschicht, einer Outputschicht und einer beliebigen Anzahl von „verborgenen“ Schichten dazwischen. Die verborgenen Schichten können Inputs auf verschiedene Weise transformieren, je nach Definition des Modells.
Die Erstellung von Einbettungen ist eine verborgene Schicht. Sie findet in der Regel statt, bevor weitere Schichten die Inputs verarbeiten. So müsste ein Mensch zum Beispiel nicht definieren, wo jede TV-Serie entlang hundert verschiedener Dimensionen einzuordnen ist. Stattdessen würde eine verborgene Schicht im neuronalen Netzwerk dies automatisch erledigen. Die TV-Serie könnte dann von den anderen verborgenen Schichten anhand dieser Einbettung weiter analysiert werden, um ähnliche Serien zu finden. Schließlich kann die Outputschicht andere Serien vorschlagen, die der Zuschauer vielleicht sehen möchte.
Die Erstellung dieser Einbettungsschicht erfordert zunächst einen gewissen manuellen Aufwand. Ein Programmierer kann das neuronale Netzwerk mit Beispielen füttern, wie eine Einbettung zu erstellen ist, welche Dimensionen einbezogen werden sollen und so weiter. Schließlich kann die Einbettungsschicht selbstständig arbeiten – auch wenn der Programmierer das Modell weiter verfeinern kann, um bessere Empfehlungen zu erhalten.
Bei großen Sprachmodellen (LLMs), wie sie für KI-Tools wie ChatGPT verwendet werden, geht die Einbettung noch einen Schritt weiter. Neben dem Wort selbst wird auch der Kontext jedes Wortes eingebettet. Die Bedeutung ganzer Sätze, Absätze und Artikel kann durchsucht und analysiert werden. Obwohl dies eine Menge Rechenleistung erfordert, kann der Kontext als Einbettung für Abfragen gespeichert werden, was Zeit und Rechenleistung für zukünftige Abfragen spart.
Für Entwickler, die KI-gestützte Anwendungen mit Cloudflare Workers bauen möchten, bietet Cloudflare Workers AI an. In Verbindung damit bietet Cloudflare auch Vectorize an, eine weltweit verteilte Vektorendatenbank. Zusammen machen diese Dienste die Erstellung und Abfrage von Einbettungen schneller, einfacher und kostengünstiger. So können Entwickler KI-Anwendungen erstellen, ohne eine Backend-Infrastruktur aufbauen zu müssen. Erfahren Sie mehr über Vectorize und Workers AI.