?

基于深度學習的標簽噪聲學習算法綜述

2023-03-24 13:24伏博毅彭云聰藍鑫秦小林
計算機應用 2023年3期
關鍵詞:魯棒性標簽損失

伏博毅,彭云聰,藍鑫,秦小林*

(1.中國科學院 成都計算機應用研究所,成都 610041;2.中國科學院大學 計算機科學與技術學院,北京 100049)

0 引言

深度學習以大規模數據集為前提,在圖像分類、目標檢測、文本分析等領域取得了顯著的成功,而成功的關鍵在于現有的海量標記數據集,如MS COCO(MicroSoft Common Objects in Context)[1]和ImageNet[2-3]等大規模數據集。然而,實際場景中收集高質量的大規模數據集既耗時又昂貴。為降低成本,構建數據集的過程會利用某種程度的自動標注或眾包標注,而這些技術本質上容易出錯[4],從而引入帶有標簽噪聲的低質量數據。此外,Northcutt等[5]發現,在大型通用數據集如ImageNet 上也存在標簽噪聲,ImageNet 驗證集中存在多達2 916 個標簽錯誤,占總驗證集的6%。

研究表明,盡管深度學習網絡在對標簽噪聲的處理上相對穩?。?-7],但這些強大的模型依然存在噪聲過擬合的情況,極大地降低了模型的泛化性能。此外,如果標簽噪聲大量出現,它們可能會破壞當前模型的評價體系。例如,各行業從業者依賴于帶有噪聲的真實數據集,如果用它們進行訓練、驗證,可能會得出錯誤的模型。

目前標簽噪聲問題已經越來越受到重視,因為它們可以顯著影響學習到的分類器的準確性[8-10]。如何從含有標簽噪聲的數據集中學習成為現代深度學習任務的一項重要研究。因此越來越多的學者開始針對噪聲數據進行研究,遺憾的是,傳統的正則化技術,例如數據增強[11]、Dropout[12]等方式,并沒有很好地處理標簽噪聲問題。即使上述所有正則化技術都被激活,在干凈數據和有噪聲數據上訓練的模型之間的測試精度差距仍然很大。在存在噪聲標簽的情況下,模型如何獲得良好的泛化能力充滿了挑戰性。本文介紹了最新的標簽噪聲學習技術的進展,以緩解標簽噪聲帶來的影響。

本文首先詳細闡述了標簽噪聲學習問題的來源、分類和影響,然后依據機器學習的不同要素將它歸納為基于數據的標簽噪聲學習算法、基于損失函數的標簽噪聲學習算法、基于模型的標簽噪聲學習算法與基于訓練方式的標簽噪聲學習算法,有助于對算法進行評價;接著提供了一個帶標簽噪聲樣本學習的基礎框架,分析了各種應用場景下標簽噪聲問題的處理策略,以便眾多相關研究者參考和借鑒;最后,對標簽噪聲學習技術進行總結,給出了一些優化思路,并展望了標簽噪聲學習算法面臨的挑戰與未來的發展方向。

1 標簽噪聲

1.1 問題描述

標簽噪聲問題可以定義為在有監督學習下,假設帶噪數據集為D={(x1,y1),(x2,y2),…,(xn,yn)}∈(X,Y)n,噪聲分布(未知)為(X,Y)n,目標是尋找最佳的映射函數f:X→Y[13]。損失函數常用于評估分類器的性能,可以定義損失函數L(f(x),y)以衡量分類器的預測性能。在D上的經驗風險R定義為:

經驗風險最小化結果為:

大部分研究采用隨機噪聲對標簽噪聲建模,可以分類為對稱標簽噪聲和非對稱標簽噪聲;而實際上數據標注錯誤往往取決于實例和識別的難度,存在實例相關噪聲[14-15]。標簽噪聲模型可表述為:

對稱標簽噪聲可以理解為真實標簽yn以相同的概率ηxn,i=η被翻轉為其他標簽i。非對稱標簽則是真實標簽yn以不同概率ηxn,i被翻轉為其他標簽i,而真實標簽yn會以更高的概率被標注為某一特定類標簽,即1 -ηxn>ηxn;且某個類更有可能被錯誤地標注為特定的標簽,即i≠yn,j≠yn,ηxn,i>ηxn,j。對稱標簽噪聲的生成過程完全隨機,生成的錯誤標簽與真實標簽和實例特征都不相關,而實例相關噪聲生成的錯誤標簽只與實例特征相關,依賴額外的較強的假設,某個類更有可能被標注為與特征相關的噪聲標簽,即

如果一個損失函數L(f(x),y)滿足式(4),那么該損失函數是對稱的。常數C表示遍歷所有類別的總損失和。具有對稱性的損失函數,具有一定的抗噪能力[16]。

基于噪聲標簽模型和以上不同噪聲標簽的定義,對于一個對稱損失函數L(f(x),y),噪聲情況下的經驗風險R可以表示為:

對稱標簽噪聲的經驗風險R為:

其中,RL(f)為干凈數據集的經驗風險。對于對稱標簽噪聲,是一個常數,其中,v是一個固定向量。當即和RL(f)線性相關,所以它們的最優解相同,即對稱標簽噪聲情況下的風險最小化的模型f*和干凈數據集下的風險最小化模型f相等,這種情況下損失函數L(f(x),y)具有魯棒性,對標簽噪聲具有很好的抗噪性。

