首頁  >  文章  >  後端開發  >  **TensorFlow 中的「tf.nn.softmax」和「tf.nn.softmax_cross_entropy_with_logits」有什麼不同?

**TensorFlow 中的「tf.nn.softmax」和「tf.nn.softmax_cross_entropy_with_logits」有什麼不同?

DDD
DDD原創
2024-10-25 19:50:29688瀏覽

**What is the Difference Between `tf.nn.softmax` and `tf.nn.softmax_cross_entropy_with_logits` in TensorFlow?**

了解 TensorFlow 中的 Logits

在 TensorFlow 的 API 文件中,經常會遇到術語「logits」。 Logits 是指神經網路層產生的未縮放活化值。在使用 softmax 函數轉換為機率之前,它們被解釋為對數機率。

tf.nn.softmax 和tf.nn.softmax_cross_entropy_with_logits 之間的差異

tf.nn.softmax

tf.nn.softmax_cross_entropy_with_logits

此函數將softmax運算與交叉熵損失的計算結合起來。它在內部執行 softmax 變換,然後計算預測機率和真實標籤之間的交叉熵。輸出是形狀為 [batch_size, 1] 的總和指標。

關鍵差異

tf.nn.softmax_cross_entropy_with_logits 旨在計算 softmax 和交叉熵損失只需一步。它比手動應用 softmax 再進行交叉熵計算更有效處理數值穩定性問題。

何時使用 tf.nn.softmax_cross_entropy_with_logits

    執行分類時需要預測機率的任務。
  • 當最小化交叉熵作為損失函數並在最後一層使用 softmax 時。
  • 當使用單類標籤時,tf.nn.sparse_softmax_cross_entropy_with_logits推薦。

以上是**TensorFlow 中的「tf.nn.softmax」和「tf.nn.softmax_cross_entropy_with_logits」有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn