Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Object2Vec-Algorithmus
Der Amazon SageMaker AI Object2Vec-Algorithmus ist ein Allzweck-Algorithmus zur neuronalen Einbettung, der in hohem Maße anpassbar ist. Er kann dichte Einbettungen mit geringer Dimensionalität hochdimensionaler Objekte lernen. Die Einbettungen werden so gelernt, dass die Semantik der Beziehung zwischen Paaren von Objekten im ursprünglichen Raum im Einbettungsraum beibehalten werden. Sie können die gelernten Einbettungen z. B. zum effizienten Berechnen der nächsten Nachbarn von Objekten und zum Visualisieren natürlicher Cluster verwandter Objekte im Raum mit geringer Dimensionalität verwenden. Außerdem können Sie die Einbettungen als Funktionen der entsprechende Objekten in nachgelagerten überwachten Aufgaben, wie z. B. Klassifizierung oder Regression, einsetzen.
Object2Vec verallgemeinert die bekannte Word2Vec-Einbettungstechnik für Wörter, die in der KI optimiert ist. SageMaker BlazingText Algorithmus Einen Blogbeitrag, in dem beschrieben wird, wie Object2Vec auf einige praktische Anwendungsfälle angewendet werden kann, finden Sie unter Einführung in Amazon SageMaker
Themen
- E/A-Schnittstelle für den Object2Vec-Algorithmus
- EC2 Instanzempfehlung für den Object2Vec-Algorithmus
- Object2Vec-Beispiel-Notebooks
- So funktioniert der Object2Vec-Algorithmus
- Object2Vec-Hyperparameter
- Optimieren eines Object2Vec-Modells
- Datenformate für das Object2Vec-Training
- Datenformate für Object2Vec-Inferenzen
- Encoder-Einbettungen für Object2Vec
E/A-Schnittstelle für den Object2Vec-Algorithmus
Sie können den Object2Vec-Algorithmus für viele Eingabedatentypen nutzen, z. B. folgende:
Eingabedatentyp | Beispiel |
---|---|
Satz-Satz Paare |
„Ein Fußballspiel, bei dem mehrere Männer spielen.“ und „Manche Männer treiben Sport.“ |
Bezeichnungen-Sequenz-Paare |
Die Genre-Tags des Films "Titanic", z. B. "Romanze" und "Drama", und dessen Kurzbeschreibung: "Bei Titanic von James Cameron handelt es sich um eine epische, actionreiche Romanze vor dem Hintergrund der verhängnisvollen Jungfernfahrt der R.M.S. Titanic. Die Titanic war das luxuriöseste Kreuzfahrtschriff seiner Zeit, ein wahres Traumschiff, das in den frühen Morgenstunden des 15. April 1912 1 500 Menschen in den eiskalten Gewässern des Nordatlantik in den Tod riss." |
Kunde-Kunde-Paare |
Die Kunden-ID von Jane und die Kunden-ID von Jackie. |
Produkt-Produkt-Paare |
Die Produkt-ID des Fußballs und Produkt-ID des Basketballs. |
Artikelrezension-Benutzerartikel-Paare |
Eine Benutzer-ID und die gekauften Artikel, z. B. Apfel, Birne und Orange. |
Zum Umwandeln der Eingabedaten in die unterstützten Formate müssen Sie sie vorverarbeiten. Derzeit unterstützt Object2Vec nativ zwei Arten von Eingaben:
-
Ein diskretes Token, das als Liste einer einzigen
integer-id
dargestellt wird. Beispiel,[10]
. -
Sequenzen diskreter Token, die als Liste von
integer-ids
dargestellt werden. Beispiel,[0,12,10,13]
.
Das Objekt in jedem Paar kann asymmetrisch sein. Beispiel: Die Paare können (Token, Sequenz) oder (Token, Token) oder (Sequenz, Sequenz) sein. Für Tokeneingaben unterstützt der Algorithmus einfache Einbettungen als kompatible Encoder. Für Sequenzen von Tokenvektoren unterstützt der Algorithmus die folgenden Encoder:
-
Einbettungen mit Durchschnitts-Pooling
-
Hierarchische neuronale Faltungsnetzwerke (), CNNs
-
Mehrschichtiges bidirektionales Langzeitgedächtnis (Bi) LSTMs
Die Eingabebezeichnung für jedes Paar kann eine der folgenden sein:
-
Eine kategorische Bezeichnung, die die Beziehung zwischen den Objekten im Paar ausdrückt
-
Eine Punktzahl, die die Stärke der Ähnlichkeit zwischen den beiden Objekten ausdrückt
Für kategorische Bezeichnungen, die in der Klassifizierung verwendet werden, unterstützt der Algorithmus die Kreuz-Entropie Verlustfunktion. Für Bewertungen/ergebnisbasierte Bezeichnungen, die in der Regression genutzt werden, unterstützt der Algorithmus die MSE-Verlustfunktion (Mean Squared Error, mittlerer quadratischer Fehler). Geben Sie diese Verlustfunktionen mit dem Hyperparameter output_layer
an, wenn Sie den Modelltrainingsauftrag erstellen.
EC2 Instanzempfehlung für den Object2Vec-Algorithmus
Welchen Typ von Amazon Elastic Compute Cloud (Amazon EC2) -Instance Sie verwenden, hängt davon ab, ob Sie Inference trainieren oder ausführen.
Wenn Sie ein Modell mit dem Object2Vec-Algorithmus auf einer CPU trainieren, starten Sie mit einer ml.m5.2xlarge-Instance. Bei Trainings auf einer GPU-Instance starten Sie mit einer ml.p2.xlarge-Instance. Wenn das Training auf dieser Instance zu lange dauert, können Sie eine größere Instance verwenden. Derzeit können Sie den Object2Vec-Algorithmus nur auf einer einzelnen Maschine trainieren. Es bietet jedoch Unterstützung für mehrere GPUs. Object2Vec unterstützt die GPU-Instance-Familien P2, P3, G4dn und G5 für Training und Inferenz.
Für Inferenzen mit dem trainierten Object2Vec-Modell, das über ein tiefes neuronalen Netz verfügt, empfehlen wir die Verwendung der ml.p3.2xlarge-GPU-Instance. Aufgrund der GPU-Speicherknappheit kann die Umgebungsvariable INFERENCE_PREFERRED_MODE
zur Optimierung angegeben werden, ob das Inferenznetzwerk GPU-Optimierung: Klassifizierung oder Regression oder GPU-Optimierung: Encoder-Einbettungen in die GPU geladen wird.
Object2Vec-Beispiel-Notebooks
Anmerkung
Um die Notebooks auf einer Notebook-Instance auszuführen, siehe Rufen Sie Beispiel-Notizbücher auf. Um die Notebooks in Studio auszuführen, siehe Erstellen oder öffnen Sie ein Amazon SageMaker Studio Classic-Notizbuch.