對于非對稱噪聲,經驗風險R表達式為式(7)。如果要滿足相等的條件,則需要滿足RL(f*)=0,1 -ηy-ηy,i>0。

但是,對于帶噪數據集,僅通過經驗風險最小化來處理標簽噪聲往往不夠,因為損失函數L(f(x),y)的對稱條件限制過多,無法找到凸函數,導致優化困難,且經驗風險最小化不足以處理標簽噪聲的多樣性。因此接下來將會從數據本身、損失函數的修改、模型結構以及訓練方式介紹一些其他的標簽噪聲處理方法。

1.2 標簽噪聲的來源

實際場景中標簽噪聲的一大來源是網頁爬取等各種自動標注方法[17-18]。標簽噪聲還存在于諸多應用場景:在線查詢[19],在查詢某一個目標的圖像時,存在不屬于同一個類的噪聲樣本;眾包標注[20]中存在的非專業標注帶來了噪聲標簽;對抗性攻擊[21]會在原始樣本中加入噪聲以生成對抗性樣本;醫學圖像[22]的數據本身存在不確定性的醫療任務,領域專家給出的不同的診斷結果存在標簽噪聲。

從含有標簽噪聲的數據集中學習已經成為深度學習應用的一個發展方向,通過研究標簽噪聲對模型的影響發現,標簽噪聲產生的原因很多,主要可以歸結為4 類:1)沒有充足的信息來標注可靠的標簽[23],例如用簡單有限的語言描述物體,則獲取的信息量會減少。2)專家在標注標簽時也可能發生錯誤[24],如數據集質量較低導致分辨率降低,專家很難正確標注所有數據。3)標注任務很主觀,不同的人標注數據的角度不同,可能會得到不一致的結果[25-26]。4)數據編碼或通信問題有可能引起標簽錯誤,如在垃圾郵件過濾中,反饋機制的誤解和意外點擊都會引起標簽噪聲[27]。

1.3 標簽噪聲的影響

在實際的數據集中,標簽噪聲難以避免,這會帶來以下幾方面的影響:1)標簽噪聲降低了模型預測的能力。如在自適應增強(Adaptive boosting,Adaboost)算法中,模型往往會給被標記錯誤的樣本更大的權重,導致模型的分類能力下降[28]。2)標簽噪聲可能會增加訓練特征的數量和模型復雜度。如受標簽噪聲影響,決策樹節點的數量明顯增加,增加了模型的復雜度[29]。3)標簽噪聲可能會改變觀測類別出現的頻率[30]。如研究某一人群中特定疾病的發病率,那么該人群的估計可能受到標簽噪聲的影響。4)在特征選擇或特征排序任務中也會存在標簽噪聲的影響。

另外,過度參數化的神經網絡有足夠的容量存儲,因此帶有標簽噪聲的大規模數據集,導致它們的泛化性能較差。因此,魯棒的標簽噪聲學習算法已經成為深度學習應用中一項重要而富有挑戰性的任務。

2 標簽噪聲算法

標簽噪聲學習算法的魯棒性可以通過多種方式加強,圖1 為本文對最近的標簽噪聲算法的分類和總結概述,大多數方法使用監督學習,對標簽噪聲具有良好的抗噪性。本文依據機器學習的不同要素將基于深度學習的標簽噪聲算法歸納為四類:1)基于數據的標簽噪聲算法,旨在從帶噪數據集中識別真正標簽,篩選出錯誤標簽樣本;2)基于損失函數的標簽噪聲算法,旨在修改損失函數使算法對噪聲魯棒或緩解過擬合噪聲標簽;3)基于模型的標簽噪聲算法,通過設計結構魯棒的模型學習噪聲或者對模型進行正則化以提高模型泛化能力;4)基于訓練方式的噪聲標簽算法,引入半監督學習方法進一步提高模型對噪聲的魯棒性。同時,圖1 還將深度學習最新的方法根據以上四類進行劃分。

圖1 標簽噪聲學習算法分類Fig.1 Categories of label noise learning algorithms

2.1 基于數據的標簽噪聲算法

本節主要介紹數據處理的標簽噪聲學習算法。對于標簽噪聲問題,最簡單的做法是找出疑似標注錯誤的樣本,通過降低權重或者直接剔除以改善學習效果。另外,如果能估計噪聲轉移矩陣或采用其他方式,進行一定程度的標簽修正,就能夠在標簽噪聲情況下得到更好的效果。因此,將基于數據的標簽噪聲學習算法歸納為以下兩種類型:樣本重加權、標簽重修正。

2.1.1 樣本重加權

樣本重加權指通過樣本損失值、模型輸出的樣本概率、梯度等信息,找出疑似錯誤標注的樣本,通過賦權重為0 以剔除可能樣本,或采用更平滑的手段——降低疑似樣本的權重來清理標簽噪聲。

