帶有噪聲標籤的分類?
我正在嘗試訓練神經網絡進行分類,但我擁有的標籤相當嘈雜(大約 30% 的標籤是錯誤的)。
交叉熵損失確實有效,但我想知道在這種情況下是否有更有效的替代方案?還是交叉熵損失是最優的?
我不確定,但我正在考慮對交叉熵損失進行一些“剪裁”,這樣一個數據點的損失將不大於某個上限,這行得通嗎?
謝謝!
更新
根據盧卡斯的回答,我得到以下預測輸出的導數和 softmax 函數的輸入. 所以我想本質上它是在添加一個平滑項到衍生品。
原始交叉熵損失的導數:
如果我錯了,請告訴我。謝謝! 更新
我碰巧讀到了谷歌的一篇論文,該論文應用了與盧卡斯的答案相同的公式,但有不同的解釋。
在第 7 節中通過標籤平滑進行模型正則化
然而,這(交叉熵損失)可能會導致兩個問題。首先,它可能會導致過度擬合:如果模型學會為每個訓練示例的 groundtruth 標籤分配全概率,則不能保證泛化。其次,它鼓勵最大 logit 與所有其他 logit 之間的差異變大,這與有界梯度相結合,降低了模型的適應能力。直觀地說,這是因為模型對其預測過於自信。
但是**,他們沒有將平滑項添加到預測中,而是將其添加到 ground truth**中,結果證明這是有幫助的。
在我們使用 K = 1000 個類的 ImageNet 實驗中,我們使用了 u(k) = 1/1000 和= 0.1。對於 ILSVRC 2012,我們發現前 1 位錯誤和前 5 位錯誤的絕對值一致提高了約 0.2%。
這裡正確的做法是改變模型,而不是損失。您的目標仍然是正確分類盡可能多的數據點(這決定了損失),但是您對數據的假設已經改變(在統計模型中編碼,在這種情況下是神經網絡)。
讓是由神經網絡產生的類別概率的向量,並且是標籤的交叉熵損失. 為了明確考慮 30% 的標籤是噪聲的假設(假設是均勻隨機的),我們可以改變我們的模型以產生
而是優化
在哪裡是類的數量。這實際上會根據你的直覺表現,將損失限制在有限的範圍內。