作者 | 胡佳潔(佳婕)、黃錦池(塵漠)、曲烈(湯問)
背景
訓練資料的規模及其标注品質對有監督學習算法的性能影響重大。網際網路上雖然有海量的可爬取的資料,但這些按照标簽語義收集來的資料往往帶有大量噪聲。是以,要在這些弱标簽資料上訓練出高性能的深度神經網絡模型,研究人員往往面臨着從噪聲中提取足夠多有用資訊的挑戰。本文将介紹一種簡單高效的噪聲标簽自動識别算法 ,隻需設定學習率的變更政策就能識别出 90% 的噪聲樣本,進一步提高訓練模型的精度和收斂速度。
通常基于 human-supervision 的标簽淨化方法中,為保障訓練資料的品質往往需要投入高昂的成本。著名的圖像資料集 ImageNet 有 120 萬帶标資料,标注過程中李飛飛實施多輪多人帶驗證題的複雜标注政策,才確定了資料集的品質。
但在實際業務中我們不可能投入如此巨大的成本,外包标注的資料往往是單次打标,許多因素會導緻我們拿到的訓練集存在不同程度的噪聲,例如下圖是外包對性感圖任務打标結果的截圖,對類似的圖檔标注結果完全相反,用這批帶噪資料進行訓練得到的模型精度無法達到上線要求。是以,對高品質資料的需求與低效率的人工标注,構成了廣大算法攻城獅們在模型開發的初級階段所要解決的主要沖突。