樣本重加權主要通過分區和迭代對標簽噪聲進行過濾?;诜謪^的方法制定分區規則,然后過濾不同區域的標簽噪聲。張增輝等[31]提出了動態概率抽樣的方法,通過統計樣本的標簽置信度對樣本分區;陳慶強等[32]采用歐氏距離度量樣本分布的密度以劃分不同的區域,按照分區采用不同的規則過濾標簽噪聲?;诘姆椒ㄍǔ@冒氡O督的方法清理標簽噪聲。孟曉超等[33]結合高斯過程模型和主動學習,迭代地清理標簽噪聲,相較于監督分類方法,能夠保持原有數據的完整性。此外,標簽重加權方法需要對標簽進行重要性估計。陳倩等[34]通過無約束最小二乘重要性算法估計標簽重要性,結合Self-training 和標簽重要性進行半監督訓練,對樣本進行重加權分類。這些方法依賴于分區規則和迭代階段,可能會錯誤地過濾掉噪聲樣本。

為了更方便地篩選出標簽噪聲,Northcutt等[35]提出了置信學習(Confidence Learning)框架CleanLab,如圖2 所示。該框架旨在利用帶有標簽噪聲的數據訓練模型,得到的模型能夠識別具有錯誤標簽的樣本,學習標簽噪聲并清理標簽噪聲。該框架主要分為三個步驟:首先評估樣本的噪聲標簽和真正標簽的聯合分布;然后識別錯誤標簽的樣本;最后篩選出錯誤標簽的樣本后,對樣本進行重加權并重新加入訓練。在真實充分條件下,置信學習框架可準確地發現標簽錯誤,并準確地估計噪聲和真實標簽的聯合分布。

圖2 置信學習框架Fig.2 Confident learning framework

從另一角度,Li等[36]提出基于樣本損失的DivideMix 算法。該算法的核心思想在于當帶噪學習的模型較合理時,正常樣本和錯誤標注樣本的損失值會呈現顯著性差異。DivideMix 采用高斯混合模型對樣本的損失值進行聚類以劃分樣本,真實標簽的干凈樣本為有標簽集合,均值較??;噪聲標簽的樣本為無標簽集合,均值較大,并以半監督的方式在兩個樣本集合上進行訓練。

上述兩種基于預測概率和損失的方法十分依賴帶噪學習的模型性能,并且需要合理地微調超參。與上述重加權方法不同,Ren等[37]提出在附加干凈無偏驗證集情況下的重加權算法,不需要調節超參。在每一個訓練迭代中,檢查訓練損失平面上部分訓練樣本的下降方向,根據驗證損失平面下降方向的相似性對樣本進行重加權。

樣本重加權方法比較容易適應訓練集偏差和標簽噪聲,是解決標簽噪聲問題比較流行的一種方案,但是需要潛在的檢測過程以估計噪聲模型。

2.1.2 樣本重修正

標簽重修正是對樣本標簽進行一定程度的修改,達到在帶噪學習中保持良好性能的方法。標簽平滑(Label Smoothing)常用于提高深度學習模型在噪聲數據集上的性能[38-43]。標簽平滑將原始標簽按式(8)進行修改:

與傳統的估計標簽轉移矩陣以校正每個樣本損失的方法不同[44],標簽平滑相當于向標簽注入對稱噪聲,不僅在實驗上取得較好的效果,Lukasik等[45]在理論上也證明了標簽平滑可以視作一種正則化方法,即可以使模型權重收斂于小范數解。另一方面,對噪聲樣本生成偽標簽能夠充分利用所有的樣本信息。余孟池等[46]利用訓練好的基網絡預測噪聲標簽?;诮處?學生網絡的架構通常會對標簽進行軟化,使學生網絡在帶噪學習中更加魯棒[47-51]。Pham等[52]提出了一種元偽標簽(Meta Pseudo Labels)算法,將訓練數據中疑似噪聲樣本的數據視為無標簽數據進行半監督學習。由于半監督學習的高效性,非常適合引入標簽噪聲學習中。圖3 是元偽標簽的算法流程。

圖3 元偽標簽算法流程Fig.3 Meta pseudo labels algorithm flow

與傳統的偽標簽一樣,元偽標簽使用教師網絡給無標記的數據生成偽標簽,并且用這個偽標簽指導學生網絡。不同的是,元偽標簽會依據學生網絡在有標簽樣本和偽標簽樣本上的結果不斷調整教師網絡。該算法的核心在于,學生網絡和教師網絡之間存在交替的優化過程。下面給出針對標簽噪聲的元偽標簽學習算法流程。

1)學生網絡:抽取一部分未標記數據(疑似噪聲數據)xu,利用教師網絡的預測值給定偽標簽T(xu;θT),然后使用一步梯度下降更新模型參數。學生網絡梯度更新公式為:

2)教師網絡:抽取一部分有標記數據(干凈數據)(xl,yl),利用第1)步學生網絡優化后的模型參數更新教師網絡。教師網絡梯度更新公式為:

標簽重修正方法從數據本身出發,將噪聲標簽修正為接近真實類別的標簽,能夠從根源上提高數據集的質量;但是這種方法十分依賴原本的干凈數據集,并且標簽重修正的錯誤可能會容易累加。

2.2 基于損失函數的標簽噪聲算法

