O problema
Existem alguns problemas com o aprendizado dos vetores de palavras usando uma rede neural "padrão". Dessa maneira, os vetores de palavras são aprendidos enquanto a rede aprende a prever a próxima palavra, em uma janela de palavras (a entrada da rede).
Prever a próxima palavra é como prever a classe. Ou seja, essa rede é apenas um classificador multinomial "padrão" (multi-classe). E essa rede deve ter tantos neurônios de saída quanto as classes que existem. Quando as aulas são palavras reais, o número de neurônios é, bem, enorme .
Uma rede neural "padrão" geralmente é treinada com uma função de custo de entropia cruzada que requer que os valores dos neurônios de saída representem probabilidades - o que significa que as "pontuações" de saída calculadas pela rede para cada classe devem ser normalizadas, convertidas em probabilidades reais para cada classe. Este passo de normalização é alcançado por meio da função softmax . O Softmax é muito caro quando aplicado a uma enorme camada de saída.
A (a) solução
Para lidar com esse problema, ou seja, o caro cálculo do softmax, o Word2Vec usa uma técnica chamada estimativa contrastante ao ruído. Essa técnica foi introduzida por [A] (reformulada por [B]) e depois usada em [C], [D], [E] para aprender a incorporação de palavras a partir de texto em idioma natural não rotulado.
A idéia básica é converter um problema de classificação multinomial (como é o problema de prever a próxima palavra ) em um problema de classificação binária . Ou seja, em vez de usar o softmax para estimar uma verdadeira distribuição de probabilidade da palavra de saída, é utilizada uma regressão logística binária (classificação binária).
Para cada amostra de treinamento, o classificador aprimorado (otimizado) recebe um par verdadeiro (uma palavra central e outra palavra que aparece em seu contexto) e um número de pares corrompidos aleatoriamente (consistindo na palavra central e em uma palavra escolhida aleatoriamente). vocabulário). Ao aprender a distinguir os pares verdadeiros dos pares corrompidos, o classificador finalmente aprenderá os vetores de palavras.k
Isso é importante: em vez de prever a próxima palavra (a técnica de treinamento "padrão"), o classificador otimizado simplesmente prevê se um par de palavras é bom ou ruim .
O Word2Vec personaliza levemente o processo e chama de amostragem negativa . No Word2Vec, as palavras das amostras negativas (usadas para os pares corrompidos) são extraídas de uma distribuição especialmente projetada, o que favorece que palavras menos frequentes sejam extraídas com mais frequência.
Referências
[A] (2005) - Estimativa contrastante: treinando modelos log-lineares em dados não rotulados
[B] (2010) - Estimativa contrastante ao ruído: um novo princípio de estimativa para modelos estatísticos não normalizados
[C] (2008) - Uma arquitetura unificada para processamento de linguagem natural: redes neurais profundas com aprendizado multitarefa
[D] (2012) - Um algoritmo rápido e simples para o treinamento de modelos de linguagem probabilística neural .
[E] (2013) - Aprendendo a incorporação de palavras de forma eficiente com estimativa contrastante ao ruído .
A resposta é baseada em algumas notas antigas - espero que estejam corretas :)