Was ist Einbettung?
Entdecken Sie IBM watsonx.ai
Konzept für computergestützte neuronale Netze

Veröffentlicht: 22. Dezember 2023
Mitwirkende: Joel Barnard

Was ist Einbettung?

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.

Schauen Sie sich IBM watsonx.ai näher an

Ein Enterprise Studio der nächsten Generation für KI-Entwickler, um KI-Modelle zu trainieren, zu prüfen, zu optimieren und bereitzustellen

Ähnliche Inhalte

IBM Newsletter abonnieren

Funktionsweise der Einbettung

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:

    „Papa“ = [0,1548, 0,4848, …, 1,864]

    „Mama“ = [0,8785, 0,8974, …, 2,794]

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.

    Empfehlungswert = Benutzereinbettung ⋅ Artikeleinbettung

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.

Warum Einbettung verwenden?

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:

Semantische Darstellung

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.

Reduzierung der Dimensionalität

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.

Verbesserte Generalisierung von Modellen

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.

Effektive Visualisierung

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.

Effizientes Training in neuronalen Netzen

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.

Welche Objekte können eingebettet werden?

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:

Wörter

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.

Text

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.

Bilder

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.

Audio

Ä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.

Graphen

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.

Wie Einbettungen erstellt werden

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:

  1. Auswählen oder Trainieren eines Einbettungsmodells: Wählen Sie ein bereits vorhandenes Einbettungsmodell aus, das für Ihre Daten und Ihre Aufgabe geeignet ist, oder trainieren Sie bei Bedarf ein neues Modell. Für Text könnten Sie Word2Vec, GloVe oder BERT wählen. Für Bilder können Sie vortrainierte CNNs wie VGG oder ResNet verwenden.

  2. Vorbereiten Ihrer Daten: Vorbereiten Ihrer Daten: Formatieren Sie Ihre Daten in einer Weise, die mit dem gewählten Einbettungsmodell kompatibel ist. Bei Text umfasst dies die Tokenisierung und möglicherweise eine Vorverarbeitung. Bei Bildern müssen Sie möglicherweise die Größe ändern und die Bilder normalisieren.

  3. Laden oder Trainieren des Einbettungsmodells: Wenn Sie ein bereits trainiertes Modell verwenden, laden Sie die Gewichte und die Architektur. Wenn Sie ein neues Modell trainieren, stellen Sie dem Algorithmus Ihre vorbereiteten Trainingsdaten zur Verfügung.

  4. Generieren von Einbettungen: Verwenden Sie für jeden Datenpunkt das trainierte oder geladene Modell, um Einbettungen zu erzeugen. Wenn Sie z. B. ein Modell für Worteinbettungen verwenden, geben Sie ein Wort ein, um den entsprechenden Vektor zu erhalten.

  5. Integrieren von Einbettungen in Ihre Anwendung: Verwenden Sie die generierten Einbettungen als Funktionen in Ihrem Modell für maschinelles Lernen oder für Ähnlichkeitssuche, Empfehlungen, Clustering usw. – je nach Ihrer spezifischen Aufgabe.

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.

Einbettungsbeispiele aus der Praxis

Einbettungen werden in zahlreichen praktischen Anwendungen in unterschiedlichen Bereichen verwendet. Beispiele hierfür sind:

Verarbeitung natürlicher Sprache (NLP)

 

  • Worteinbettungen in der Stimmungsanalyse: Worteinbettungen wie Word2Vec oder GloVe werden verwendet, um Wörter in einem kontinuierlichen Vektorraum darzustellen. Modelle zur Stimmungsanalyse können diese Einbettungen nutzen, um die Stimmung eines Textes zu verstehen und zu klassifizieren.

  • BERT für die Beantwortung von Fragen: BERT-Einbettungen werden in Systemen zur Beantwortung von Fragen verwendet. Das Modell kann den Kontext der Frage und des Dokuments verstehen, um relevante Informationen zu extrahieren.

  • Textähnlichkeit mit Doc2Vec: Doc2Vec-Einbettungen werden bei Aufgaben wie der Suche nach ähnlichen Dokumenten eingesetzt. Dokumenteinbettungen werden verglichen, um die semantische Ähnlichkeit zwischen Dokumenten zu messen.

 

Computervision

 

  • Bildklassifizierung mit CNNs: CNNs (z. B. VGG oder ResNet) werden für Aufgaben der Bildklassifizierung eingesetzt. Die Merkmale der letzten Ebene oder der Zwischenebenen können als Bildeinbettungen dienen.

  • Abrufen von Bildern mit CLIP: Das CLIP-Modell lernt gemeinsame Einbettungen für Bilder und Text. Dies ermöglicht Anwendungen wie die Bildsuche auf der Grundlage von Anfragen in natürlicher Sprache.

  • Gesichtserkennung mit FaceNet: FaceNet erstellt Einbettungen für Gesichter, die für die Gesichtserkennung verwendet werden können. Diese Einbettungen werden oft verwendet, um die Ähnlichkeit zwischen verschiedenen Gesichtern zu messen.

 

