王曉莉,薛 麗
(長安大學 信息工程學院,西安 710064)
目前諸如圖像分類、對象檢測、語義分割等應用在深度學習方面表現出優異性能的根本原因分為三方面,首先,計算機硬件系統設備的不斷提升,尤其在圖形處理單元和并行處理方面有明顯提高;其次,網絡參數初始化和訓練方法方面其技術的飛躍進步,但以上兩種情況需要以數據作為支撐才可以將其良好的性能表現出來,即第三個原因,有類似于ImageNet 這類清晰注釋的大型數據集.在實際情況中,收集帶有噪聲的數據集很容易,但收集大規模干凈的數據集既昂貴又耗時.一方面,專家標記數據對某些研究是必須的,如,醫學中的相關數據,由于其專業性,需要專家進行標注;另一方面,對于類似于JFT300M 這種包含3 億張圖像的龐大數據集是無法對其進行手動標記.同時,機器學習領域中,使用帶有標簽的數據訓練神經網絡進而實現分類、回歸或其他目的的學習方式非常常見,但在相關模型學習中,如果使用含有大量錯誤信息的數據,則會影響最終預測模型的準確性.
因此,越來越多的學者開始針對噪聲數據進行研究,其通常分為兩類:特征噪聲和標簽噪聲[1-3].特征噪聲是指訓練樣本實例特征本身和其真實特征之間的偏差,例如人為地在已有特征上添加高斯噪聲.標簽噪聲是指用于訓練的目標標簽與相應實例本身的真實標簽之間的偏差,例如設定標簽時錯誤設置標簽所屬類別.這兩種噪聲類型都會導致系統的性能下降,但相關研究[4,5]表明標簽噪聲的危害性更大,如表情識別中,高品質面部表情到低品質微表情的不確定性,會導致標簽不一致甚至標簽錯誤,最終降低系統最終的分類性能;醫學圖像分析領域中,病變程度和相應位置的不同其病因也不同,稍有偏差的標記都會影響最終診療結果;軍事領域中,由于外觀的相似性,坦克和自行榴彈炮等也容易被錯誤標注,導致目標識別場景中的錯誤檢測;在語義分割中,由于標注規則的不合理,從而導致訓練模型效果不好等,這些都體現出處理標簽噪聲的重要性.
因此本文主要針對標簽噪聲討論.
標簽噪聲是一種復雜的現象,其產生的原因有多種,主要分為4 類.(1)在標注過程中的信息不足,無法對類別數據進行充分的描述[6,7];(2)由于數據質量較差導致辨識度降低,使得專家在標注過程中無法正確標注相應標簽[8,9];(3)不同主觀性所致,即標簽的標注非全由專家進行標注,這是由于可靠的標簽是一項耗時且昂貴的任務,因此有些標簽是從非專家處獲得,且不同的標注人員根據不同角度對標簽進行標記得到的結果不完全一致[10,11];(4)來自數據編碼或通信問題也可能導致樣本標簽出現錯誤[12].
從嘈雜的標簽中學習一直以來都是一項長期挑戰,在研究其對分類器或分類算法的影響時發現,標簽噪聲可能受到以下3 個因素影響:數據特征、數據的真實標簽和標簽特性,根據這些因素相互間的依賴關系進行分析可以將標簽噪聲分為3 類[13,14]:隨機標簽噪聲(Random Classification label Noise,RCN)、類標簽噪聲(Class-Conditional label Noise,CCN)和實例相關標簽噪聲(Instance-Dependent label Noise,IDN).如圖1所示,這些模型的依存關系復雜性從左到右依次增加,其分別表示為錯誤標簽與實例和真實標簽均無關、錯誤標簽只與真實標簽有關、錯誤標簽只與實例特征有關.其中x表示觀察到的實例特征,y表示真實標簽,表示相應的噪聲標簽,隨機變量e表示該實例特征是否受到標簽噪聲帶來的錯誤影響.

