移除ImageNet標籤錯誤,模型排名發生大幅變化
先前,ImageNet 因為標籤錯誤的問題而成為熱門話題,這個數字說出來你可能會大吃一驚,至少有十萬個標籤是存在問題的。那些基於錯誤標籤所做的研究,很可能要推翻重來一遍。
由此看來管理資料集品質還是很重要的。
很多人會使用 ImageNet 資料集作為 benchmark,不過基於 ImageNet 預訓練的模型,最終結果可能會因為資料品質而改變。
本文中,來自Adansons 公司的工程師Kenichi Higuchi 對《 Are we done with ImageNet? 》一文中的ImageNet 資料集進行重新研究,在移除錯誤標籤資料後,重新評估torchvision 上發布的模型。
從 ImageNet 中刪除錯誤資料並重新評估模型
本文將 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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。
