Mi chiedo perché il softmax gerarchico sia migliore per le parole rare, mentre il campionamento negativo è meglio per le parole frequenti, nei modelli CBOW e skip-gram di word2vec. Ho letto il reclamo su https://code.google.com/p/word2vec/ .
Mi chiedo perché il softmax gerarchico sia migliore per le parole rare, mentre il campionamento negativo è meglio per le parole frequenti, nei modelli CBOW e skip-gram di word2vec. Ho letto il reclamo su https://code.google.com/p/word2vec/ .
Risposte:
Non sono un esperto di word2vec, ma dopo aver letto Rong, X. (2014). Word2vec Parameter Learning Spiegato e dalla mia esperienza NN, semplificherei il ragionamento a questo:
I due metodi non sembrano essere esclusivi, teoricamente, ma sembra comunque essere il motivo per cui sarebbero meglio per le parole frequenti e poco frequenti.
La mia comprensione è che ciò è dovuto al codice Huffman utilizzato durante la creazione della gerarchia di categorie.
Il softmax gerarchico utilizza un albero di nodi sigmoidi anziché un grande softmax, la codifica Huffman assicura che la distribuzione dei punti dati appartenenti a ciascun lato di ogni nodo sigmoid sia bilanciata. Pertanto aiuta a eliminare la preferenza verso le categorie frequenti rispetto all'utilizzo di un grande softmax e al campionamento negativo.
Il softmax gerarchico costruisce un albero su tutto il vocabolario e i nodi fogliari che rappresentano parole rare erediteranno inevitabilmente le rappresentazioni vettoriali dei loro antenati nell'albero, che possono essere influenzate da altre parole frequenti nel corpus. Ciò andrà a beneficio della formazione incrementale per il nuovo corpus.
Il campionamento negativo viene sviluppato in base alla stima del contrasto del rumore e campiona casualmente le parole non nel contesto per distinguere i dati osservati dal rumore casuale generato artificialmente.