圖1 標簽噪聲類型
通常情況下,帶有標簽噪聲的數據在現實生活中無處不在,直接使用標簽噪聲的數據會對實驗產生很大的影響,研究發現標簽噪聲產生的影響大致分為3 類:(1)標簽噪聲下的分類方法導致預測性能降低,例如分類時經常使用的線性分類器、kNN 分類器都會受到標簽噪聲的影響[15].同時,標簽噪聲也會影響常用的決策樹、支持向量機等方法.(2)訓練特征數和模型復雜性增加,例如由于標簽噪聲的影響,SVM 中支持向量的數量明顯增加,導致其模型更加復雜[7];標簽噪聲需要進行多次訓練才會達到指定的性能指標[16].(3)觀察到的類別出現頻率可能會發生變化,如標簽噪聲對某種疾病發病率產生的影響[8].
近年來,硬件設備的不斷提高使得越來越多的研究者開始傾向于在一般情況下的研究,即進行實驗時所采集的數據基本都是被污染的、有噪聲的.目前通過網絡爬蟲或眾包等方法采集的數據大部分都包含噪聲,這些數據顯然掩蓋了實例特征和其類別之間的真實關系;同時在根據數據創建模型或者基于數據進行決策的學習中,使用存在噪聲的數據會在構建分類器的時間、分類的準確性以及分類器大小等方面降低系統性能,也會增加學習所需的樣本數量和相應模型的復雜性.因此設計適應于與標簽噪聲有關的學習算法在研究中具有重要的研究意義和應用價值.
在標簽噪聲學習算法的有關研究中,不同的研究人員針對不同的分類情況進行研究,有根據數據集噪聲嘈雜程度進行區分,有根據噪聲類型劃分等.與大多數研究不同,本文主要側重于噪聲結構的建模方式對其進行區分,其方式分為顯式處理和隱式處理.目前,有很多學習算法都對標簽數據在嘈雜環境中的學習能力進行了研究[17],本文分析有關標簽噪聲相關處理學習算法如圖2所示,具體分析如下.

圖2 標簽噪聲處理方法
顯式處理即以某種方式對噪聲進行建模并操縱該模型的輸入流.通常情況下,使用標簽噪聲學習時,最先想到的是對標簽噪聲進行清理,其旨在消除或糾正訓練數據中標記錯誤的示例,該步驟可以在訓練前完成,也可以和主模型訓練同時進行.
噪聲清理中最簡單的方式是直接刪除分類器中分類錯誤的訓練實例,也有將異常值影響較大的實例或看起來比較可疑的實例刪除[18],但這些方式會造成數據嚴重缺失,最終導致算法的準確性降低.因此,研究者正在找尋更有效的方式來清理標簽噪聲.有學者使用過濾投票[19]的方式進行噪聲清理,簡單理解為:當一個集合中的所有(或幾乎所有)學習者都同意刪除該實例時,該實例將被刪除,此方式能夠很好地解決數據嚴重缺失問題,但也容易誤刪某些正確的實例.
文獻[20] 則提出了一種自集成標簽過濾框架(Self-Ensemble Label Filtering,SELF),該框架采取漸進式過濾,過濾策略基于標簽和最大似然預測之間的一致性來確定潛在的標簽,當模型預測相應的標簽具有最高可能性的正確類別時,才會將該標簽用于訓練,經過測試發現該框架在訓練時間足夠長的情況下也不易過擬合,同時該技術可以和不同的半監督損耗兼容,但其在噪聲比較高的情況下表現不佳.
文獻[21]將傳統的SLR (Single-Label Recognition)和MLR (Multi-Label Recognition)問題轉換成LDL(Label Distribution Learning)問題,提出了端到端的學習框架DLDL (Deep Label Distribution Learning),其主要利用深層ConvNet 在特征學習和分類器學習中的標簽歧義性來學習標簽分布,ConvNet 最后一個全連接層激活函數的概率分布為:

最終的標簽分布y可以根據學習到的 θ得到,實驗結果表明在訓練集很小的情況下,DLDL 也有助于防止網絡過度擬合,但DLDL 中標簽分布固定,無法更新.
為解決標簽分布無法更新問題,文獻[22] 則提出了名為PENCIL (Probabilistic End-to-end Noise Correction for Learning with noisy labels)的端到端框架,其獨立于骨干網絡結構,通過端到端方式在學習網絡參數和標簽中維護并更新標簽分布來校正噪聲標簽,在迭代過程中,損失函數(2)用于更新操作,其中yd為噪聲標簽,

