Die Einbettung ist ein Mittel zur Darstellung von Objekten wie Text, Bildern und Audio als Punkte in einem kontinuierlichen Vektorraum, wobei die räumliche Verortung dieser Punkte für Algorithmen des maschinellen Lernens (ML) semantisch relevant ist.
Einbettung ist ein wichtiges Werkzeug für ML-Ingenieure, die Text- und Bildsuchmaschinen, Empfehlungssysteme, Chatbots, Betrugserkennungssysteme und viele andere Anwendungen entwickeln. Im Wesentlichen ermöglicht das Einbetten den Modellen des maschinellen Lernens das Auffinden ähnlicher Objekte.
Im Gegensatz zu anderen ML-Techniken werden Einbettungen mithilfe verschiedener Algorithmen (z. B. neuronale Netze) aus den Daten gelernt, anstatt explizit menschliches Fachwissen zur Definition zu erfordern. Sie ermöglichen es dem Modell, komplexe Muster und Beziehungen in den Daten zu lernen, die für Menschen sonst unmöglich zu erkennen wären.
Die Einbettungsimplementierung von OpenAI ermöglicht es ChatGPT beispielsweise, die Beziehungen zwischen verschiedenen Wörtern und Kategorien zu verstehen, anstatt nur jedes Wort für sich zu analysieren. Mit Einbettungen können die GPT-Modelle von OpenAI kohärentere und kontextuell relevante Antworten auf Benutzeraufforderungen und Fragen generieren.
Die meisten Algorithmen für maschinelles Lernen können nur niedrigdimensionale numerische Daten als Eingabe verwenden. Daher ist es notwendig, die Daten in ein numerisches Format zu konvertieren. Dies kann z. B. die Erstellung einer „Bag of Words“-Darstellung für Textdaten, die Konvertierung von Bildern in Pixelwerte oder die Umwandlung von Diagrammdaten in eine numerische Matrix bedeuten.
Objekte, die in ein Einbettungsmodell eingehen, werden als Einbettungen ausgegeben, die wiederum als Vektoren dargestellt werden. Ein Vektor ist eine Reihe von Zahlen (z. B. 1489, 22... 3, 777), wobei jede Zahl angibt, wo sich ein Objekt entlang einer bestimmten Dimension befindet. Die Anzahl der Dimensionen kann je nach Komplexität der Eingabedaten bis zu tausend oder mehr betragen. Je näher eine Einbettung an anderen Einbettungen in diesem n-dimensionalen Raum liegt, desto ähnlicher sind sie sich. Die Ähnlichkeit der Verteilung wird durch die Länge der Vektorpunkte von einem Objekt zum anderen bestimmt (gemessen durch Euklidisch, Cosinus oder andere).
Ein Modell, Word2Vec (Word to Vector), das 2013 von Google entwickelt wurde, ist eine Methode zur effizienten Erstellung von Worteinbettungen mithilfe eines zweischichtigen neuronalen Netzwerks. Es nimmt ein Wort als Eingabe und gibt dann eine n-dimensionale Koordinate (den Einbettungsvektor) aus. Wenn Sie diese Wortvektoren in einen dreidimensionalen Raum einzeichnen, werden Synonyme geclustert.
So würden zwei Wörter, „Papa“ und „Mama“, als Vektoren dargestellt:
Obwohl es eine gewisse Ähnlichkeit zwischen diesen beiden Wörtern gibt, würden wir erwarten, dass „Vater“ im Vektorraum viel näher an „Papa“ liegt, was zu einem höheren Punktprodukt führt (ein Maß für die relative Richtung zweier Vektoren und dafür, wie eng sie in der Richtung, in die sie zeigen, übereinstimmen).
Ein komplexeres Beispiel ist die Einbettung von Empfehlungen, bei der Benutzer und Artikel (z. B. Filme, Produkte, Artikel) als hochdimensionale Vektoren in einem kontinuierlichen Vektorraum dargestellt werden. Diese Einbettungen erfassen latente Merkmale, die die Vorlieben der Benutzer und die Eigenschaften der Artikel widerspiegeln. Die Idee besteht darin, eine Darstellung für jeden Benutzer und jedes Objekt so zu lernen, dass das Punktprodukt ihrer Einbettungen mit der Präferenz des Benutzers für dieses Objekt korreliert.
Jeder Benutzer und jeder Artikel ist mit einem Einbettungsvektor verbunden. Diese Vektoren werden normalerweise durch ein Empfehlungsmodell während eines Trainingsprozesses gelernt. Die Einbettungen der Benutzer und Artikel werden in Matrizen organisiert. Die Zeilen der Benutzermatrix stehen für die Benutzer und die Zeilen der Objektmatrix für die Objekte.
Der Empfehlungsscore für ein Paar aus Nutzer und Artikel kann berechnet werden, indem das Punktprodukt aus dem Einbettungsvektor des Nutzers und dem Einbettungsvektor des Artikels gebildet wird. Je höher das Punktprodukt ist, desto wahrscheinlicher ist es, dass der Benutzer an dem Artikel interessiert ist.
Die Einbettungsmatrizen werden in einem Trainingsprozess anhand historischer Interaktionen zwischen Nutzern und Artikeln gelernt. Das Modell zielt darauf ab, die Differenz zwischen den vorhergesagten Bewertungen und den tatsächlichen Präferenzen der Nutzer (z. B. Bewertungen, Klicks, Käufe) zu minimieren.
Sobald das Modell trainiert ist, kann es zur Generierung von Top-N-Empfehlungen für Benutzer verwendet werden. Die Artikel mit den höchsten vorhergesagten Punktzahlen für einen Benutzer werden empfohlen.
Einbettungen werden in verschiedenen Bereichen und Anwendungen verwendet, da sie hochdimensionale und kategoriale Daten in kontinuierliche Vektordarstellungen umwandeln und so aussagekräftige Muster, Beziehungen und Semantik erfassen können. Im Folgenden finden Sie einige Gründe für die Verwendung von Einbettungen im Bereich Data Science:
Indem Entitäten (Wörter, Bilder, Knoten in einem Graphen usw.) auf Vektoren in einem kontinuierlichen Raum abgebildet werden, erfassen Einbettungen semantische Beziehungen und Ähnlichkeiten, wodurch Modellen ein besseres Verständnis und eine bessere Generalisierung ermöglicht werden.
Hochdimensionale Daten, wie z. B. Texte, Bilder oder Diagramme, können in niedrigere Dimensionen umgewandelt werden, wodurch sie rechnerisch effizienter und einfacher zu bearbeiten sind.
Durch das Erlernen aussagekräftiger Repräsentationen aus Daten können Modelle gut mit Bezug auf unbekannte Beispiele generalisieren, was Einbettungen für Aufgaben mit begrenzten gekennzeichneten Daten entscheidend macht.
Mit Techniken wie t-SNE können hochdimensionale Einbettungen in zwei oder drei Dimensionen visualisiert werden, was Einblicke in die Beziehungen und Cluster in den Daten ermöglicht.
Einbettungsebenen werden häufig in neuronalen Netzen verwendet, um kategorische Eingaben auf kontinuierliche Vektoren abzubilden und so die Fehlerrückführung (Backpropagation) und Optimierung zu erleichtern.
Einbettungen sind vielseitige Darstellungen, die auf eine Vielzahl von Datentypen angewendet werden können. Im Folgenden finden Sie einige der häufigsten Objekte, die eingebettet werden können:
Worteinbettungen erfassen die semantischen Beziehungen und kontextuellen Bedeutungen von Wörtern auf der Grundlage ihrer Verwendungsmuster in einem bestimmten Sprachkorpus. Jedes Wort wird als ein dichter Vektor aus reellen Zahlen fester Größe dargestellt. Dies ist das Gegenteil eines dünnbesetzten Vektors, wie z. B. der One-Hot-Codierung, die viele Null-Einträge aufweist.
Die Verwendung von Worteinbettungen hat die Leistung von Modellen zur Verarbeitung natürlicher Sprache (NLP) erheblich verbessert, da sie eine aussagekräftigere und effizientere Darstellung von Wörtern ermöglichen. Diese Einbettungen ermöglichen es Maschinen, Sprache so zu verstehen und zu verarbeiten, dass semantische Nuancen und kontextuelle Beziehungen erfasst werden. Dies macht sie für eine Vielzahl von Anwendungen wertvoll, darunter Stimmungsanalyse, maschinelle Übersetzung und Informationsabfrage.
Beliebte Modelle zur Einbettung von Wörtern sind Word2Vec, GloVe (Global Vectors for Word Representation), FastText und Einbettungen, die von transformatorbasierten Modellen wie BERT (Bidirectional Encoder Representations from Transformers) und GPT (Generative Pre-trained Transformer) abgeleitet sind.
Die Texteinbettung erweitert die Worteinbettung zur Darstellung ganzer Sätze, Absätze oder Dokumente in einem kontinuierlichen Vektorraum. Texteinbettungen spielen in verschiedenen NLP-Anwendungen eine entscheidende Rolle, z. B. bei der Stimmungsanalyse, der Textklassifizierung, der maschinellen Übersetzung, der Beantwortung von Fragen und der Informationsbeschaffung.
Modelle wie Doc2Vec, USE (Universal Sentence Encoder), BERT und ELMO (Embeddings from Language Models) wurden auf riesigen Mengen an vortrainierten Einbettungskörpern wie Wikipedia und Google News trainiert.
Die Bildeinbettung wurde für die Erfassung visueller Merkmale und semantischer Informationen über den Inhalt von Bildern entwickelt. Bildeinbettungen sind besonders für verschiedene visuelle Computeraufgaben nützlich. Sie ermöglichen die Modellierung von Bildähnlichkeiten, Bildklassifizierung, Objekterkennung und andere visuelle Erkennungsaufgaben.
Beliebte Convolutional Neural Networks (CNNs) für Bildeinbettungen sind Modelle wie VGG (Visual Geometry Group), ResNet (Residual Networks), Inception (GoogLeNet) und EfficientNet. Diese Modelle wurden mit großen Bilddatenmengen vortrainiert und können als leistungsstarke Merkmalsextraktoren verwendet werden.
Ähnlich wie Bild- und Texteinbettungen werden auch Audioeinbettungen oft mit Deep-Learning-Architekturen erzeugt, insbesondere mit rekurrenten neuronalen Netzen (RNNs), Convolutional Neural Networks (CNNs) oder Hybridmodellen, die beides kombinieren. Diese Einbettungen erfassen die relevanten Merkmale und Eigenschaften von Audiodaten und ermöglichen eine effektive Analyse, Verarbeitung und Ähnlichkeitsmessung. Audioeinbettungen sind besonders bei Anwendungen wie der Spracherkennung, der Audioklassifizierung und der Musikanalyse nützlich.
Die Einbettung von Graphen ist für verschiedene Aufgaben unerlässlich, darunter die Klassifizierung von Knoten, die Vorhersage von Verbindungen und die Erkennung von Gemeinschaften in komplexen Netzwerken. Diese Einbettungen finden in der Analyse sozialer Netzwerke, in Empfehlungssystemen, in der Analyse biologischer Netzwerke, in der Erkennung von Betrug und in verschiedenen anderen Bereichen, in denen Daten als Graphen dargestellt werden können, Anwendung.
Einbettungen werden durch einen Prozess namens „Einbettungslernen“ erstellt. Obwohl die spezifische angewandte Methode von der Art der einzubettenden Daten abhängt, werden Einbettungen in den folgenden allgemeinen Schritten erstellt:
In allen Fällen der Einbettung geht es darum, Daten in einem kontinuierlichen Vektorraum darzustellen, in dem aussagekräftige Beziehungen erhalten bleiben. Beim Trainingsprozess werden die Parameter des Modells so angepasst, dass die Differenz zwischen den vorhergesagten und den tatsächlichen Werten auf der Grundlage der gewählten Zielfunktion minimiert wird. Einmal trainiert, können die Einbettungen für verschiedene nachgelagerte Aufgaben verwendet werden.
Einbettungen werden in zahlreichen praktischen Anwendungen in unterschiedlichen Bereichen verwendet. Beispiele hierfür sind:
Diese Beispiele verdeutlichen die Vielseitigkeit von Einbettungen in verschiedenen Anwendungen und demonstrieren ihre Fähigkeit, sinnvolle Darstellungen und Beziehungen in verschiedenen Datentypen zu erfassen.
Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.
Erfahren Sie mehr über grundlegende Konzepte und bauen Sie Ihre Fähigkeiten mit praktischen Übungen, Kursen, angeleiteten Projekten, Tests und mehr aus.
Erfahren Sie, wie Sie generative KI und maschinelles Lernen sicher in Ihr Unternehmen integrieren können.
Möchten Sie eine bessere Rendite für Ihre KI-Investitionen erzielen? Erfahren Sie, wie die Skalierung generativer KI in Schlüsselbereichen Veränderungen vorantreibt, indem Sie Ihre besten Köpfe dabei unterstützen, innovative neue Lösungen zu entwickeln und bereitzustellen.
Erfahren Sie, wie Sie das für Ihren Anwendungsfall am besten geeignete KI Foundation Model auswählen.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com