Algoritmo Object2Vec - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Algoritmo Object2Vec

L'algoritmo Amazon SageMaker Object2Vec è un algoritmo di incorporamento neurale generico altamente personalizzabile. Può apprendere incorporamenti a densità alta e bassa dimensionalità di oggetti ad alta dimensionalità. Gli incorporamenti vengono appresi in modo tale che la semantica della relazione tra coppie di oggetti nello spazio originale sia conservata nello spazio di incorporamento. Ad esempio, puoi utilizzare gli incorporamenti appresi per calcolare in modo efficiente i neighbors più vicini degli oggetti e per visualizzare i cluster naturali degli oggetti correlati nello spazio a bassa dimensione. È inoltre possibile utilizzare gli incorporamenti come caratteristiche degli oggetti corrispondenti nelle attività supervisionate downstream, come la classificazione o la regressione.

Object2Vec generalizza la nota tecnica di incorporamento Word2Vec per parole ottimizzata in. SageMaker BlazingText algoritmo Per un post sul blog che spiega come applicare Object2Vec ad alcuni casi d'uso pratici, consulta Introduzione ad Amazon Object2Vec. SageMaker

Interfaccia di I/O per l'algoritmo Object2Vec

Puoi utilizzare Object2Vec su diversi tipi di dati di input, come negli esempi seguenti:

Tipo di dati di input Esempio

Coppie frase-frase

"Una partita di calcio con più maschi che giocano". e "Alcuni uomini praticano uno sport".

Coppie etichette-sequenza

I tag di genere del film "Titanic", ad esempio "Romantico" e "Drammatico", e la sua descrizione breve: "Titanic di James Cameron è un film epico, romantico e d'azione ambientato durante lo sfortunato viaggio inaugurale dell'R.M.S. Titanic. Era il transatlantico più lussuoso della sua epoca, una nave dei sogni, che alla fine ha portato alla morte oltre 1.500 persone nelle acque ghiacciate dell'Atlantico del Nord nelle prime ore del 15 aprile 1912".

Coppie cliente-cliente

ID cliente di Jane e ID cliente di Jackie.

Coppie prodotto-prodotto

ID prodotto del calcio e ID prodotto del basket.

Coppie utente revisione elemento-elemento

ID di un utente e degli articoli che ha acquistato, ad esempio mela, pera e arancia.

Per trasformare i dati di input nei formati supportati, è necessario pre-elaborarli. Attualmente, Object2Vec supporta due tipi di input in modo nativo:

  • Un token discreto, rappresentato come elenco di un singolo integer-id. Ad esempio, [10].

  • Sequenze di token discreti, rappresentati come elenchi di integer-ids. Ad esempio, [0,12,10,13].

L'oggetto in ciascuna coppia può essere asimmetrico. Ad esempio, le coppie possono essere (token, sequenza) o (token, token) o (sequenza, sequenza). Per gli input token, l'algoritmo supporta gli incorporamenti semplici come codificatori compatibili. Per le sequenze di vettori di token, l'algoritmo supporta come codificatori:

  • Incorporamenti a pool medio

  • Reti neurali convoluzionali gerarchiche (CNN)

  • Memoria a lungo termine bidirezionale multilivello (BiLSTM)

L'etichetta di input per ogni coppia può essere una delle seguenti:

  • Un'etichetta categorica che esprime la relazione tra gli oggetti nella coppia

  • Un punteggio che esprime la forza della somiglianza tra i due oggetti

Per le etichette di categoria utilizzate nella classificazione, l'algoritmo supporta la funzione di perdita di entropia incrociata. Per le etichette basate sulle valutazioni o sul punteggio utilizzate nella regressione, l'algoritmo supporta la funzione di perdita dell'errore quadratico medio (MSE). Specifica le funzioni di perdita con l'iperparametro output_layer durante il processo di addestramento del modello.

Raccomandazione istanza EC2 per l'algoritmo Object2Vec

Il tipo di istanza Amazon Elastic Compute Cloud (Amazon EC2) utilizzato varia a seconda del fatto che tu sia in fase di addestramento o esecuzione di inferenze.

Per l’addestramento di un modello con l'algoritmo Object2Vec su una CPU, inizia con un'istanza ml.m5.2xlarge. Per l’addestramento su una GPU, inizia con un'istanza ml.p2.xlarge. Se l'addestramento richiede troppo tempo su questa istanza, puoi usare un'istanza maggiore. Al momento, l'algoritmo Object2Vec può eseguire l'addestramento solo su un singolo computer. Tuttavia, offre il supporto per più GPU. Object2Vec supporta famiglie di istanze GPU P2, P3, G4dn e G5 per l'addestramento e l'inferenza.

Per l'inferenza con un modello Object2Vec addestrato con rete neurale profonda, consigliamo di utilizzare l'istanza con GPU ml.p3.2xlarge. A causa della limitata memoria della GPU, è possibile specificare la variabile di ambiente INFERENCE_PREFERRED_MODE per ottimizzare il comportamento nel caso in cui sia caricata sulla GPU la rete di inferenza Ottimizzazione GPU: Classificazione o Regressione o Ottimizzazione GPU: Encoder Embeddings.

Notebook di esempio di Object2Vec

Nota

Per eseguire notebook su un'istanza del notebook, consulta Notebook di esempio. Per eseguire i notebook su Studio, consulta Crea o apri un notebook Amazon SageMaker Studio Classic.