其中,α 和 β為超參.研究表明該框架在不需要輔助的干凈數據集或有關噪聲的先驗信息的條件下也容易部署,但該方法在噪聲較高時該方法會失效.
文獻[23] 則提出的新穎框架中引入了一種名為AVNC (Adaptive Voting Noise Correction)的技術來精確識別和校正潛在的噪聲標簽,該框架的核心是噪聲處理.主要包括過濾和校正兩個步驟.首先在過濾階段,經過M輪K折交叉驗證后對式(3)進行降序排列,
并根據=+1來確定噪聲,即將數據集分為噪聲和干凈數據集,然后通過校正步驟嘗試預測噪聲數據集中的正確標簽.該AVNC 根據K折交叉驗證預測實例生成的高質量的數據集來構建模型,從而對噪聲進行校正.但ANVC 僅針對二分類標簽進行研究,在多類情況下其噪聲校正性能會很低.
對此,文獻[24]使用重加權策略對稱噪聲標簽進行研究,并將該策略應用到SVM 和MLR 兩個常規的分類器,如IWMLR 的分類概率分別為:

但該方法主要適用于RCN 模型下的對稱噪聲標簽,并不適用于非對稱噪聲,且其權重并不容易準確估計.
有學者則將人類學習方式融入到模型學習中,即先對簡單任務學習,然后逐步學習較困難的任務,從而建立一個可靠的模型.如Bengio 等人[25]在2009年提出了課程學習(Curriculum Learning,CL)框架,Kumar等人[26]在2010年提出一種類似的學習方式,即自步學習(Self-Paced Learning,SPL),但是兩者都沒有應用到標簽噪聲中,無法解決實際應用中的問題.有研究將CL 思想融入到嘈雜標簽學習中,即從干凈的標簽慢慢轉移到噪聲標簽的學習.
文獻[27]利用CL 優勢的同時,結合隨機梯度下降(Stochastic Gradient Descent,SGD)具有減少時間和降低存儲成本的優點,首次兩者更新過程結合在一起并提出了漸進式隨機學習(Progressive Stochastic Learning,POSTAL),主要通過設定的動態閾值Dth=Dth?μ√來控制更新區域,該更新方式在初始時期只能在可靠標簽上建立健壯模型,隨后逐漸降低該動態閾值并更新嘈雜標簽,但是其課程通常是預定義的,忽略了反饋信息,同時對于小批量的SGD 訓練非常困難.
為此,基于深層神經網絡的記憶效應,有研究專門針對小批量損失情況下的實例進行訓練來處理嘈雜標簽.例如,文獻[28]則提出了Mentornet 網絡在minibatch 上根據相應的反饋信息來更新課程,該網絡能夠克服損壞標簽的過度擬合,但容易累積錯誤信息;文獻[29]提出的Co-teaching 以對稱方式交叉訓練兩個網絡,即將在小批量數據中過濾的噪聲樣本傳遞給對等網絡來更新參數,解決了Mentornet 的累積錯誤問題,但訓練時間太長,兩個網絡容易達到收斂共識;文獻[30]則在Co-teaching 的基礎上進行改進,提出的Co-teaching+采用分歧更新策略來訓練網絡,能夠明顯提高DNN 抵御噪聲標簽的魯棒性,但當數據集噪聲率極高時,卻很難適用于小批量訓練.mini-batch 下相應的網絡訓練結構如圖3所示.

圖3 mini-batch 相關網絡
隱式處理即不對噪聲進行顯式建模,而是設計更加通用的算法來消除噪聲的負面影響.使用固有噪聲容忍方法能夠實現噪聲的魯棒性,該方法主要在風險最小化的框架內進行研究,且風險最小化的穩健性主要取決于損失函數.大量研究也表明,損失函數的處理會使標簽噪聲在訓練時魯棒性更好.
在二分類問題中,0-1 損失對于對稱或均勻標簽噪聲體現出很好的魯棒性[31],通常非鉸鏈損失函數(Unhinged Loss)[32,33]、斜坡損失函數(Ramp Loss)[31]和S 型損失函數(Sigmoidal Loss)[31]也應用于二分類研究中.但僅對二分類情況下的標簽噪聲進行研究是無法滿足實際情況下的大多數問題.因此有學者提出魯棒風險最小化方法,用于通過估計標簽損壞概率來學習多類分類的神經網絡.
文獻[34]針對多類分類中常見的損失函數進行研究,定義了分類器f的最小化風險損失函數滿足:

然后通過反向傳播用隨機梯度下降方法進行學習,并對比基于分類交叉熵(Categorical Cross Entropy,CCE),均方誤差(Mean Square Error,MSE)和平均絕對值誤差(Mean Absolute Error,MAE)在不同類型標簽下的實驗,結果表明MAE 具有很好的魯棒性,但是單獨的MAE 會增加訓練的難度,特別是在復雜數據集上,會直接導致最終的性能下降.
CCE 是一種非對稱且無界的損耗函數,收斂速度快,但對標簽噪聲比較敏感.因此,文獻[35]提出了截斷的Lq損失函數(TruncatedLqLoss),如式(6):

