Dérivée de la perte d'entropie croisée dans word2vec

10

J'essaie de me frayer un chemin à travers le premier ensemble de problèmes du matériel de cours en ligne stanford cs224d et j'ai des problèmes avec le problème 3A: lorsque j'utilise le modèle skip gram word2vec avec la fonction de prédiction softmax et la fonction de perte d'entropie croisée, nous veulent calculer les gradients par rapport aux vecteurs de mots prédits. Donc, étant donné la fonction softmax:

wje^=Pr(worjer^,w)=exp(wjeTr^)j|V|eXp(wjTr^)

et fonction d'entropie croisée:

CE(w,w^)=-kwklog(wk^)

nous devons calculer CEr^

Mes étapes sont les suivantes:

CE(w,w^)=-k|V|wklog(exp(wkTr^)j|V|eXp(wjTr^))

=-k|V|wklog(exp(wkTr^)-wklog(j|V|eXp(wjTr^))

maintenant donné wk est un vecteur chaud et i est la bonne classe:

CE(w,w^)=-wjeTr^+log(j|V|eXp(wjTr^))

CEr^=-wje+1j|V|eXp(wjTr^)j|V|eXp(wjTr^)wj

Est-ce correct ou pourrait-il être simplifié davantage? Je veux essayer de m'assurer que je suis sur la bonne voie car les solutions de problèmes ne sont pas publiées en ligne. De plus, obtenir les affectations écrites correctes est important pour pouvoir effectuer correctement les affectations de programmation.

slushi
la source
Veuillez ajouter la balise d'auto-apprentissage à la question
Dawny33
Le deuxième signe moins dans l'identité du premier journal devrait être un plus. J'ai essayé de le réparer pour vous mais les modifications doivent être d'au moins 6 caractères: \
FatalMojo

Réponses:

7

CE

CEr^=-wje+1j|V|eXp(wjTr^)j|V|eXp(wjTr^)wj
peut être réécrit en note, les sommes sont toutes les deux indexées par j mais ce devrait vraiment être 2 variables différentes. Ce serait plus approprié qui se traduit par
CEr^=-wje+j|V|(exp(wjr^)j|V|eXp(wjTr^)wj)
CEr^=-wje+X|V|(exp(wXr^)j|V|eXp(wjTr^)wX)
CEr^=-wje+X|V|Pr(worXr^,w)wX
FatalMojo
la source
1
Pertinent, il passe en revue cette dérivation en détail dans la conférence 2 @ 38:00
FatalMojo
Pourquoi les sommes devraient-elles être indexées par différentes variables?
Yamaneko
1
Juste pour éviter la confusion. Mathématiquement, cela signifie la même chose, mais il est recommandé de modifier l'étiquette d'index lors de l'ajout d'une nouvelle somme.
FatalMojo