Plus précisément, je suppose que je m'interroge sur cette affirmation:
Les futures versions majeures de TensorFlow permettront par défaut aux gradients de s’intégrer dans l’entrée des étiquettes sur backprop.
Qui est montré quand j'utilise tf.nn.softmax_cross_entropy_with_logits
. Dans le même message, il m’incite à regarder tf.nn.softmax_cross_entropy_with_logits_v2
. J'ai parcouru la documentation, mais elle indique seulement que tf.nn.softmax_cross_entropy_with_logits_v2
:
La rétro-propagation se produira à la fois dans les logits et les étiquettes. Pour interdire la rétropropagation dans les étiquettes, faites passer les tenseurs d’étiquette à un stop_gradients avant de l’alimenter à cette fonction.
par opposition à, tf.nn.softmax_cross_entropy_with_logits
de:
La rétro-propagation ne se produira que dans les logits.
Étant très nouveau sur le sujet (j'essaie de parcourir quelques tutoriels de base), ces déclarations ne sont pas très claires. J'ai une compréhension superficielle de la rétropropagation, mais que signifie réellement la déclaration précédente? Comment les backpropagations et les étiquettes sont-elles connectées? Et en quoi cela change-t-il la façon dont je travaille avec tf.nn.softmax_cross_entropy_with_logits_v2
l'original?
la source
softmax_..._with_logits_v2
ne fonctionneront passoftmax_with_logits
. (Ou je pourrais utiliser tf.stop_gradient sur la variable labels.)