博客專欄

EEPW首頁(yè) > 博客 > Softmax 函數(shù)和它的誤解

Softmax 函數(shù)和它的誤解

發(fā)布人:數(shù)據(jù)派THU 時(shí)間:2023-06-20 來(lái)源:工程師 發(fā)布文章

來(lái):深度學(xué)習(xí)愛好者 CV技術(shù)指南

[ 導(dǎo)讀 ]Softmax是個(gè)大家都熟悉的激活函數(shù),然而,很多人只知道它的表達(dá)式,它在網(wǎng)絡(luò)中的位置,而對(duì)一些具體的原因和細(xì)節(jié)卻回答不上來(lái)。這篇文章給了相應(yīng)的介紹。 

Softmax 是一個(gè)數(shù)學(xué)函數(shù),用于對(duì) 0 和 1 之間的值進(jìn)行歸一化。
在本文中,您將了解:

  • 什么是 Softmax 激活函數(shù)及其數(shù)學(xué)表達(dá)式?
  • 它是如何使用 argmax() 函數(shù)實(shí)現(xiàn)的?
  • 為什么 Softmax 只用在神經(jīng)網(wǎng)絡(luò)的最后一層?
  • 對(duì) Softmax 的誤解

什么是 Softmax 激活函數(shù)及其數(shù)學(xué)表達(dá)式?


在深度學(xué)習(xí)中,使用 Softmax 作為激活函數(shù),對(duì) 0 到 1 之間的向量中每個(gè)值的輸出和尺度進(jìn)行歸一化。Softmax 用于分類任務(wù)。在網(wǎng)絡(luò)的最后一層,會(huì)生成一個(gè) N 維向量,分類任務(wù)中的每個(gè)類對(duì)應(yīng)一個(gè)向量。
圖片網(wǎng)絡(luò)輸出層中的 N 維向量
Softmax 用于對(duì) 0 和 1 之間的那些加權(quán)和值進(jìn)行歸一化,并且它們的和等于 1,這就是為什么大多數(shù)人認(rèn)為這些值是類的概率,但這是一種誤解,我們將在本文中討論它。
實(shí)現(xiàn) Softmax 函數(shù)的公式:
圖片
使用這個(gè)數(shù)學(xué)表達(dá)式,我們計(jì)算每類數(shù)據(jù)的歸一化值。這里 θ(i) 是我們從展平層得到的輸入。
計(jì)算每個(gè)類的歸一化值,分子是類的指數(shù)值,分母是所有類的指數(shù)值之和。使用 Softmax 函數(shù),我們得到 0 到 1 之間的所有值,所有值的總和變?yōu)榈扔?1。因此人們將其視為概率,這是他們的誤解。
它如何使用 argmax() 函數(shù)?


在對(duì)每個(gè)類應(yīng)用上述數(shù)學(xué)函數(shù)后,Softmax 會(huì)為每個(gè)類計(jì)算一個(gè)介于 0 和 1 之間的值。
現(xiàn)在我們每個(gè)類都有幾個(gè)值,為了分類輸入屬于哪個(gè)類,Softmax 使用 argmax() 給出了應(yīng)用 Softmax 后具有最大值的值的索引。
圖片argmax 的可視化解釋
為什么 Softmax 只用在神經(jīng)網(wǎng)絡(luò)的最后一層?


現(xiàn)在進(jìn)入重要部分,Softmax 僅用于最后一層以對(duì)值進(jìn)行歸一化,而其他激活函數(shù)(relu、leaky relu、sigmoid 和其他各種)用于內(nèi)層
如果我們看到其他激活函數(shù),如 relu、leaky relu 和 sigmoid,它們都使用唯一的單個(gè)值來(lái)帶來(lái)非線性。他們看不到其他值是什么。
但是在 Softmax 函數(shù)中,在分母中,它取所有指數(shù)值的總和來(lái)歸一化所有類的值。它考慮了范圍內(nèi)所有類的值,這就是我們?cè)谧詈笠粚邮褂盟脑?。要通過(guò)分析所有的值來(lái)知道Input屬于哪個(gè)類。圖片最后一層的 Softmax 激活函數(shù)
對(duì) Softmax 的誤解
關(guān)于 Softmax 的第一個(gè)也是最大的誤解是,它通過(guò)歸一化值的輸出是每個(gè)類的概率值,這完全錯(cuò)誤。這種誤解是因?yàn)檫@些值的總和為 1,但它們只是歸一化值而不是類的概率。
圖片
在最后一層并不是單獨(dú)使用 Sotmax,我們更喜歡使用 Log Softmax,它只是對(duì)來(lái)自 Softmax 函數(shù)的歸一化值進(jìn)行對(duì)數(shù)。
Log Softmax 在數(shù)值穩(wěn)定性、更便宜的模型訓(xùn)練成本和 Penalizes Large error(誤差越大懲罰越大)方面優(yōu)于 Softmax。
這就是在神經(jīng)網(wǎng)絡(luò)中用作激活函數(shù)的 Softmax 函數(shù)。相信讀完本文后你對(duì)它已經(jīng)有了一個(gè)清楚的了解。
原文鏈接:https://medium.com/artificialis/softmax-function-and-misconception-4248917e5a1c



*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