大量研究表明,損失函數的處理會提高標簽噪聲在訓練時的魯棒性[53]?;趽p失函數的標簽噪聲學習算法主要考慮標簽轉移矩陣和風險最小化方案的穩健性。前者的目標是估計標簽轉移矩陣,前向或后向地校正每個樣本的損失,以減少錯誤的累計;后者的目標是設計一個損失函數而不需要估計轉移矩陣,使有噪聲標簽和干凈數據的情況下的風險最小化模型相同。損失函數的設計分為兩個方面:1)單獨改進訓練樣本誤差即損失函數;2)向基礎損失函數中加入正則化項以增強模型魯棒性。因此,下面介紹了關于損失的三種方法:損失校正、魯棒的損失和損失正則化。

2.2.1 損失校正

損失校正首先需要估計標簽轉移矩陣[54],即一個類別與另一個類別的錯誤標簽的概率,然后通過修改訓練期間的損失函數以提高魯棒性。前向校正和后向校正是兩種基于標簽轉移矩陣的損失校正方法[44]。前向校正在前向傳播中將估計的標簽轉移矩陣與Softmax 輸出相乘以校正每個樣本的損失;后向校正采用沒有經過損失校正的Softmax 輸出估計標簽轉移矩陣,然后重新訓練模型,將估計的轉移矩陣和損失值相乘以校正損失。損失校正方法對標簽轉移矩陣非常敏感,現實中的標簽轉移矩陣也很難估計。

2.2.2 魯棒的損失

魯棒的損失函數和其他方法相比,是一種更簡單、通用的魯棒學習的解決方案。交叉熵損失(Cross Entropy loss,CE)[55]函數是常用于分類的標準損失函數,收斂快但容易擬合噪聲,泛化能力較差。Ghosh等[55]證明了對稱損失函數可以魯棒地標記噪聲。由此設計原則導出的對稱函數如平均絕對誤 差(Mean Absolute Error,MAE)[16]和逆交叉熵(Reverse Cross Entropy,RCE)[56]在多分類標簽下的實驗結果具有很好的魯棒性,但是在復雜的數據集上欠擬合。為了探討損失函數如何同時兼并魯棒性和可學習性,一系列新的損失函數被提出。Zhang等[57]設計了廣義交叉熵(Generalized Cross Entropy,GCE)損失函數,它類似于MAE 和CE 的廣義混合。受KL(Kullback-Leibler)散度的啟發,Wang等[56]結合CE 和RCE 設計了對稱交叉熵(Symmetric Cross Entropy,SCE)損失。但是GCE 和SCE 都只在對稱損失和CE 之間進行折中,且SCE 對噪聲標簽僅具有部分魯棒性。Ma等[58]對損失函數進行簡單的歸一化規范處理,證明任何損失函數都可以對有噪聲的標簽產生魯棒性。但是歸一化交叉熵(Normalized Cross Entropy,NCE)損失函數實際上改變了損失函數的形式,失去了原始損失函數的擬合能力,即損失函數的魯棒性并不會保證優秀的可學習性。因此又提出了主動被動損失(Active Passive Loss,APL)函數,組合兩個對稱損失,在保證魯棒性的同時提高了損失函數的可學習性。

以上損失函數都基于CE 進行改進,通過組合多種形式的損失函數實現魯棒性和可學習性。另一種魯棒的損失僅從原CE 出發,研究魯棒的損失函數。為了探討交叉熵損失函數和其他損失函數是否存在關聯,Feng等[59]受泰勒函數啟發,基于CE 提出了一種泰勒交叉熵(Taylor Cross Entropy,TCE)損失(Taylor-Loss)。TCE 通過調整超參t間接地調整泰勒級數以逼近CE,能夠擬合訓練標簽,對標簽噪聲具有魯棒性。TCE 不僅繼承了CE 的優點,還避免了CE 過擬合的缺點,對標簽噪聲的魯棒性更好。TCE 的表達公式為:

Amid等[60]提出CE 在邊界和尾部存在固有的兩個缺陷:1)邏輯損失是最后一層的激活值的凸函數,遠離分類邊界的異常值會左右總的損失值;2)Softmax 函數在給類分配概率時,邏輯函數的尾部呈指數衰減,錯誤的標簽會使邏輯函數的尾部呈指數下降,導致處理有噪聲數據的泛化能力差。因此,基于Bregman 散度[61]提出了一種雙溫邏輯損失(Bi-Tempered logistic Loss,BT-Loss),并引入了兩個參數:溫度t1和尾部重量t2,以約束邏輯損失函數的界限,降低邏輯函數尾部的衰減速度,如式(12)、(13)所示。

以上損失函數都顯示了對標簽噪聲的抗噪性,但是改進損失函數時都引入了超參數,很難一次性確定模型在超參數為何值時訓練性能最好。應該繼續探索是否存在不包含任何超參數的魯棒損失函數。

2.2.3 損失正則化

基于損失的正則化技術可以緩解模型過度匹配有噪聲標簽。與魯棒損失不同,它通過向基礎損失函數中加入正則化項以增強模型的魯棒性。Zhou等[62]在Softmax 部分增加溫度函數銳化網絡的輸出,采用稀疏正則化(Sparse Regularization,SR)使網絡輸出稀疏,獲得了足夠的魯棒性和學習充分性。SR 的表達公式為:

