首頁  >  文章  >  後端開發  >  ## Logits、Softmax 和 Softmax 交叉熵在機器學習中如何協同運作?

## Logits、Softmax 和 Softmax 交叉熵在機器學習中如何協同運作?

Susan Sarandon
Susan Sarandon原創
2024-10-28 16:11:02362瀏覽

## How do Logits, Softmax, and Softmax Cross-Entropy Work Together in Machine Learning?

理解Logits、Softmax 和Softmax 交叉熵

在機器學習中,特別是深度神經網絡,理解這個概念至關重要logits 、softmax 和softmax 交叉熵。

Logits

Logits 是指神經網路層在進行 softmax 轉換之前的原始、未縮放的輸出。它們通常表示為實數值向量,並且不限於 0 到 1 之間。

Softmax

Softmax 是一個轉換 logits 的數學函數轉換為機率。它將指數函數應用於 logit 向量的每個元素,然後將結果歸一化,使機率總和等於 1。這會產生多個類別的機率分佈。

Softmax 交叉熵

Softmax 交叉熵是分類任務中常用的損失函數。它將softmax變換與交叉熵損失的計算結合起來。交叉熵測量預測的機率分佈(由 softmax 產生)與真實的真實標籤之間的距離。

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

tf.nn.softmax 和 tf.nn.softmax_cross_entropy_with_cross_entropy_withlogits 作業都進行。但是,它們有不同的用途:

  • tf.nn.softmax: 輸出類別的機率分佈,這對於多類分類很有用。
  • tf.nn.softmax_cross_entropy_with_logits: 將 softmax 與交叉熵損失結合,產生表示預測機率和真實機率之間距離的單一標量損失值。

範例

考慮一個深度神經網絡,其任務是將影像分為兩類:貓和狗。網路的最後一層可能輸出兩個 logits 的向量 [0.5, 0.8]。

  • tf.nn.softmax: tf.nn.softmax 在這些logits 上的輸出將是[0.3553, 0.6447],這是一個機率數組,其中第二個元素(0.6447 ) 表示是狗的機率。
  • tf.nn.softmax_cross_entropy_with_logits: 假設該圖像的標籤為 [0, 1],表示它是一隻狗。 tf.nn.softmax_cross_entropy_with_logits 的輸出將是一個標量損失值,表示預測機率 [0.3553, 0.6447] 和真實標籤 [0, 1] 之間的交叉熵。

總之, logits 提供神經網路的原始輸出,softmax 將它們轉換為機率,softmax 交叉熵將這些機率與真實標籤結合,以計算最佳化的損失值。理解這些概念對於設計有效的機器學習模型至關重要。

以上是## Logits、Softmax 和 Softmax 交叉熵在機器學習中如何協同運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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