Como o modelo de pular grama do Word2Vec gera os vetores de saída?

11

Estou tendo problemas para entender o modelo de ignorar o algoritmo Word2Vec.

Em palavras-chave contínuas, é fácil ver como as palavras de contexto podem "se encaixar" na Rede Neural, uma vez que você as calcula a média depois de multiplicar cada uma das representações de codificação quentes com a matriz de entrada W.

No entanto, no caso de pular grama, você só obtém o vetor da palavra de entrada multiplicando a codificação one-hot com a matriz de entrada e, em seguida, deve obter representações de vetores C (= tamanho da janela) para as palavras de contexto multiplicando o representação do vetor de entrada com a matriz de saída W '.

O que quero dizer é que, tendo um vocabulário de tamanho e codificações de tamanho , matriz de entrada e como matriz de saída. Dada a palavra com a codificação one-hot com as palavras de contexto e (com repetições one-hot e ), se você multiplicar pela matriz de entrada obtém , agora como você gera vetores de pontuação partir disso?N W R V × N W 'R N × V W i X i w j w h x j x h x i W h : = x t i W = W ( i , )R N CVNWRV×NWRN×VwixiwjwhxjxhxiWh:=xiTW=W(i,)RNC

crscardellino
fonte

Respostas:

7

Eu tive o mesmo problema ao entender isso. Parece que o vetor de pontuação da saída será o mesmo para todos os termos C. Mas a diferença de erro com cada um dos vetores representados a quente será diferente. Assim, os vetores de erro são usados ​​na propagação traseira para atualizar os pesos.

Por favor me corrija se eu estiver errado.

fonte: https://iksinc.wordpress.com/tag/skip-gram-model/

yazhi
fonte
então ? WRN×(VC)
Fabich
0

Nos dois modelos, a pontuação da saída depende da função de pontuação que você usa. Pode haver duas funções de pontuação softmax ou amostragem negativa. Então você usa uma função de pontuação softmax. Você obterá um tamanho de função de pontuação de N * D. Aqui D é a dimensão de um vetor de palavras. N é o número de exemplos. Cada palavra é como uma classe na arquitetura de redes neurais.

Shamane Siriwardhana
fonte
0

No modelo de skip-gram, uma palavra codificada de uma quente é alimentada a uma rede neural superficial de duas camadas. Como a entrada é codificada de um modo quente, a camada oculta contém apenas uma linha da matriz de pesos ocultos de entrada (digamos linha porque a linha do vetor de entrada é uma). k t hkthkth

As pontuações para cada palavra são calculadas pela seguinte equação.

u=WTh

onde h é um vetor na camada oculta e é a matriz de peso de saída oculta. Após o cálculo das distribuições multinomiais de são calculados onde é o tamanho das janelas. As distribuições são calculadas pela seguinte equação. u C CWu CC

p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj

C

uC

References:

  • Xin Rong, Word2Vec Parameter Learning Explained
user3108764
fonte
Portanto, a matriz W é essencialmente o vetor de palavras (a saída do algoritmo) e W 'é uma matriz totalmente diferente que jogamos fora?
Nada # B
W 'também são vetores de palavras igualmente bons.
precisa saber é o seguinte
1
p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj=expujj=1Vexpuj