Incorporamenti: acquisizione di incorporamenti

Esistono diversi modi per ottenere un incorporamento, tra cui un algoritmo all'avanguardia creato in Google.

Tecniche di riduzione standardzzabilità

Esistono molte tecniche matematiche esistenti per acquisire la struttura importante di uno spazio di grandi dimensioni in uno spazio di piccole dimensioni. In teoria, una di queste tecniche potrebbe essere utilizzata per creare un incorporamento per un sistema di machine learning.

Ad esempio, è stata utilizzata l'analisi dei componenti principali (PCA) per creare incorporamenti di parole. Dato un insieme di istanze come vettori di sacche di parole, PCA cerca di trovare dimensioni altamente correlate che possono essere compresse in una singola dimensione.

Word2vec

Word2vec è un algoritmo inventato da Google per l'addestramento di incorporamenti di parole. Word2vec si basa sull'ipotesi di distribuzione per mappare parole semanticamente simili per chiudere vettori di incorporamento geometricamente.

L'ipotesi di distribuzione afferma che le parole che spesso hanno le stesse parole vicine tendono ad essere semanticamente simili. Sia "cane" che "gatto" spesso appaiono vicino alla parola "veterinario", e questo fatto riflette la loro somiglianza semantica. Come ha affermato il linguista John Firth nel 1957, "Lo devi conoscere una parola dell'azienda che tiene".

Word2Vec sfrutta informazioni contestuali come questa addestrando una rete neurale per distinguere effettivamente gruppi di parole che coorgono da parole raggruppate casualmente. Il livello di input assume una rappresentazione sparsa di una parola di destinazione insieme a una o più parole di contesto. Questo input si connette a un singolo livello nascosto più piccolo.

In una versione dell'algoritmo, il sistema fa un esempio negativo sostituendo una parola di rumore casuale con la parola di destinazione. Dato l'esempio positivo "l'aereo vola", il sistema potrebbe scambiare "jogging" per creare l'esempio negativo "le mosche da jogging".

L'altra versione dell'algoritmo crea esempi negativi abbinando la vera parola di destinazione a parole di contesto scelte casualmente. Potrebbe prendere gli esempi positivi (il aereo), (mosche, aereo) e gli esempi negativi (compilato, aereo) (chi, aereo) e imparare a identificare quali coppie sono effettivamente visualizzate insieme nel testo.

Tuttavia, la categoria di classificazione non è l'obiettivo reale per nessuna delle versioni del sistema. Dopo l'addestramento del modello, hai un elemento incorporato. Puoi utilizzare le ponderazioni che collegano il livello di input al livello nascosto per mappare le rappresentazioni sparse di parole a vettori più piccoli. L'incorporamento può essere riutilizzato in altre categorie di classificazione.

Per ulteriori informazioni su word2vec, guarda il tutorial su tensorflow.org

Addestramento di un incorporamento come parte di un modello più grande.

Puoi anche imparare a incorporare una parte della rete neurale per il tuo compito target. Questo approccio ti consente di ottenere un incorporamento ben personalizzato per il tuo sistema specifico, ma potrebbe richiedere più tempo rispetto all'addestramento separato.

In generale, quando hai dati sparsi (o dati densi che vuoi incorporare), puoi creare un'unità di incorporamento che sia un tipo speciale di unità nascosta di dimensione d. Questo livello di incorporamento può essere combinato con qualsiasi altra funzionalità e livelli nascosti. Come in qualsiasi DNN, il livello finale sarà la perdita in fase di ottimizzazione. Ad esempio, supponiamo che stiamo eseguendo un filtro collaborativo, in cui l'obiettivo è prevedere gli interessi di un utente dagli interessi di altri utenti. Possiamo modellarlo come un problema di apprendimento supervisionato mettendo da parte (o tenendo in sospeso) un numero limitato di film che l'utente ha guardato come etichette positive, quindi ottimizzando una perdita softmax.

Figura 5. Un'architettura DNN di esempio per l'apprendimento degli incorporamenti di film dai dati di filtraggio collaborativo.

Un altro esempio se vuoi creare un livello di incorporamento per le parole in un annuncio immobiliare come parte di un DNN, per prevedere i prezzi degli alloggi, quindi ottimizzare una perdita L2 utilizzando il prezzo di vendita noto delle case nei dati di addestramento come etichetta.

Quando apprenderai l'incorporamento di una dimensione d, ogni elemento sarà mappato a un punto in uno spazio di dimensioni d, in modo che elementi simili siano nelle vicinanze di questo spazio. La Figura 6 aiuta a illustrare la relazione tra le ponderazioni apprese nel livello di incorporamento e nella vista geometrica. Le ponderazioni dei bordi tra un nodo di input e i nodi nel livello di incorporamento dimensionale d corrispondono ai valori delle coordinate per ciascuno degli assi d.

Una figura che illustra la relazione tra le ponderazioni del livello di incorporamento e la visualizzazione geometrica dell'incorporamento.

Figura 6. Una vista geometrica dei pesi dei livelli di incorporamento.