46 votos

¿En qué se diferencia softmax_cross_entropy_with_logits de softmax_cross_entropy_with_logits_v2?

En concreto, supongo que me pregunto sobre esta afirmación:

Las futuras versiones principales de TensorFlow permitirán que los gradientes fluyan en la entrada de etiquetas en backprop por defecto.

Que se muestra cuando uso tf.nn.softmax_cross_entropy_with_logits . En el mismo mensaje me insta a echar un vistazo a tf.nn.softmax_cross_entropy_with_logits_v2 . He mirado la documentación pero sólo dice que para tf.nn.softmax_cross_entropy_with_logits_v2 :

La retropropagación se producirá tanto en los logits como en las etiquetas. Para no permitir la retropropagación en las etiquetas, pase los tensores de las etiquetas a través de stop_gradients antes de alimentar esta función.

en lugar de, tf.nn.softmax_cross_entropy_with_logits 's:

La retropropagación se producirá sólo en los logits.

Siendo muy nuevo en el tema (estoy tratando de abrirme camino con algunos tutoriales básicos) esas afirmaciones no son muy claras. Tengo un conocimiento superficial de la retropropagación, pero ¿qué significa realmente la afirmación anterior? ¿Cómo están conectados la retropropagación y las etiquetas? ¿Y cómo cambia esto mi forma de trabajar con tf.nn.softmax_cross_entropy_with_logits_v2 ¿a diferencia del original?

63voto

PiPeep Puntos 1455

Tienes toda la razón para confundirte, porque en el aprendizaje supervisado no es necesario retropropagar a las etiquetas. Se consideran verdades básicas fijas y sólo hay que ajustar los pesos para que coincidan con ellas.

Pero en algunos casos, las propias etiquetas puede provienen de una fuente diferenciable, otra red. Un ejemplo podría ser aprendizaje contradictorio . En este caso, ambas redes podrían beneficiarse de la señal de error. Esa es la razón por la que tf.nn.softmax_cross_entropy_with_logits_v2 fue introdujo . Tenga en cuenta que cuando las etiquetas son los marcadores de posición (que también es típico), no hay ninguna diferencia si el gradiente a través de los flujos o no, porque no hay variables para aplicar el gradiente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X