先前,ImageNet 因為標籤錯誤的問題而成為熱門話題,這個數字說出來你可能會大吃一驚,至少有十萬個標籤是存在問題的。那些基於錯誤標籤所做的研究,很可能要推翻重來一遍。
由此看來管理資料集品質還是很重要的。
很多人會使用 ImageNet 資料集作為 benchmark,不過基於 ImageNet 預訓練的模型,最終結果可能會因為資料品質而改變。
本文中,來自Adansons 公司的工程師Kenichi Higuchi 對《 Are we done with ImageNet? 》一文中的ImageNet 資料集進行重新研究,在移除錯誤標籤資料後,重新評估torchvision 上發布的模型。
本文將 ImageNet 中的標籤錯誤分為三類,如下所示。
(1) 標註錯誤的資料
(2) 對應多個標籤的資料
(3) 不屬於任何標籤的資料
總結來看,錯誤資料大約有14,000 多個,考慮評估資料的數量為50000,可以看出錯誤資料佔比極高。下圖是一些有代表性的錯誤數據。
方法
在不重新訓練模型的情況下,該研究透過只排除標註錯誤的數據,也就是上述(1)類錯誤數據,以及從評估數據中排除所有錯誤數據,也就是(1)-(3) 錯誤數據,來重新檢查模型的準確率。
為了刪除錯誤數據,需要使用一個描述標籤錯誤訊息的元資料檔案。在這個元資料檔案中,如果包含 (1)-(3) 類別錯誤,則資訊將在「correction」屬性中描述。
該研究使用名為 Adansons Base 的工具,Adansons Base 透過將資料集連結到元資料來過濾資料。這裡測試了 10 個模型,如下所示。
10 個測試的影像分類模型
#結果如下表所示(數值是以% 為單位的精確度,括號中的數字是排名)
10 個分類模型的結果
以All Eval 資料為基線,排除錯誤資料類型(1),準確率平均提高3.122 分;排除所有錯誤資料(1)~(3) ,準確率平均提高11.743 分。
和預想的一樣,排除錯誤數據,準確率全面提高,這一點毫無疑問,因為與乾淨數據相比,存在錯誤數據很容易出錯。
當在不排除錯誤資料的情況下進行評估,以及錯誤資料(1)~(3) 都被排除時,模型的準確率排名發生了變化。
本文中,錯誤資料 (1) 有 3670 個,佔全部 50000 條資料的 7.34%,移除後準確率平均提高了 3.22 點左右。當錯誤移除資料後,資料規模發生了變化,單純的比較準確率可能存在偏差。
儘管並未特別強調,但是在做評估訓練時,使用準確標記的資料很重要。
在比較模型之間的準確率時,先前的研究可能會得出錯誤的結論。所以應該先對數據進行評估,但這真的可以用來評估模型的表現嗎?
許多使用深度學習的模型往往不屑於對數據進行反思,而是渴望透過模型的表現表現來提高準確性和其他評估指標,即使是評價數據中包含錯誤數據,也沒進行準確的處理。
當建立自有的資料集時,例如在業務中應用 AI 時,創建高品質的資料集直接關係到提高 AI 的準確率和可靠性。本文的實驗結果表明,僅僅提高資料品質就可以將準確率提高約 10 個百分點,這表明在開發 AI 系統時不僅要改進模型,還要改善資料集。
然而,保證資料集的品質並不容易。雖然增加元資料的數量以正確評估 AI 模型和資料的品質很重要,但管理起來可能很麻煩,尤其是對於非結構化資料。
以上是移除ImageNet標籤錯誤,模型排名發生大幅變化的詳細內容。更多資訊請關注PHP中文網其他相關文章!