對抗訓練(Adersarial Training,AT)[63-68]以及虛擬對抗訓練(Virtual Adersarial Training,VAT)[69]也可以作為正則化方法,以增強機器學習模型的魯棒性。Szegedy等[70]通過給原始樣本構造噪聲以生成噪聲樣本,導致神經網絡模型輸出錯誤的分類結果,這些樣本就是對抗樣本,此過程稱為對抗攻擊。對抗訓練主要發生在構造對抗樣本時,會輕微降低深度學習模型預測的準確性。這是一種可接受的權衡,因為它增強了抗對抗性攻擊的穩定性。在許多對抗性的例子上微調神經網絡會使它在面臨對抗攻擊時更加穩健。

對抗訓練的公式如下:

其中:θ為模型參數;D為數據分布;Ω為擾動空間;L為損失函數;E 為整個數據分布D的損失函數期望。

考慮泰勒展開近似,正則化形式的對抗訓練公式為:

添加擾動后的對抗訓練公式為:

因此對抗訓練可以視為在損失函數上加入正則化項,基于損失函數進行模型的正則化。常用的對抗樣本生成策略有快速梯度符號法(Fast Gradient Sign Method,FGSM)[63]、Deepfool[71]、C&W(Carlini and Wagner attacks)[72]等。

虛擬對抗訓練是另一種有效的基于損失正則化的技術[69],它加入微小擾動以生成特定的數據點,使這些數據點在原始特征空間中非常接近,但在表征向量的空間中卻相距較遠,然后再訓練模型使它們的輸出彼此接近。

2.3 基于模型的標簽噪聲算法

許多研究對模型架構進行了修改,建模了噪聲數據集的標簽轉換矩陣。對模型架構的改變方式包括在Softmax 層上添加一個噪聲適配層,或設計一個新的專用架構,以及在不改變模型參數的前提下對模型進行正則化處理。

2.3.1 魯棒的結構設計

許多研究針對不同的噪聲類型修改模型架構,并增加一個額外的噪聲層來學習噪聲分布,這個噪聲分布為噪聲層的權重矩陣。是噪聲標簽的分布,p(y*=i|x,θ)是基本模型的概率輸出,那么樣本x被預測為標簽噪聲的概率為:

當訓練標簽干凈時,將噪聲層的權重矩陣設置單位矩陣,即沒有噪聲層。學習目標是在N個樣本上最大化對數似然性??捎霉奖硎緸椋?/p>

處理標簽噪聲常見的簡單方法是在數據預處理階段對標簽噪聲進行移除或者糾正[73]。這種方法雖然直接,但是難以區分信息豐富的難樣本和錯誤標簽樣本[74]。為了克服這個缺陷,研究者們關注深度網絡的魯棒性,而不是數據清理方法,通過修改模型架構,以提升深度網絡在噪聲標記的多分類的大規模數據集上的魯棒性。

Sukhbaatar等[75]基于卷積神經網絡(Conv.net)提出自底向上(bottom-up)和自頂向下(top-down)兩種噪聲模型。bottom-up 噪聲模型在Softmax 和負對數似然(Negative Log-Likelihood,NLL)cost 層間添加了一個噪聲層;top-down 噪聲模型在Softmax 和NLL cost 層之后添加了一個噪聲層。利用這兩個模型能夠可靠地從數據中學習噪聲分布,顯著地提高深度網絡的性能。Goldberger等[76]使用附加的Softmax 層來模擬期望最大化(Expectation-Maximum,EM)算法優化的似然函數,提高了模型的普適性,應用EM 算法尋找網絡和噪聲的參數,并估計正確的標簽。迭代期望(Expectation,E)步估計正確的標簽,極大(Maximum,M)步對網絡反向傳播。但是每次預測標簽之后都要重新訓練模型。

噪聲適配層與損失校正方法相似,主要區別在于標簽轉移矩陣的學習和模型的學習不分開。通過噪聲適配層來學習噪聲分布需要對噪聲類型建立強假設,這限制了模型學習復雜的標簽噪聲的能力。而基于EM 的模型修改方法容易陷入局部最優,并且計算代價大。為了解決上述問題,新的專用模型架構被提出以處理復雜的標簽噪聲。Jiang等[77]設計了一個新的噪聲模型網絡(Noise Modeling Network,NMN)學習噪聲轉移矩陣,然后使用另一個網絡來擬合真實標簽的后驗概率,計算出來的監督信息可以優化兩個子網絡。Han等[78]用人類的知識當先驗,利用人類對無效的標簽轉換的認知約束噪聲建模過程。因為約束噪聲建模需要很強的先驗知識,因此采用生成對抗網絡(Generative Adversarial Network,GAN)[79]的變體來估計生成模型。

設計的新的專用架構對真實的噪聲數據集具備更好的魯棒性,與噪聲適配層相比,對復雜的標簽噪聲具有更好的抗噪性,但是由于人工設計的特性,不具備噪聲適配層的可擴展性。

2.3.2 模型正則化

帶有標簽噪聲的數據集訓練模型容易導致模型性能下降,出現過擬合現象。在不改變模型參數量的前提下,對模型進行正則化處理,能夠有效提高模型的泛化能力,抑制過擬合。

Li等[80]提出一 種噪聲 容忍訓 練算法(Meta-Learning based on Noise-Tolerance,MLNT),在傳統的梯度更新前先進行元學習更新。在元訓練階段,通過生成的合成噪聲標簽模擬真實訓練,對每一組合成的噪聲標簽使用梯度下降來更新網絡參數;在元測試階段,盡量使更新后的網絡與教師模型給出一致的預測,并訓練原始參數使一致性損失總和最小。

