深度學習 標籤平滑

2021-10-07 23:00:10 字數 1294 閱讀 9247

標籤平滑採用如下思路解決這個問題:在訓練時即假設標籤可能存在錯誤,避免「過分」相信訓練樣本的標籤,也就避免了過擬合。具體例項如下:

1 假設某個三分類問題,最終的**輸出為(1.,5.4.),經過softmax函式之後,就可以得到:

2 假設該樣本的初始label為(0,1,0),則對應的損失函式,使用交叉熵計算為:

3 可以發現,其實模型的學習目標是 讓 0.721 無限接近類標 1,但是其實一般情況下,**的分類準確率沒必要非要是1,可以是 0.99等,那麼我們就考慮從初始的label入手,進行平滑操作,讓其變為(0.005,0.99,0.005) 這樣子的形式,一定程度上,可以減小模型的過擬合,更符合我們訓練的過程。

pytorch **

def

one_hot

(label,num_class,smooth_factor)

:"""

將一維列表轉換為獨熱編碼

"""label = label.resize_(label.size()[

0],1

) m_zeros = torch.zeros(label.size()[

0], num_class)

# 從 value 中取值,然後根據 dim 和 index 給相應位置賦值

標籤平滑的原理

在tensorflow2.x版本中呼叫該函式,請看 基於 keras 和 tensorflow 的標籤平滑實現.假設選用softmax交叉熵訓練乙個三分類模型,某樣本經過網路最後一層的輸出為向量x 1.0,5.0,4.0 對x進行softmax轉換輸出為 假設該樣本y 0,1,0 那損失loss 按...

深度學習畫素級標籤製作總結

以下介紹的幾種標籤製作方法,可以製作目標識別的矩形標籤,也可以製作畫素級別的分割標籤,製作的標籤為單通道 uint8 型別的格式。可以根據自己的需要進行選擇合適的方法。介紹 採用python語言進行編譯的工具,通過滑鼠進行選擇點,然後自動將點鏈結成乙個mask。目標範圍內為1,非目標為0 儲存的檔案...

a標籤的深度認識

本教程適用於html中a標籤的認識 主要內容 a是anchor的縮寫 web path target content a target value說明 特殊的目標 有 4 個保留的目標名稱用作特殊的文件重定向操作 blank 瀏覽器總在乙個新開啟 未命名的視窗中載入目標文件。self 這個目標的值對...