損失函數(shù)

  • 損失函數(shù)定義:
    ?在深度學(xué)習(xí)中, 損失函數(shù)是用來衡量一組參數(shù)的質(zhì)量的函數(shù), 衡量的方式是比較網(wǎng)絡(luò)輸出和真實(shí)輸出的差異。

  • 損失函數(shù)訓(xùn)練過程:
    ?一般使用梯度下降法:試圖找到一組參數(shù)使得損失函數(shù)的值越小越好,參數(shù)(大小和方向)的調(diào)整取決于損失函數(shù)相對(duì)于參數(shù)的偏導(dǎo)數(shù)。

1.回歸任務(wù)的損失函數(shù)

?網(wǎng)絡(luò)輸出是一個(gè)連續(xù)的數(shù)值。
?常用的損失函數(shù)為:絕對(duì)值誤差, 平方差。

1)絕對(duì)值誤差
?絕對(duì)誤差函數(shù)是非常直觀的損失函數(shù)。
\mathit{L} = \frac{1}{n}\sum_{i=1}^{n}\left | y_{i} - f_{\theta }\left ( x_{i} \right ) \right |

絕對(duì)值誤差.png

?○ 得到的解會(huì)比較稀疏:因而在高緯任務(wù)中表現(xiàn)比較好、預(yù)測(cè)速度快
?○ 對(duì)異常值不敏感

2)方差函數(shù)
?是回歸任務(wù)中最常用的損失函數(shù)。
\mathit{L} = \frac{1}{n}\sum_{i=1}^{n}\left ( y_{i} - f_{\theta }\left ( x_{i} \right )\right )^{2}

方差損失函數(shù).png

?○ 比絕對(duì)誤差函數(shù)得到的結(jié)果更精準(zhǔn)
?○ 對(duì)大的誤差輸出更敏感
?○ 對(duì)outliers很敏感

2.分類任務(wù)的損失函數(shù)

?網(wǎng)絡(luò)的輸出為一個(gè)類別。
?損失函數(shù): hinge loss, Cross-entropy loss

  • 如何設(shè)計(jì)分類任務(wù)的損失函數(shù)?
    首先將真實(shí)的輸出類別進(jìn)行獨(dú)熱編碼 -->One-hot encoding;
    然后,將網(wǎng)絡(luò)模型的預(yù)測(cè)值與One-hot encoding后的真實(shí)類別值作為輸入,計(jì)算hinge loss與Softmax。
1)hinge loss:非概率的解釋
  • 損失值:

?單個(gè)樣本的損失值:
\mathit{L}_{i} = \sum_{j\neq y_{i}}max\left ( 0,s_{j} - s_{y_{i}}+\Delta \right )

?全部樣本的損失值:
\mathit{L} = \frac{1}{N}\sum_{i}\sum_{j\neq y_{i}}\left [max\left ( 0,f\left ( x_{i};W \right )_{j} - f\left ( x_{i};W \right )_{y_{i}}+\Delta \right ) \right ]

  • hinge loss計(jì)算案例
    \begin{align*}\label{2} & s = \left [ 13,-7,11 \right ] \\ & y_{i} = 0 \\ & \Delta = 10 \\ & L_{i} = max\left ( 0,-7 - 13 + 10 \right ) + max\left ( 0, 11 - 13 + 10 \right ) & & \end{align*}
  • 原理
    正確類別的輸出值,一定要大于不正確類別的輸出值(并且至少大于delta值)。
    Hinge Loss.png
2)Softmax

?概率解釋,將輸出轉(zhuǎn)換為概率函數(shù)。
?概率的取值范圍為(0~1),且所有類別的概率之和為1。

  • softmax數(shù)學(xué)公式:S\left ( l_{i} \right ) = \frac{e^{l_{i}}}{\sum _{k}e^{l_{k}}}

  • softmax分類的損失函數(shù):

    softmax損失函數(shù)原理圖.png

    單個(gè)樣本的損失值:
    L_{i} = -\sum_{k}^{}y_{k}\cdot log\left ( S\left ( l_{k} \right ) \right )
    全部樣本的損失值:
    \begin{align*}\label{2} & L = -\frac{1}{n}\sum_{i=1}^{n}L_{i} \\ & L = -\sum_{i=1}^{n}y_{i}\cdot log\left ( S\left ( f_{\Theta} \left ( x_{i} \right ) \right ) \right ) \\ \end{align*}

\color{red}{以上softmax分類的損失函數(shù)稱為:交叉熵?fù)p失函數(shù)}

3.案例

  • 分類任務(wù)損失函數(shù)計(jì)算案例


    分類損失函數(shù)計(jì)算實(shí)例(1).png

    分類損失函數(shù)計(jì)算實(shí)例(2).png

4.分類任務(wù)為什么不用均方差作為損失函數(shù)?

  • 方差函數(shù)多誤差的輸出懲罰非常大
  • 當(dāng)softmax作為激活函數(shù)時(shí),如果使用方差函數(shù)作為損失函數(shù),梯度公式中包含\hat{y}\left ( 1-\hat{y} \right ),當(dāng)輸出接近于0或者1的時(shí)候,梯度值非常小,網(wǎng)絡(luò)的訓(xùn)練就會(huì)非常慢。
1)使用均方差作為損失函數(shù)

?當(dāng)使用均方差作為softmax分類的損失函數(shù)時(shí),梯度公式為:


均方差損失函數(shù)的梯度值.png
2)使用交叉熵作為損失函數(shù)

?當(dāng)使用交叉熵作為softmax分類的損失函數(shù)時(shí),梯度公式為:


交叉熵?fù)p失函數(shù)的梯度值.png

5.多標(biāo)簽分類

  • 輸出類別屬于多個(gè)類中的一個(gè)或者多個(gè)類
  • 例如:一副包含貓咪的圖像可以同時(shí)屬于’貓‘,’哺乳動(dòng)物‘,’寵物‘
  • 多標(biāo)簽分類:應(yīng)該每一個(gè)輸出獨(dú)立使用Sigmoid激活函數(shù)(二分類),不能直接使用Softmax激活函數(shù)。
1)Sigmoid函數(shù)公式

\sigma \left ( l_{i} \right ) = \frac{1}{1+e^{-l_{i}}}

2)多標(biāo)簽分類損失函數(shù)

L_{i} = -\sum_{k}^{}y_{k}\cdot log\left ( \sigma \left ( l_{i} \right ) \right )+\left ( 1-y_{k}\right )log\left ( 1-\sigma \left ( l_{i} \right ) \right )

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容