為了凸顯MAE 的噪聲魯棒性和CCE 的隱式加權的優勢,使用負Box-Cox 變換作為損失函數,即在繼承MAE 魯棒性的同時也繼承了CCE 收斂速度快的特點,但其對閾值k有嚴格的要求,同時在求全局最小值時,修剪步驟計算過于復雜,并且在相似度高的數據集上會錯誤標記非常相似的類.
也有單獨針對交叉熵(Cross Entropy,CE)損失函數進行改進,如文獻[36]提出一種允許在訓練過程中可棄權的損失函數,深層棄置分類器損失函數(Deep Abstaining Classifier,DAC)如式(7),式中pk+1表示棄權可能性,α表示相應懲罰.該策略允許模型放棄對某些數據點的預測,同時繼續學習和改善未棄權樣本的分類性能.該方法易于實現,且只需更改損失函數就可和現有任意DNN 架構一起使用,但若隨機標簽中存在不明顯噪聲時,該方法并不適用.

文獻[37]則對CE 在標簽噪聲下容易產生過擬合問題進行分析,受對稱KL 散度(Symmetric KL-Divergence)啟發提出的反向交叉熵(Reverse Cross Entropy,RCE)能夠很好地容忍噪聲,同時將RCE 和CE 進行結合提出了對稱交叉熵(Symmetric cross entropy Learning,SL),如式(8)中,α 和 β 為解耦超參,α用于解決CE 中的過擬合問題,而 β對應于RCE 的魯棒性.SL 使用RCE 的噪聲魯棒性特點對稱地增強了CE 中的學習不足和過度擬合問題,該方法在手動損壞的嘈雜標簽上有很好的性能,但對真實數據下比較相似的類容易混淆.

文獻[38]則針對CCE 進行研究,提出在網絡誤差計算中進行修整,用更可靠的誤差度量代替CCE,即基于修剪絕對值準則的修剪分類交叉熵(Trimmed Categorical Cross-Entropy,TCCE),損失函數定義為:

其中,q1:N≤···≤qN:N是每個觀測值的有序損耗,即:

該方法能夠在較大噪聲水平下產生很好的性能,但在噪聲過高時,性能沒有CCE 好,且無法獲得干凈數據標簽的最高準確度.
有研究使用噪聲轉換矩陣處理噪聲標簽,即該矩陣定義了一個類別轉換為另一個類別的可能性,文獻[39]使用的前向和后向兩種校正方法即采用的該策略,該損失校正與應用程序和網絡體系結構無關,但現實中的噪聲過渡矩陣并不是一直可用的,而且也很難得到準確的估計.
同時上述方式并沒有針對像本文所提及的IDN 模型下的標簽噪聲進行研究,這類噪聲函數通常會設置有嚴格的要求,如給實例錯誤標簽設定統一邊界.這些苛刻的要求一般都很難應用到實際情況中,因此一些研究通常不對標簽噪聲的生成過程做出假設,而隱式地處理實例相關的標簽噪聲.
對深層神經網絡的可傳遞性觀察發現,使用轉移學習可以很好地避免過擬合,即在較大數據集上預訓練模型的同時在較小數據集上進行微調,該策略必須保證兩任務之間存在很大相關性,不能過于松散.文獻[40]對一般情況下的噪聲標簽進行研究發現,只在干凈標簽上微調的效果并沒有同時在干凈和嘈雜的標簽上效果好,因此引入一個含有少量干凈和大量嘈雜標簽的通用框架CNN,同時使用標簽噪聲類型進行建模,如圖4所示(其中 θ1和 θ2分別表示CNN 中的參數集,y和z分別表示真實標簽和標簽噪聲類型,x和分別表示觀察到的圖像和嘈雜標簽),最后將其集成到端到端的深度學習系統中.該方法在處理一般情況下標簽噪聲的同時也可以處理多類問題,但在只有嘈雜標簽情況下訓練網絡時,該模型會出現漂移現象.

圖4 標簽噪聲概率圖形模型
綜上所述,顯式和隱式兩種分類方法對標簽噪聲的處理都可以達到很好的效果.由于噪聲行為本身的特殊性,顯式處理對噪聲本身進行建模,并在訓練過程中使用建模后的信息來獲得更好的性能.而隱式處理則是針對標簽噪聲的魯棒性進行研究,并不是直接對噪聲行為本身進行改進.如表1所示總結了每個算法的優缺點.

