Tratto da questo post: https://stats.stackexchange.com/a/245452/154812
Il problema
Ci sono alcuni problemi con l'apprendimento dei vettori di parole usando una rete neurale "standard". In questo modo, i vettori di parole vengono appresi mentre la rete impara a prevedere la parola successiva in base a una finestra di parole (input della rete).
Prevedere la parola successiva è come predire la classe. Cioè, tale rete è solo un classificatore "standard" multinomiale (multi-classe). E questa rete deve avere tanti neuroni di output quante sono le classi. Quando le classi sono parole reali, il numero di neuroni è, beh, enorme.
Una rete neurale "standard" è di solito addestrata con una funzione di costo di entropia incrociata che richiede che i valori dei neuroni di output rappresentino le probabilità - il che significa che i "punteggi" di output calcolati dalla rete per ciascuna classe devono essere normalizzati, convertiti in probabilità effettive per ogni classe. Questa fase di normalizzazione è ottenuta mediante la funzione softmax. Softmax è molto costoso se applicato a un enorme livello di output.
La (a) soluzione
Per affrontare questo problema, ovvero il costoso calcolo del softmax, Word2Vec utilizza una tecnica chiamata stima del contrasto del rumore. Questa tecnica è stata introdotta da [A] (riformulata da [B]), quindi utilizzata in [C], [D], [E] per imparare gli incorporamenti di parole dal testo in linguaggio naturale senza etichetta.
L'idea di base è convertire un problema di classificazione multinomiale (in quanto è il problema di prevedere la parola successiva) in un problema di classificazione binaria. Cioè, invece di usare softmax per stimare una vera distribuzione di probabilità della parola di output, viene invece usata una regressione logistica binaria (classificazione binaria).
Per ogni campione di addestramento, il classificatore avanzato (ottimizzato) viene alimentato da una coppia vera (una parola centrale e un'altra parola che appare nel suo contesto) e un numero di kk coppie corrotte in modo casuale (costituite dalla parola centrale e una parola scelta casualmente dalla vocabolario). Imparando a distinguere le coppie vere da quelle corrotte, il classificatore apprenderà infine le parole vettori.
Questo è importante: invece di prevedere la parola successiva (la tecnica di allenamento "standard"), il classificatore ottimizzato prevede semplicemente se una coppia di parole è buona o cattiva.
Word2Vec personalizza leggermente il processo e lo chiama campionamento negativo. In Word2Vec, le parole per i campioni negativi (usate per le coppie corrotte) sono tratte da una distribuzione appositamente progettata, che favorisce il disegno più frequente di parole meno frequenti.
Riferimenti
[A] (2005) - Stima contrastiva: formazione di modelli log-lineari su dati senza etichetta
[B] (2010) - Stima contrasto-rumore: un nuovo principio di stima per modelli statistici non normalizzati
[C] (2008) - Un'architettura unificata per l'elaborazione del linguaggio naturale: reti neurali profonde con apprendimento multitasking
[D] (2012) - Un algoritmo rapido e semplice per l'addestramento di modelli linguistici probabilistici neurali .
[E] (2013) - Imparare in modo efficiente gli incastri delle parole con una stima del contrasto del rumore .