2017-08-30 67 views
1

我不熟悉深度學習,所以這可能是一個初學者的問題。 在我的理解中,多層感知器中的softmax函數負責每個類的規範化和分佈概率。 如果是這樣,爲什麼我們不使用簡單的標準化?爲什麼softmax功能必需?爲什麼不簡單歸一化?

比方說,我們得到一個向量x = (10 3 2 1) 應用softmax,輸出將是y = (0.9986 0.0009 0.0003 0.0001)

應用簡單歸一化(將每個元素除以sum(16)) 輸出將爲y = (0.625 0.1875 0.125 0.166)

看起來簡單的標準化也可以分佈概率。 那麼,在輸出層上使用softmax函數有什麼優勢?

回答

1

標準化並不總是產生概率,例如,當您考慮負值時它不起作用。或者如果這些值的總和是零呢?

但是使用logits的指數變化,它在理論上從不爲零,它可以將全部範圍的logits映射到概率。所以它是首選,因爲它實際上工作。

1

這取決於訓練損失函數。許多模型都使用算法記錄損失算法,以便您在該向量中看到的值估計每個概率的值。因此,SoftMax只是轉換回線性值和規範化。

經驗原因很簡單:SoftMax用於產生更好結果的地方。