Object2Vec-Algorithmus - Amazon SageMaker

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 Object2Vec-Algorithmus ist ein neuronal-einbettender Allzweckalgorithmus, der hochgradig 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 im SageMaker optimiert wirdBlazingText-Algorithmusaus. Einen Blogbeitrag, in dem beschrieben wird, wie Object2Vec auf einige praktische Anwendungsfälle angewendet werden kann, finden Sie unterEinführung in Amazon SageMaker Object2Vecaus.

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, das von mehreren Männern gespielt wird. „Einige Männer treiben einen 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 Convolutional Neural Networks (CNNs)

  • Mehrstufiger bidirektionaler Langzeit-Kurzzeitspeicher (Multi-layered Bidirectional Long Short-term Memory (BiLSTMs))

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 Modellschulungsauftrag erstellen.

EC2-Instance-Empfehlung für den Object2Vec-Algorithmus

Welchen Typ der Amazon Elastic Compute Cloud (Amazon EC2) -Instance Sie verwenden, hängt davon ab, ob Sie Inferenzen schulen oder ausführen.

Instance-Empfehlung für Schulungen

Wenn Sie ein Modell mit dem Object2Vec-Algorithmus auf einer CPU schulen, starten Sie mit einer ml.m5.2xlarge-Instance. Bei Schulungen auf einer GPU-Instance starten Sie mit einer ml.p2.xlarge-Instance. Wenn die Schulung auf dieser Instance zu lange dauert, können Sie eine größere Instance verwenden, z. B. ml.m5.4xlarge oder einenml.m5.12xlargeInstance Derzeit kann der Object2Vec-Algorithmus nur auf einer einzelnen Maschine trainieren. Es wird jedoch auch Unterstützung für mehrere GPUs angeboten.

Instance-Empfehlung für Inferenzen

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: Encoder-Einbettungen oder GPU-Optimierung: Klassifizierung oder Regression in die GPU geladen wird.

Object2Vec-Beispiel-Notebooks

Anmerkung

Informationen zum Ausführen der Notebooks auf einer Notebook-Instance finden Sie unterBeispiel-Notebooksaus. Informationen zum Ausführen der Notizbücher in Studio finden Sie unterErstellen oder Öffnen eines Amazon SageMaker Studio-Notizbuchsaus.