Dropout 也是廣泛使用的正則化技術。Jindal等[81]添加了一個額外的Softmax 層,并對該層應用了Dropout 正則化,認為它提供了更魯棒的訓練,并防止了由于Dropout 的隨機性而產生的記憶噪聲。

2.4 基于訓練方式的標簽噪聲算法

本節主要通過改變模型的訓練方法,在標簽噪聲模型中引入半監督方法,從而有效緩解噪聲標簽對模型分類的影響。本節將分成兩部分進行闡述:1)Self-training 算法,如MentorNet[82];2)Co-training 算法,如DivideMix[36]。

2.4.1 Self-training

Self-training 算法[83]可以提高模型的魯棒性,具體流程如圖4 所示。首先,利用模型訓練有標簽的數據集得到一個分類器,該步驟與監督學習的方法基本一致;隨后,用訓練好的分類器訓練無標簽數據集,給無標簽樣本生成偽標簽,并將置信度高的無標簽樣本與它的偽標簽一同加入訓練集;最后,在新的訓練集中重復上述步驟直至滿足停止條件得到最終的分類器。

圖4 Self-training算法流程Fig.4 Self-training algorithm flow

MentorNet[82]是利用數據驅動來訓練基礎網絡的新方法,主要由兩部分組成:1)預定義課程,與Self-training 類似,存在因樣本選擇偏差引起累積誤差的缺點;2)學習僅有標簽樣本的課程。通過一個模擬測試讓MentorNet 不斷更新所教授的課程,基礎網絡使用更新后的模型為模擬測試提供相應的特征。而基于干凈驗證集的Self-training 方式,在樣本不均衡且含噪聲的數據集中效果不理想。Ren等[37]提出了在附加干凈無偏驗證集情況下的標簽噪聲算法。該算法雖然訓練時間大概為原來的3 倍,但是無需過多調參,且能同時處理樣本不均衡、標簽噪聲并存的情況。

2.4.2 Co-training

Self-training 算法解決標簽噪聲的問題有不錯的效果,但容易出現錯誤累加的情況[84]。和Self-training 算法的訓練方式不同,Co-training 算法需要訓練兩個不同的網絡,具體流程如圖5 所示。

圖5 Co-training算法流程Fig.5 Co-training algorithm flow

首先,利用兩組不同特征的有標記的樣本集分別訓練兩個分類器,然后將這兩個分類器分別訓練未標記樣本得到兩組正樣本和負樣本;最后,將正負樣本加入有標記的樣本集,重復上述步驟[84]。

DivideMix 采用高斯混合模型(Gaussian Mixture Model,GMM)判別噪聲樣本,但存在確認誤偏的問題。因此,在Co-Divide 的階段,每個網絡用一個GMM 建模每個樣本的損失分布,將數據集分為一個標記集和一個未標記集,隨后被用作另一個網絡的訓練數據進行訓練(如圖6 所示)。運用兩個網絡劃分數據的性能比利用單個網絡的效果更佳[36]。

圖6 DivideMix算法流程Fig.6 DivideMix algorithm flow

隨著訓練次數的增加,Co-training 算法在效果上會退化成Self-training 算法中的MentorNet。為解決這一問題,Yu等[85]提出結合分歧更新策略(用!=表示)與聯合訓練的一種穩健的學習模型Co-Teaching+(如圖7 所示)。首先用MentorNet 與Co-Teaching 預測所有數據,但只保留預測結果不相同的樣本。在出現分歧的數據中,每個網絡選擇損失較小的數據用于給另一個模型更新參數。利用“分歧”策略可以保持兩個網絡的差異,顯著提高了聯合訓練的性能。

圖7 半監督標簽噪聲算法流程Fig.7 Semi-supervised label noise algorithm flow

引入半監督的訓練方式是目前流行的標簽噪聲算法,顯著地提高了對噪聲的魯棒性。雖然這類算法處理標簽噪聲的效果很好,但是不可避免地會增加大量計算成本。

3 標簽噪聲數據集及實驗對比

3.1 標簽噪聲常用數據集

通常在CIFAR-10 和CIFAR-100、ImageNet-2012 數據集上進行標簽噪聲問題的實驗對比。

CIFAR-10 數據集是一個用于識別普通物體的小型數據集,一共包含10 個類別的RGB 彩色圖片,每個圖片的尺寸為32×32,每個類別有6 000 個圖像,數據集中一共有50 000 張訓練圖片和10 000 張測試圖片。

CIFAR-100 有100 個類,每個類有600 張大小為32×32 的彩色圖像,每類各有500 個訓練圖像和100 個測試圖像。與CIFAR-10 相比,CIFAR-100 數據集更有層次,100 類被分成20 個超類。

CIFAR-10 和CIFAR-100 分別采用對稱噪聲和非對稱噪聲兩種標簽噪聲。對稱標簽噪聲通過一個隨機的熱點向量注入,以r的概率替換樣本的真實標簽。

使用ImageNet-2012 進行大規模圖像分類,該數據集有130 萬個圖像,有1 000 多個類別的干凈標簽。

3.2 實驗對比分析