外包标注結果中仍有噪聲
針對噪聲問題,一味地調整模型和算法治标不治本。我們在淘寶内容庫類目分類識别的業務問題中發現,如果訓練資料的精度不到 80% ,那麼訓練出來的模型精度是 72% 左右,無論模型怎麼調整,精度隻有 2%~3% 的提高,無法達到上線要求,是以還是需要從資料源頭上解決問題。依賴 human supervision 的方式淨化資料集需要耗費大量的時間,讓多個外包統一打标的邊界也需要付出很大的溝通成本。
為提高業務效率,我們沉澱出一套簡單高效易移植的噪聲樣本識别算法,自動找出可能是噪聲的樣本,并通過剔除可疑噪聲資料在幹淨訓練集上訓練以提高模型精度。在解決業務問題中,噪聲樣本識别算法給我們帶來了以下兩方面顯著的好處:
- 提高标注效率。通過算法找出最可疑的樣本,隻需要對篩選出來的最可疑的樣本進行二次稽核,減少标注人員的工作量,也能大幅提高疊代速率。
- 提高模型精度。如果我們的噪聲樣本識别精度足夠高,甚至識别精度達到95%以上,我們甚至不需要對可疑的噪聲樣本做人工複審,直接剔除掉訓練模型以提高精度。
接下來,我們将詳細介紹噪聲樣本标簽識别算法,相關工作已被計算機視覺領域的頂會ICCV2019接收《O2U-Net: A Simple Noisy Label Detection Approach for Deep Neural Networks》。
解決思路
我們調研了在噪聲樣本識别、抗噪模型等領域的前沿技術。以下是針對 state-of-the-art paper 的調研分析。
-
《Understanding Black-box Predictions via Influence Functions》
論文主要利用 influence function 識别出噪聲樣本。算法計算每個訓練樣本對驗證集 loss 變化影響,如果某個訓練樣本對于驗證資料集的精度起到負影響,那麼就可能是不好的樣本,這些樣本可能包含了比較多的噪聲樣本。論文的創新點在于提出了計算每個訓練樣本對目前模型性能的影響大小的方法,即 influence function 。對于影響為負值的訓練樣本,且該絕對值很大時,那麼該樣本就不是好的樣本。
- 《CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images》
文章采用課程學習的思想:人類學習知識的過程是從簡單到難,讀書教學,我們的學習過程都是從簡單的課程到複雜的課程。分成四個階段訓練:
- 初始學習,把所有的訓練樣本仍進去,得到初始網絡模型 first_model 。
- 根據初始網絡模型,來判斷每個訓練樣本學習的難易程度,把訓練資料分成:容易學習樣本集 A 、難學習樣本集 B 。判斷難易程度的方法,就是 paper 的創新點,主要思路是采用模型抽取出來的特征向量來聚類,來判斷每個樣本是否是離群,以此判斷學習的難易程度。
- 課程學習:把容易學習的樣本集 A ,在 first_model 模型的基礎上繼續訓練得到第二階段的模型 second_model。
-
把 A+B 混合在一起,在 second_model 的基礎上繼續訓練,得到最終的模型。
之是以把 B 樣本重新混到所有的樣本裡面重新訓練,主要是因為B樣本不全是噪聲樣本,幹淨的樣本占了比例比較大,如果強行扔掉 B 資料集,那麼對模型精度會比 first_model 得到的精度還低,主要原因是因為被誤殺的幹淨樣本,往往是很重要的,這些樣本對于模型精度的提升有很大的貢獻。
-
《MentorNet: Regularizing Very Deep Neural Networks on Corrupted Labels》
文章提出了一種在資料維(data dimension)中正則化深度 CNN 的全新技術,文中稱之為資料正則化(data regularization)。目标是通過正則化在有損标簽上訓練的 CNN 來提升其在清潔測試資料上的泛化表現。具體來說,提出用于訓練該分類網絡(即 StudentNet)的每個樣本學習随時間變化的權重,并引入了 MentorNet 來監督該 StudentNet 的訓練。MentorNet 學習為每個訓練樣本配置設定一個權重。通過學習不均衡的權重,MentorNet 鼓勵某些樣本學得更早,并且得到更多注意,由此對學習工作進行優先級排列。對于 MentorNet 訓練,文章首先預訓練一個 MentorNet 來近似得到有标簽資料中特定的一些預定義權重。然後在具有清潔标簽的第三個資料集上對它進行微調。在測試的時候,StudentNet 獨自進行預測,不使用 MentorNet。
算法設計
算法思路及測評名額
以上方法通過判斷樣本的難易程度,設計不同學習階段進行網絡訓練。受此啟發,我們在ICCV2019的論文《O2U-Net: A Simple Noisy Label Detection Approach for Deep Neural Networks》中提出了噪聲樣本識别的算法。
我們知道,在一次訓練中,随着疊代輪次增加,網絡逐漸從欠拟合逐漸過渡到過拟合狀态,在訓練的初期,模型精度的提升是非常明顯的,因為網絡很快學會了那部分“簡單的“樣本,是以這類樣本的 loss 比較小,與之相反,那些“困難的”樣本通常在訓練的後期才逐漸被學會。
有論文指出如果訓練的輪次足夠多,巨大參數量使得模型能記住幾乎所有的樣本,是以過拟合訓練資料中的噪聲常常會讓模型的表現變差。
觀察訓練過程發現,噪聲樣本通常是在訓練的後期才被學會,因而在訓練的早期,噪聲樣本的平均 loss 是遠大于幹淨樣本的,而在訓練的後期,因為網絡逐漸學會了所有樣本,兩類樣本的loss差別不大。縱觀整個訓練過程,從欠拟合到過拟合,噪聲樣本loss的均值和方差都比幹淨樣本要大。
實驗發現,隻統計一次訓練過程中不同樣本的 loss 分布得到的結論不夠可信,易造成對正常難樣本的誤殺,為了提高算法的魯棒性,我們通過循環學習率政策,使網絡在欠拟合和過拟合之間多次切換,并追蹤不同階段不同訓練參數的模型對樣本的 loss ,通過在時間次元上捕獲多樣性足夠豐富的模型(類似內建學習,對滿足多樣性和準确性的多個模型進行 ensemble ),統計各個樣本 loss 的均值和方差,均值和方差越大,樣本屬于噪聲樣本的機率也就越大。大量實驗表明,加入這個 trick 後,此算法在噪聲樣本識别和抗噪學習方面均取得了 outperform 目前其他算法的性能。該算法可分為三個階段:
stage1: 訓練得到收斂的模型。超參數選擇時,學習率設為固定值即可,訓練可能會達到過拟合狀态。
stage2: 循環學習率階段。學習率周期性衰減,學習率突然增大,使得網絡跳出過拟合狀态,欠拟合時噪聲樣本産生的 loss 較大,而幹淨樣本易于學習,loss 值偏小,随着訓練進行學習率減小,網絡慢慢進入過拟合階段,能正确拟合噪聲樣本和幹淨樣本,此時兩類樣本帶來的 loss 都比較小。通過不連續周期循環學習率來訓練模型,模型在過拟合和欠拟合之間反複切換,在這個過程中,噪聲樣本 loss 的均值和方差均比幹淨樣本高,通過多輪切換,可以基于 loss 篩選出資料中的疑似噪聲樣本。下圖展示了我們的實驗過程中,當學習率周期震蕩時,噪聲樣本(綠色曲線)的loss也會出現周期性震蕩,而幹淨樣本(黃色曲線)的 loss 總是比較小,在論文《O2U-Net: A Simple Noisy Label Detection Approach for Deep Neural Networks》中有更詳盡的實驗結果分析。
stage3: 在幹淨資料集訓練。剔除算法識别出的疑似噪聲樣本後,在幹淨資料集上重新訓練模型。
我們使用以下兩個名額評價算法的品質:
- 噪聲識别精度名額:
- PR 曲線:主要是通過對噪聲樣本,根據不同的門檻值,可視化繪制 PR 曲線:精确度與召回率曲線。
- 根據固定的門檻值,評估精确度:如果訓練資料集噪聲比例為 10% ,那麼就召回 10% 最有可能為标錯的樣本,然後統計召回精度(精确度)。
- 抗噪模型精度名額:
把可疑的噪聲樣本剔除,對模型進行重新訓練,在幹淨的測試集上,計算模型精度提高的百分點。
算法性能
基于上文構造的噪聲樣本資料集,對比了所提算法和幾種 state-of-the-art 算法的性能。下表展示了不同抗噪模型精度名額:
在基于 resnet101 和淺層的 9 層 CNN 模型中,我們所提算法的抗噪性能在不同資料集和不同的噪聲比例上,都較以往的方法有了較大提升。
下表是幾種不同算法對樣本集中噪聲标簽的識别精度,在不同資料集和不同的噪聲比例上,我們的方法都能更準确地識别出噪聲,我們把這歸功于,算法內建了同一網絡結構在各種不同訓練階段、大量不同參數的情況下,對樣本對 loss 的分布進行統計,是以能準确識别出疑似噪聲樣本。并且算法不需要內建多個模型,僅僅是通過調整學習率來控制某一個模型的進入不同狀态,是以在算法實作起來比較容易,針對各種模型的可遷移性也很強。
算法同學在解決業務問題時,總希望能獲得高品質的訓練樣本,而從業務場景中拿到的資料大多需要重新進行标注,有時由于标注規則不清晰,即使是外包同學标注的資料往往也存在誤标現象。
在訓練流程之前,先使用噪聲标簽識别算法将疑似噪聲樣本挑選出來,直接剔除這些樣本或對其進行二次打标,可以快速訓練樣本的品質。例如,我們在解決圖檔裡多主體的任務時,拿到的原始資料集噪聲比例約為 15% ,通過算法我們找出了 5k 個單主體的樣本集中,為噪聲樣本機率最大的 30 個樣本。從召回的噪聲樣本中可以看出, top30 全部都是多主體的樣本,在 top 100 的噪聲樣本中,我們算法識别的精度約為 93% 。
當正負樣本的距離很接近時,例如在對商品圖進行肢體檢測時,對包含肢體的資料集進行噪聲樣本檢測,在 top30 的疑似噪聲樣本中,也包含了一個正确的樣本,這也是後續優化需要解決的問題。
應用場景 - 圖像品質服務平台(水滴)
人工标注帶來的樣本噪聲問題不可避免,清洗樣本獲得幹淨的資料集,是許多算法同學需要解決的問題,自己多輪打标剔除噪聲樣本需要掌握分類規則,也需要耗費大量時間精力。而我們提出的噪聲樣本自動識别算法,大大節約了我們的進行樣本篩選的成本,有效幫助我們在解決在各種業務問題時提高效率。除此之外,在驗收外包同學的标注資料時,也可以通過噪聲樣本識别算法來判斷标注精度是否達到一定标準。
噪聲樣本識别能力和相似樣本召回能力,有力地幫助我們解決了許多圖像品質相關的業務問題,并在業務過程中積累了大量的幹淨樣本。目前我們已具備的品質能力主要包含:牛皮癬、軟色情、模糊圖、白底圖、純色背景圖、優質圖識别、真實場景圖、多主體、拼接圖、是否包含肢體、插畫素材圖等多個次元的檢測判斷,算法落地在水滴平台上。
通過圖像品質服務平台 -水滴,我們實作了資料、工程、算法互相優化和聯通,落地素材品質治理和體驗營運,上線用于淘寶導購素材,内容庫封面圖等稽核過濾通過巡檢卡口,周均服務量4億+,過濾精度均超過90%,為淘寶圖像素材品質提供了快速圖像檢測機制和能力,通過快速圖像檢測能力模型生成,解決不同場景劣質素材品質營運的問題,提升素材品質和使用者體驗。
參考文獻:
[1]《Classification in the Presence of Label Noise: A Survey》
[2]《Co-teaching: Robust Training of Deep Neural Networks with Extremely Noisy labels》
[3]《Mentor-Net: Learning Data-Driven Curriculum for Very Deep Neural Networks on Corrupted Labels》
[4]《Understanding Black-box Predictions via Influence Functions》
[5]《Making Deep Neural Networks Robust to Label Noise: A Loss Correction Approach》
[6]《Learning from Massive Noisy Labeled Data for Image Classification》
[7]《A Closer Look at Memorization in Deep Networks》
[8]《Training Deep Neuralnetwork Using a Noise Adaptation Layer》
[9]《CurriculumNet: Weakly Supervised Learning from Large-Scale Web Images》
[10]《CleanNet: Transfer Learning for Scalable Image Classifier Training With Label Noise》
歡迎加入:我們需要計算機視覺進階算法專家、NLP進階算法專家、推薦進階算法專家,履歷可投遞到[email protected]
淘系技術部商業機器智能團隊的使命是阿裡巴巴商業作業系統智能化,目前有智能營運、内容和社群、3D智能設計等三大算法方向。團隊緻力于探索最前沿的機器學習、機器視覺、圖形學、運籌學和NLP等技術,研究使用者增長、商家自營運、内容了解、内容推薦和搜尋、智能搭配與自動布局等新零售核心算法。我們的算法服務十億消費者,數千萬商家,并通過技術創新開辟新的行業賽道,實作淨增長。在實作業務價值的同時,我們在一流會議上發表多篇學術文章。我們是一支充滿活力的年輕團隊,期待不甘平庸的算法人的加入,同舟共濟于星辰大海。