Estoy tratando con un problema relacionado con encontrar el gradiente de la función de pérdida de entropía cruzada wrt el parámetro donde:
Donde, y es una entrada vectorial.
Además, es un vector caliente de la clase correcta y es la predicción para cada clase que utiliza la función softmax.
Por lo tanto, por ejemplo, tengamos y
Para encontrar la derivada parcial
Tomando de allí para cada los gradientes parciales individuales serán
Pero esto no es cierto porque los gradientes en realidad deberían ser 0 para todas las demás filas, excepto para la cuarta fila, porque hemos utilizado la propiedad del vector caliente. Entonces el gradiente real debe ser
Y por lo tanto los gradientes para todo deben ser
Pero esto no es igual a . Por lo tanto, no deberíamos llamar al gradiente de la función de entropía cruzada una diferencia vectorial entre el predicho y el original.
¿Alguien puede aclarar sobre esto?
ACTUALIZACIÓN: Se corrigió mi derivación
Donde, y es una entrada vectorial.
Además, es un vector caliente de la clase correcta y es la predicción para cada clase que utiliza la función softmax.
ACTUALIZACIÓN: se eliminó el índice de y Por lo tanto, por ejemplo, tengamos y
ACTUALIZACIÓN: Se corrigió que estaba tomando wrt derivada , debería ser solo wrt . Para encontrar la derivada parcial
Tomando de allí para cada los gradientes parciales individuales serán
Lo anterior sucede porque Y, Tomando la derivada parcial de wrt obtenemos:
PASO PRINCIPAL: El hecho de que y crea el vector que completa la prueba.
fuente