多類別類神經網路:Softmax

提醒您,邏輯迴歸會產生 0 到 1.0 之間的小數。舉例來說,電子郵件分類器提供的 0.8 邏輯迴歸輸出建議,表示電子郵件有 80% 的機率是垃圾郵件,20% 的機率是非垃圾郵件。很明顯地,電子郵件的機率不是垃圾郵件,總和為 1.0。

Softmax 將這個構想延伸至多類別世界。也就是說,Softmax 會指派多類別問題中每個類別的小數機率。小數點後加起來不得超過 1.0。這項額外限制可協助訓練更快完成融合。

例如,返回圖 1 所示的圖片分析後,Softmax 可能會產生特定類別圖片的下列機率:

類別 機率
apple 0.001
0.04
糖果 0.008
0.95
0.001

Softmax 是透過輸出層之前的類神經網路層實作。Softmax 層的節點數量必須與輸出層相同。

深層類神經網路,含有輸入層、兩個非解碼隱藏層、Softmax 層,以及最終與節點和 Softmax 層數量相同的輸出層。

圖 2. 類神經網路中的 Softmax 層。

Softmax 選項

考慮下列 Softmax 變化版本:

  • FullMax Softmax 是我們先前討論的 Softmax,也就是說,Softmax 會計算每個可能類別的機率。

  • 候選取樣代表 Softmax 會計算所有正面標籤的機率,但只有隨機排除標籤的範例。舉例來說,如果我們需要判斷輸入圖片是信標或血球,就不一定需要針對每一個非狗狗的例子提供機率。

類別數量不多時,Full Softmax 的成本相當低廉,但隨著類別數量攀升,類別就會變得不貴。候選取樣可提高大量類別的執行效率。

單一標籤與多個標籤

Softmax 會假設每個範例都只有一個類別。 不過,部分範例可以同時屬於多個類別。 例如:

  • 您不得使用 Softmax。
  • 您必須依附多個邏輯迴歸。

舉例來說,假設您的範例圖片只包含一個項目,也就是一個水果。Softmax 可以判斷某個項目成為珍珠、橘色、蘋果等項目的可能性。如果範例中的圖片含有各種過程 (也就是各種水果的碗),就必須改為使用多個邏輯迴歸。