表1 顯示處理和隱式處理算法優缺點總結
3.1.1 數量趨勢
本文針對2015~2019年頂級會議上的論文進行調研,統計并分析和標簽噪聲相關論文數如圖5所示.
(1)圖5(a)中可以很明顯地看出,有關標簽噪聲的各類會議在2015年屈指可數,但這之后其呈現出快速增長的趨勢,雖然每年都存在小幅度波動,但絲毫不影響其整體性發展.
(2)圖5(b)中可以發現,2015~2019年中關于噪聲的研究文獻明顯增長,特別是在2019年,其研究文獻已經達到2015年的4 倍,可以預計,未來對標簽噪聲的研究會越來越多,亦有可能呈現爆發性增長,其將會成為人工智能領域的一個熱門研究對象.
(3)上述頂級會議論文中,針對標簽噪聲的學習不僅僅是關于理論知識的研究,同時也包含其實際應用中的研究,理論與應用兩方面的研究從側面體現了關于標簽噪聲學習的重要性.
3.1.2 熱點趨勢
處理標簽噪聲是一個開放性問題,本文根據其特點和實際應用性將其熱點趨勢大致分為4 種情況:
(1)多角度性:參閱文獻可以看出,針對標簽噪聲研究方法多種多樣,但大部分研究主要針對以下幾方面,如:處理噪聲敏感的標簽;類的相似性過高下的誤判;訓練過程中的過擬合;不同噪聲比下的誤差過大;不同網絡間優勢相結合等等.顯而易見,從算法不同角度及其本身進行剖析一直是該領域研究熱點.
(2)通用性:有文獻設計出與應用程序和網絡體系都無關的方法,也有設計出可以和任意DNN 架構一起使用的方法,這些設計從側面反映出其方法對環境的非依賴性,同時方法的通用性會進一步減少研究成本,由此可推斷出學者會針對此方面做進一步研究.
(3)適用性:上述研究基本針對人工合成噪聲數據,其準確率雖然不錯,但并未對真實數據研究,為增強噪聲數據的適用性,可以預測未來將逐漸針對如網絡爬蟲、眾包等真實數據或更復雜的環境進行研究.
(4)易于實現性:雖然現有框架下的研究對標簽噪聲處理取得了不錯效果,但若應用到實際情況,其效果不盡其然,因此如何設計出能夠有效處理標簽噪聲且易于實現的方法必將成為研究熱點.

圖5 頂級會議相關文獻統計
雖然標簽噪聲的研究在理論層面和工程領域都有豐碩的研究成果,但其在實際應用中仍存在很多問題.
(1)雖然標簽噪聲清理方法能夠用去除或糾正錯誤標簽的實例,但這些方法很難將信息豐富的示例與有害的錯誤貼標簽的示例明顯區分,同時過度清洗也可能會將分類器的性能降低.
(2)大多數損失函數對標簽噪聲并不是完全魯棒且有些對異常值敏感,對于處理方式過于復雜的損失函數,容易產生過擬合現象.
(3)現有方法對標簽噪聲的相關研究假設了一定的不實際的前提條件,同時有很少文獻針對一般情況下的標簽噪聲進行研究,如大多數研究并不是基于網絡爬蟲等進行研究,無法將其一般化于各類數據情況下的標簽噪聲.
(4)多分類情況下,標簽噪聲在破壞原始干凈數據分布的同時會導致標簽浮動噪聲問題,其容易限制模型的泛化能力;且多特征數據中有些標簽相關性能比較微弱,需要仔細辨別.
(5)有關標簽噪聲的應用問題,在不同場景下應對策略也有所不同,需要針對標簽噪聲的場景適用性問題作出進一步研究.
本文根據噪聲結構的建模方式對標簽噪聲的處理方法從顯式和隱式兩大方面做出系統性梳理和總結.從眾多文獻可以看出,在訓練前直接刪除數據會造成數據嚴重缺失,目前大部分研究主要使用“訓練-清洗數據-再訓練”此種迭代方式進行研究,且逐漸傾向于多網絡方式結合、監督和非監督技術結合或損失函數相關處理方面等;但大部分研究都有相應的特定場景,且最終效果并不樂觀,和實際情況下不同場景的應用有很大差距.因此需要研究出一種具有通用性好、適用性強并且易于實現的方法來處理不同場景下的標簽噪聲.