在將深度學習模型用於分類任務時,我們通常會遇到以下問題:過度擬合和過度自信。對過度擬合的研究非常深入,可以通過早期停止, 輟學,體重調整等方法解決。另一方面,我們缺乏解決過度自信的工具。標簽平滑 是解決這兩個問題的正則化技術。通過對 label 進行 weighted sum,能夠取得比 one hot label 更好的效果。
label smoothing 將 label 由 轉化為
,公式為:
過度自信和校准
如果分類模型的預測結果概率反映了其准確性,則對它進行校准。例如,考慮我們數據集中的100個示例,每個示例的模型預測概率為0.9。如果我們的模型經過校准,則應正確分類90個示例。類似地,在另外100個預測概率為0.6的示例中,我們期望只有60個示例被正確分類。
模型校准對於
- 模型的可解釋性和可靠性
- 確定下游應用程序的決策閾值
- 將我們的模型集成到集成或機器學習管道中
過度自信的模型未經過校准,其預測概率始終高於准確性。例如,對於精度僅為0.6的輸入,它可以預測0.9。請注意,測試誤差較小的模型仍然可能過於自信,因此可以從標簽平滑中受益。
標簽平滑公式
標簽平滑用y_hot和均勻分布的混合替換一鍵編碼的標簽矢量y_hot:
y_ls =(1- α)* y_hot + α / K
其中K是標簽類別的數量,而α是確定平滑量的超參數。如果α = 0,我們獲得原始的一熱編碼y_hot。如果α = 1,我們得到均勻分布。
標簽平滑的動機
當損失函數是交叉熵時,使用標簽平滑,模型將softmax函數應用於倒數第二層的對數向量z,以計算其輸出概率p。在這種設置下,交叉熵損失函數相對於對數的梯度很簡單
∇CE= p - y = softmax(z)-y
其中y是標簽分布。特別是,我們可以看到
- 梯度下降將嘗試使p盡可能接近y。
- 漸變范圍介於-1和1。
一鍵編碼的標簽鼓勵將最大的logit間隙輸入到softmax函數中。直觀地,大的logit間隙與有限梯度相結合將使模型的適應性降低,並且對其預測過於自信。
相反,如下面的示例所示,平滑標簽鼓勵較小的logit間隙。在[3]中表明,這將導致更好的模型校准並防止過度自信的預測。
一個具體的例子
假設我們有K = 3類,並且我們的標簽屬於第一類。令[ a,b,c ]為我們的logit向量。
如果我們不使用標簽平滑,則標簽矢量是單熱編碼矢量[1、0、0]。我們的模型將一個 » b和一個 » Ç。例如,將softmax應用於logit向量[10,0,0]會得出[0.9999,0,0]舍入到小數點后4位。
如果我們使用α = 0.1的標簽平滑,則平滑的標簽向量≈[0.9333,0.0333,0.0333]。logit向量[3.3322,0,0]在softmax之后將平滑的標簽向量近似為小數點后4位,並且間隙較小。這就是為什么我們稱標簽平滑為一種正則化技術,因為它可以抑制最大的logit變得比其余的更大。