表1 為各種算法在添加了不同噪聲率r的對稱噪聲后在CIFAR-10 數據集上的測試準確率對比,其中,噪聲率指標簽錯誤的比例。根據文 獻[35-36],CE-Loss、Mixup[86]、Co-Teaching+[85]、Meta-Learning[52]、DivideMix 算法僅提供20%、50%、80% 噪聲下的測試準確率結果;MentorNet 和CleanLab[35]算法僅提供20%、40%、70%噪聲下的測試準確率結果。橫向對比,隨著噪聲率的提高,各算法的測試準確率都出現了下降趨勢,反映了不同算法對標簽噪聲的抗噪性??v向對比,不同算法之間的提升較大,引入半監督學習方法的標簽噪聲算法取得了較大的突破。DivideMix 在所有噪聲率下準確率都取得了最優,并且在80%的高對稱噪聲下,仍能保持0.932 的準確率。

表1 在不同噪聲率下CIFAR-10上的測試準確率比較Tab.1 Comparisons of test accuracy on CIFAR-10 under diferrent noise ratios

表2 為在ImageNet-2012 測試集上的Top1 和Top5 準確率,其中,基于模型的標簽噪聲算法[75]僅提供在不同噪聲率下的Top5 準確率??梢钥闯?,魯棒結構由于人工設計的結構的特性,相較于其他先進方法,準確率較低。在具有不同類型標簽噪聲的所有數據集上,DivideMix 始終優于對比方法。

表2 在ImageNet-2012測試集上的Top1和Top5準確率Tab.2 Top1 and Top5 accuracies on ImageNet-2012 test set

表3 是在具有對稱標簽噪聲的CIFAR-100 數據集上的測試準確率,噪聲率r={20%,40%,50%,60%,80%,90%}。其中,Taylor-Loss取t=2;BT-Loss的t1和t2分別為0.8、1.2??梢钥闯?,對于具有高噪聲率的更具挑戰性的CIFAR-100 數據集,以半監督方法為代表的DivideMix 在所有噪聲率下準確率仍然遠遠優于其他方法,且在高噪聲率下體現了一定的魯棒性??v向對比分析基于損失的標簽噪聲算法,可以發現近期損失函數的研究取得了重大突破,通過改進損失函數以提高對標簽噪聲的魯棒性,相較于其他方法,是一種更簡單、更通用的魯棒學習的解決方案。尤其是BT-Loss 的出色表現,能夠與基于訓練方式的標簽噪聲算法抗衡。

表3 在不同噪聲率下CIFAR-100上的測試準確率比較Tab.3 Comparisons of test accuracy on CIFAR-100 under diferrent noise ratios

綜上所述,基于損失函數的算法近年來經過不斷的研究,突破了同時達到魯棒學習和可學習性的瓶頸,作為一種簡單且通用的魯棒學習方式取得了明顯進步;基于模型的算法通過改變模型架構顯著地提高了泛化性能,存在強烈的人工設計特性,它的改進不容易擴展到其他模型架構中;基于訓練方式的算法設計了對噪聲標簽更魯棒的自適應訓練策略,引入半監督學習取得了目前最好的性能,但是這種方法依賴于對學習過程進行干預和調整,或對訓練時間和學習速度等超參數敏感,所以很難調節;最后,基于數據的算法能夠提高原始標簽的質量,但可能會將錯誤標簽校正為正確的標簽,可以結合現有的先進算法進一步改進,但是這些方法需要額外的干凈數據支持,或者需要一個潛在的昂貴的檢測過程來估計噪聲模型。

4 基于深度學習的標簽噪聲處理框架

首先分析存在標簽噪聲時通用的基于深度學習的標簽噪聲處理過程,以及算法選擇的依據,為處理類似問題提供參考,并比較了本文介紹的四類標簽噪聲方法,提供了一個算法評價體系。

4.1 標簽噪聲處理過程

1)評估可否進行標簽噪聲學習。如果數據量過小并且存在一定程度的標簽噪聲,為了保證算法的有效性,通常建議繼續采集數據后再進行學習。

2)利用弱正則化的模型進行初步訓練,觀察標簽噪聲量的大小。由于標簽噪聲算法的魯棒設置,如果處理干凈數據集,通常會帶來一定的精度下降,這時首先應該使用僅能處理輕微噪聲的溫和的標簽噪聲算法,即不會在無噪聲時導致特別大的精度下降,之后使用CleanLab 等工具進行噪聲量的評估。

3)根據標簽噪聲量的大小進一步選擇適合的標簽噪聲算法。不同噪聲量適用的算法不同,因此需要根據預估的噪聲量大小為算法選擇提供依據。

4)最后衡量學習任務的難易再考慮進一步設計。過度的魯棒約束會帶來模型復雜度的限制,因此需要根據現有模型在數據集上的表現盡可能衡量任務的難易程度。如果任務簡單,可以采取更激進的樣本篩選等方式;如果任務復雜,需要仔細區分難樣本與標簽噪聲樣本。

4.2 算法選擇依據

數據集能否直接進行學習通常要考慮以下幾個因素:數據集大小、噪聲量大小及學習任務的難易程度??紤]因素不同,在標簽噪聲學習中優先考慮的模型不同。

4.2.1 數據集大小

