Derivada de la pérdida de entropía cruzada en word2vec

10

Estoy tratando de abrirme camino a través del primer conjunto de problemas del material del curso en línea de la clase de Stanford cs224d y tengo algunos problemas con el problema 3A: cuando uso el modelo de omisión de word2vec con la función de predicción softmax y la función de pérdida de entropía cruzada, desea calcular los gradientes con respecto a los vectores de palabras pronosticados. Entonces, dada la función softmax:

wyo^=Pr(worreyor^,w)=Exp(wyoTr^)jEl |VEl |miXpag(wjTr^)

y función de entropía cruzada:

Cmi(w,w^)=-kwklosol(wk^)

necesitamos calcularCmir^

Mis pasos son los siguientes:

Cmi(w,w^)=-kEl |VEl |wklosol(Exp(wkTr^)jEl |VEl |miXpag(wjTr^))

=-kEl |VEl |wklosol(Exp(wkTr^)-wklosol(jEl |VEl |miXpag(wjTr^))

ahora dado wk es un vector caliente y yo es la clase correcta:

Cmi(w,w^)=-wyoTr^+losol(jEl |VEl |miXpag(wjTr^))

Cmir^=-wyo+1jEl |VEl |miXpag(wjTr^)jEl |VEl |miXpag(wjTr^)wj

¿Es esto correcto o podría simplificarse más? Quiero tratar de asegurarme de que estoy en el camino correcto ya que las soluciones del problema no se publican en línea. Además, hacer que las tareas escritas sean correctas es importante para poder realizar correctamente las tareas de programación.

slushi
fuente
Agregue la etiqueta de
autoestudio
El segundo signo menos en la identidad del primer registro debe ser una ventaja. Intenté arreglarlo por ti, pero las ediciones deben tener al menos 6 caracteres: \
FatalMojo

Respuestas:

7

Cmir^=-wyo+1jEl |VEl |miXpag(wjTr^)jEl |VEl |miXpag(wjTr^)wj
puede reescribirse como nota, las sumas están indexadas por j pero realmente deberían ser 2 variables diferentes. Esto sería más apropiado que se traduce en
Cmir^=-wyo+jEl |VEl |(Exp(wjr^)jEl |VEl |miXpag(wjTr^)wj)
Cmir^=-wyo+XEl |VEl |(Exp(wXr^)jEl |VEl |miXpag(wjTr^)wX)
Cmir^=-wyo+XEl |VEl |Pr(worreXr^,w)wX
FatalMojo
fuente
1
Relevante, repasa esa derivación en detalles en la conferencia 2 a las 38:00
FatalMojo
¿Por qué las sumas deben ser indexadas por diferentes variables?
Yamaneko
1
Solo para evitar confusiones. Matemáticamente significa lo mismo, pero es una buena práctica cambiar la etiqueta del índice al agregar una nueva suma.
FatalMojo