Empfehlungssysteme

 

  • Kollaboratives Filtern mit Einbettungen: Einbettungen werden verwendet, um Benutzer und Objekte in kollaborativen Filtermodellen darzustellen. Matrixfaktorisierungsmethoden nutzen diese Einbettungen zur Erstellung personalisierter Empfehlungen.

  • Produktempfehlungen mit Worteinbetten: Im E-Commerce können Produktbeschreibungen oder Bewertungen mit Hilfe von Worteinbettungen eingebettet werden. So können ähnliche Produkte auf der Grundlage der semantischen Ähnlichkeit ihrer Einbettungen empfohlen werden.

 

Cross-modale Anwendungen

 

  • Multimodale Übersetzung mit MUSE: MUSE (Multilingual Universal Sentence Encoder) ermöglicht ein sprach- und modusübergreifendes Verständnis. Es kann für Aufgaben wie die Übersetzung von Text zwischen verschiedenen Sprachen oder die Verbindung von Bildern mit entsprechenden Beschreibungen verwendet werden.

  • Cross-modale Suche mit gemeinsamen Einbettungen: Gemeinsame Einbettungen werden für verschiedene Modalitäten gelernt, so etwa für Bilder und Text. Dies ermöglicht eine modalitätsübergreifende Suche, bei der eine Anfrage in einer Modalität passende Ergebnisse in einer anderen Modalität abruft.

 

Anomalieerkennung

 

  • Erkennung von Netzwerkanomalien mit Graph-Einbettungen: Einbettungen von Netzwerkknoten können zur Erkennung von Anomalien verwendet werden. Veränderungen im Einbettungsraum können auf ungewöhnliches Verhalten hinweisen.

  • Betrugserkennung mit Transaktionseinbettungen: Einbettungen von Transaktionsdaten können bei der Identifizierung von Mustern helfen, die mit betrügerischen Aktivitäten in Verbindung stehen. Ungewöhnliche Einbettungen können auf potenziell betrügerische Transaktionen hinweisen.

 

Diese Beispiele verdeutlichen die Vielseitigkeit von Einbettungen in verschiedenen Anwendungen und demonstrieren ihre Fähigkeit, sinnvolle Darstellungen und Beziehungen in verschiedenen Datentypen zu erfassen.

 

Weiterführende Lösungen
IBM Natural Language Understanding

IBM® Watson Natural Language Understanding nutzt Deep Learning, um Bedeutungen und Metadaten aus unstrukturierten Textdaten zu extrahieren. Mithilfe von Textanalyse lassen sich Kategorien, Klassifikationen, Definitionseinheiten, Schlüsselwörter, Stimmung, Emotion, Beziehungen und Syntax aus Daten extrahieren.

NLU erkunden

IBM watsonx

Multiplizieren Sie mit unserer KI- und Datenplattform der nächsten Generation die Leistungsfähigkeit von KI. IBM watsonx ist ein auf Unternehmen abgestimmtes Portfolio von Tools, Anwendungen und Lösungen, die darauf ausgelegt sind, die Kosten und Hürden für die Einführung von KI zu senken und gleichzeitig die Ergebnisse und den verantwortungsvollen Einsatz von KI zu optimieren.

Watsonx entdecken

IBM AI-Lösungen

Operationalisieren Sie KI in Ihrem gesamten Unternehmen, um schnell und auf ethische Weise Vorteile zu erzielen. Unser umfangreiches Portfolio an unternehmenstauglichen KI-Produkten und Analyselösungen wurde entwickelt, um die Hürden für die Einführung von KI zu verringern, die richtige Datenbasis zu schaffen und gleichzeitig die Ergebnisse und den verantwortungsvollen Einsatz zu optimieren.

Erkunden Sie KI-Lösungen
Ressourcen Was ist maschinelles Lernen?

Gewinnen Sie einen Einblick in die Nutzung von Daten und Algorithmen durch ML, die Anwendungsfälle und die damit verbundenen Bedenken, um einen verantwortungsvollen und innovativen Einsatz der Technologie zu ermöglichen.

Große Sprachmodelle auf Open-Source-Basis: Vorteile, Risiken und Typen

Erfahren Sie mehr über die verschiedenen Arten von großen Sprachmodellen (LLMs) und die Vorteile, Risiken und Geschäftsanwendungen von Open-Source-LLMs für generative KI.

Anleitung für Anfänger in Python

Python ist eine Programmiersprache, die häufig mit Einbettung verwendet wird. Dieser Leitfaden führt Sie in einige grundlegende Konzepte ein, die Sie für den Einstieg in diese unkomplizierte Programmiersprache kennen müssen.

Machen Sie den nächsten Schritt

Beschleunigen Sie die Einführung generativer KI mit watsonx.ai, einem Enterprise-Studio der nächsten Generation für KI-Entwickler zum Trainieren, Validieren, Abstimmen und Bereitstellen von KI-Modellen.

Demo von watsonx.ai