Machine-Learning

softmax_cross_entropy_with_logits 與 softmax_cross_entropy_with_logits_v2 有何不同?

  • February 7, 2018

具體來說,我想我想知道這個說法:

默認情況下,TensorFlow 的未來主要版本將允許梯度流入 backprop 上的標籤輸入。

當我使用tf.nn.softmax_cross_entropy_with_logits. 在同一條消息中,它敦促我查看tf.nn.softmax_cross_entropy_with_logits_v2. 我查看了文檔,但它只指出tf.nn.softmax_cross_entropy_with_logits_v2

反向傳播將同時發生在 logits 和標籤中。要禁止反向傳播到標籤,請在將標籤張量提供給此函數之前通過 stop_gradients 傳遞標籤張量。

tf.nn.softmax_cross_entropy_with_logits’s 相反:

反向傳播只會發生在 logits 中。

作為這個主題的新手(我正在嘗試通過一些基本教程),這些陳述不是很清楚。我對反向傳播的理解很淺,但是前面的陳述實際上是什麼意思?反向傳播和標籤是如何連接的?tf.nn.softmax_cross_entropy_with_logits_v2與原版相比,這將如何改變我的工作方式?

你完全有理由感到困惑,因為在監督學習中不需要反向傳播到標籤。它們被認為是固定的基本事實,只需要調整權重以匹配它們。

但在某些情況下,標籤本身可能來自可區分的來源,即另一個網絡。一個例子可能是對抗性學習。在這種情況下,兩個網絡都可能從錯誤信號中受益。tf.nn.softmax_cross_entropy_with_logits_v2這就是引入的原因。請注意,當標籤是佔位符時(這也是典型的),梯度是否通過流動沒有區別,因為沒有變量可以應用梯度。

引用自:https://stats.stackexchange.com/questions/327348

comments powered by Disqus