Derivada da perda de entropia cruzada no word2vec


10

Estou tentando trabalhar no caminho do primeiro conjunto de problemas do material do curso de classe on-line stanford cs224d e estou tendo alguns problemas com o problema 3A: Ao usar o modelo skip gram word2vec com a função de previsão softmax e a função de perda de entropia cruzada, deseja calcular os gradientes em relação aos vetores de palavras previstos. Portanto, dada a função softmax:

wi^=Pr(wordi∣r^,w)=exp⁡(wiTr^)∑j|V|exp(wjTr^)

e função de entropia cruzada:

CE(w,w^)=−∑kwklog(wk^)

precisamos calcular ∂CE∂r^

Minhas etapas são as seguintes:

CE(w,w^)=−∑k|V|wklog(exp⁡(wkTr^)∑j|V|exp(wjTr^))

=-∑k|V|Wkeuog(exp⁡(WkTr^)-Wkeuog(∑j|V|exp(WjTr^))

agora dado Wk é um vetor quente e i é a classe correta:

CE(W,W^)=-WEuTr^+euog(∑j|V|exp(WjTr^))

∂CE∂r^=-WEu+1 1∑j|V|exp(WjTr^)∑j|V|exp(WjTr^)Wj

Isso está correto ou poderia ser mais simplificado? Quero tentar garantir que estou no caminho certo, pois as soluções do conjunto de problemas não são publicadas on-line. Além disso, é importante obter as atribuições escritas corretas para poder executar adequadamente as atribuições de programação.


Por favor, adicione a etiqueta auto-estudo para a pergunta
— Dawny33

O segundo sinal de menos na identidade do primeiro log deve ser um sinal de mais. Tentei corrigir isso para você, mas as edições precisam ter pelo menos 6 caracteres: \
— FatalMojo 22/15/15

Respostas:


7

∂CE∂r^=-WEu+1 1∑j|V|exp(WjTr^)∑j|V|exp(WjTr^)Wj
pode ser reescrito como note que as somas são indexadas por j, mas na verdade devem ser 2 variáveis ​​diferentes. Isso seria mais apropriado que se traduz em
∂CE∂r^=-WEu+∑j|V|(exp⁡(Wj⊤r^)∑j|V|exp(WjTr^)⋅Wj)
∂CE∂r^=−wi+∑x|V|(exp⁡(wx⊤r^)∑j|V|exp(wjTr^)⋅wx)
∂CE∂r^=−wi+∑x|V|Pr(wordx∣r^,w)⋅wx

11
Relevante, ele
— repassa

Por que as somas devem ser indexadas por diferentes variáveis?
— Yamaneko

11
Apenas para evitar confusão. Matematicamente, significa a mesma coisa, mas é uma boa prática alterar o rótulo do índice ao adicionar uma nova soma.
— FatalMojo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.