當數據集較小時,為保證訓練結果的準確性,通常建議繼續采集數據,或通過旋轉、復制等手段進行數據增強,以擴增樣本量。當數據量正常時,則從噪聲量大小、學習任務的難易程度考慮簽噪聲學習。

4.2.2 噪聲量大小

大規模噪聲標簽的存在不僅增大模型復雜度,還大幅降低了模型預測性能。在醫學圖像分割等任務中,會對模型產生極大影響。不同的標簽噪聲模型對噪聲量大小處理的能力不同。當噪聲量大時,可以優先考慮DivideMix、樣本重加權、標簽修正等基于數據的標簽噪聲學習算法;當噪聲量小時,可以選擇半監督模型或基于損失的模型,但不適合采用DivideMix 和直接刪除樣本的重加權方法。

4.2.3 學習任務難易程度

難樣本學習一直是標簽噪聲學習的難點,訓練集中通常包含較多的簡單樣本和較少的難樣本,學習難樣本能在一定程度上提高模型的泛化能力。若在模型訓練時考慮難樣本的學習,可以通過元學習利用干凈驗證集輔助,或采用基于模型或損失函數的方法,也可以采取一些激進的方法,如樣本重加權,甚至是刪除樣本的方法。

4.3 算法評價體系

本節對第3 章中介紹的4 類標簽噪聲方法根據以下5 個相關屬性進行評價,為未來的研究提供幫助。表4 為4 類標簽噪聲方法在5 個屬性下的對比。

表4 各類算法屬性對比Tab.4 Comparison of attributes of various algorithms

1)適配性。隨著深度學習的快速發展,一些新的網絡結構不斷出現并且非常有效;因此,支持任何類型網絡結構的能力很重要。適配性能確保標簽噪聲算法快速適應最先進的網絡體系結構。標簽噪聲算法中的魯棒損失能很好地與任何網絡結構結合,從而提高網絡性能,使網絡結構能夠在不同的標簽噪聲下保持魯棒性。

2)高噪聲。在真實世界的噪聲數據中,噪聲率存在從輕到重不同比重的分布;因此,標簽噪聲算法應對不同程度的噪聲率體現出噪聲魯棒性。高噪聲確保標簽噪聲算法甚至可以對抗強噪聲。DivideMix 在所有噪聲率下都優于其他方法,且在高噪聲下體現了一定的魯棒性。

3)訓練損耗。滿足深度學習發展的需求離不開硬件技術的進步,不同的網絡結構在訓練時,模型參數和輸出會占用一定的顯存損耗和時間計算量成本。因此,訓練損耗應確保標簽噪聲算法在提高噪聲魯棒性的基礎上,不額外增加訓練的顯存損耗、不給學習過程帶來額外的計算成本,并保持算法的速率和效率?;谟柧毜姆椒ù蠖嗍褂妙A訓練的網絡,這會給學習過程帶來額外的計算成本。

4)超參數敏感性。深度學習中的超參數指控制訓練過程的一些參數,敏感的超參數的不同取值對模型性能的影響很大,找到最好的超參數對模型十分重要。因此,標簽噪聲算法應衡量對不同取值的超參數的敏感性。魯棒損失中的BT Loss的t1、t2的不同取值會影響模型對標簽噪聲的魯棒性。

5)弱正則化。僅能處理輕微噪聲的溫和的標簽噪聲算法,在干凈標簽情況下反而會導致性能下降,但不會在無噪聲情況下帶來特別大的精度下降。因此,這種溫和的標簽噪聲算法體現了一種弱正則化。弱正則化確保標簽噪聲算法在存在輕微噪聲的情況下,能夠帶來性能的提升?;隰敯艚Y構的標簽噪聲算法對中小型數據集的標簽噪聲具有一定的魯棒性,但是僅能輕微改善噪聲的抑制結果,在干凈標簽情況下的性能反而略低于真實世界的輕微噪聲下的性能。

5 結語

標簽噪聲存在于真實數據集中,導致深度學習模型難以獲得理想的性能;除了圖像分類以外,標簽噪聲還可能存在于所有的有監督學習任務中,例如語義分割、目標檢測、文本分類等。本文歸納了大量克服噪聲標簽現象的標簽噪聲學習算法,所有的方法都有優缺點及適用性,所以研究者可以為特定場景選擇最合適的算法。

盡管目前已經提出了許多標簽噪聲算法,但在有噪聲標簽的情況下進行深度學習仍然存在許多問題??紤]到標簽噪聲對神經網絡的影響及分析,例如噪聲標簽會降低學習效果,尤其是對于具有挑戰性的樣本;因此,與其說對噪聲樣本過度適應,不如說對具有挑戰性的樣本適應不足可能是模型性能下降的原因,這是一個有待解決的問題。另一個可能的研究方向可能是努力打破噪聲的結構,使它在特征域中均勻分布。

猜你喜歡
魯棒性標簽損失
胖胖損失了多少元
荒漠綠洲區潛在生態網絡增邊優化魯棒性分析
基于確定性指標的弦支結構魯棒性評價
玉米抽穗前倒伏怎么辦?怎么減少損失?
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
基于非支配解集的多模式裝備項目群調度魯棒性優化
標簽化傷害了誰
非接觸移動供電系統不同補償拓撲下的魯棒性分析
一般自由碰撞的最大動能損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合