汪云云,桂 旭,鄭濰雯,薛 暉
(1.南京郵電大學計算機科學與技術學院,江蘇南京 210023;2.南京郵電大學,江蘇省大數據安全與智能處理重點實驗室,江蘇南京 210023;3.東南大學計算機科學與工程學院,江蘇南京 210023)
深度神經網絡基于大規模標注訓練數據,在眾多機器感知任務上取得了優秀的性能,然而大規模人工標注意味著高昂的數據標注代價,限制了深度神經網絡在數據標注不足任務上的應用。近年來,備受關注的域適應(Domain Adaptation,DA)學習嘗試采用標簽豐富的源域來幫助標簽稀缺的目標域學習[1],在許多任務上性能得到了顯著的提升。
近年來,域適應學習方法相繼涌現,可大致分為3類,分別為基于差異的方法、基于對抗的方法以及基于重構的方法?;诓町惖挠蜻m應方法旨在縮小域間的分布差異,常用的差異性度量包括最大均值差異(Maximum Mean Discrepancy,MMD)[2]、KL散度[3]和Wasserstein距離[4]等?;趯沟姆椒ㄍㄟ^對抗學習方式生成域不變特征。例如,DANN[5]和DA2NN[6]等采用特征提取器和域鑒別器間的博弈和對抗,而MCD[7]則利用兩個分類器間的對抗學習產生域不變特征?;谥貥嫷姆椒ㄍㄟ^對抗生成跨域樣本實現域遷移,如cycle-GAN[8]、CyCADA[9]等方法。盡管這些方法可有效提升目標域的學習性能,但都假設存在大量正確標記的源域數據,在許多真實學習任務中很難滿足。在含噪聲的DA學習中,噪聲源實例可能會導致負遷移現象[1],限制了DA方法的實際應用。有文獻研究從理論上證明了源域中的標簽噪聲會給DA學習帶來嚴重的負遷移問題[10]。也有學者研究了更通用的噪聲DA場景,包括標簽噪聲、特征噪聲以及混合噪聲[11]。
DA方法通常假設存在一個已正確標記的源域,然而在現實任務中,精確的人工標注耗時耗力,通常很難收集大量帶有干凈標簽的源實例。雖然很容易從網絡和社交媒體中采集數據,但是此類數據集可能存在標簽噪聲。帶有噪聲源標簽的噪聲DA學習可能會損害目標域的學習性能,但針對此問題的研究仍然有限。
帶噪聲標簽的魯棒學習目前已獲得廣泛研究。噪聲標簽學習方法可大致分為3類:基于無偏損失或風險最小化[12-15]、基于自助(Bootstrapping)損失[16]以及噪聲樣本重采樣方法[17-20]?;跓o偏損失或風險最小化方法旨在定義可有效抑制噪聲數據的損失函數?;谧灾鷵p失方法通過在訓練過程中不斷修正數據標簽來減輕噪聲標簽實例對模型學習的影響。噪聲樣本重采樣方法則通過設計從訓練損失到樣本權重的映射函數,根據損失計算樣本權重,最小化分類器更新的加權實例損失。此外,根據是否使用轉移矩陣對標簽噪聲進行顯式建模,將帶標簽噪聲的魯棒學習方法分為基于轉移矩陣法和無轉移矩陣法,本研究屬于第二類,不同的是本研究場景更具挑戰性,旨在將含有噪聲標簽的源域知識遷移至目標域,以提升目標域的學習性能。
針對源域存在噪聲標簽的學習場景,本文提出基于自適應噪聲校正的魯棒域適應學習方法(Robust DA Method through Adaptive Noise Correction,RoDAC)。首先,通過自適應噪聲檢測(Adaptive Noisy Label Detection,ANLD)識別噪聲源實例、加權實例損失以及減少噪聲實例對分類學習的貢獻,同時劃分數據集以進一步減少其對域適應學習的影響;接著,通過自適應噪聲標簽校正(Adaptive Noisy Label Correction,ANLC)修正噪聲實例,使噪聲實例獲得更為準確的標簽,并重新投入學習。
在源域標簽存在噪聲的域適應學習場景中,主要挑戰在于:①如何減少噪聲標簽對分類學習的影響;②如何減少噪聲標簽對域間分布對齊的影響。因此,本文提出了一個系統的解決方案,主要包括兩個學習階段:自適應噪聲標簽檢測(ANLD)和自適應噪聲標簽校正(ANLC)。

進一步地,采用數學符號來表述本文的研究目標。將成對標簽上的損失函數定義為L:Y×Y→,多分類任務的決策函數f:X→K,因而有假設函數對于X×Y上的任意分布D,定義假設函數h的經驗誤差為errD?E(x,y)~DL(h(x),y)。本文的研究目標是采用源域的有標簽噪聲樣本和目標域的無標簽樣本習得一個決策函數f,使得其在目標域上的經驗誤差最小。圖1展示了標簽噪聲DA學習過程。
RoDAC利用干凈實例的small-loss[21]基于元網絡自適應地區分干凈和噪聲實例,同時,基于數據的聚簇特性,利用原型分類器對檢測出的噪聲實例進行自適應校正,并重新投入域適應學習中。RoDAC的網絡結構如圖2所示。其中,F為特征提取器,G為多層感知分類器,源域和目標域共享F和G。M為基于元網絡的自適應噪聲檢測器,用于自適應地檢測噪聲實例。P為原型分類器,用于自適應地校正噪聲實例。通過局部最大均值差異(Local Maximum Mean Discrepancy,LMMD)[22]計算源域與目標域間的條件分布差異,并縮小域間的分布距離,實現源域知識遷移。

圖1 標簽噪聲DA學習過程

圖2 RoDAC網絡結構圖

1.2.1 實例損失加權
若僅考慮源域上的監督分類任務,分類學習損失可表示為
(1)
式中,J是交叉熵損失函數,f是由θ參數化的假設函數。為減少噪聲標簽對分類學習的影響,RoDAC自適應地對源域樣本加權,即基于損失對樣本重采樣,獲得加權的源域分類損失Lwce描述如下:

(2)
式中,w是由α∈Bd參數化的權重函數,將實例映射至實例權重。

(3)

θ和α的求解是一個雙線性問題。在域適應學習中,θ的更新包括兩部分:源域分類損失和域分布對齊損失。
1.2.2 源域數據劃分

(4)

在ANLD中,RoDAC利用實例加權來減少噪聲實例對分類學習的影響,同時將源域數據集劃分為干凈和噪聲實例集。在ANLC中,對噪聲實例集進行標簽校正并重新投入域適應學習,而非簡單丟棄,以充分利用源域知識。
通過可視化研究發現,即使將干凈實例和噪聲實例一同訓練,干凈實例仍會聚簇在所屬類別原型的周圍。因此,RoDAC選擇原型分類器[22]代替傳統的多層感知器進行噪聲校正,即使用干凈實例集中的樣本計算原型中心,并基于該原型中心校正噪聲實例集中的樣本。
(5)

接下來,對標簽校正后的數據進行域間條件分布對齊。對于干凈源實例,直接使用真實類標簽;而對于噪聲源實例,則使用原型分類器的預測結果作為其軟標簽,即
(6)
RoDAC將校正后的源域實例重新投入域適應學習并采用LMMD度量[23]進行條件分布對齊,LMMD可刻畫如下:
(7)

(8)

上述內容已詳細闡明了RoDAC中的噪聲標簽檢測和噪聲標簽校正過程,RoDAC的總目標函數刻畫如下:
(9)
此類雙線性問題的求解需要兩層嵌套的優化循環,在幾何上降低了求解效率。為進一步加速優化,借鑒Meta-Weight-Net[24]和DS3L[25]的在線學習策略,分別通過單個優化循環更新θ和α。為進一步闡述優化過程,將內循環的更新標記為Linner(θ,α),外循環α的更新標記為Louter(θ)。給定權重函數w的參數αt,θt+1的更新由以下梯度等式得到:
θt+1=θt-ηθ?θLinner(θt,αt),
(10)

αt+1=αt-ηα?αLouter(θt+1)。
(11)
具體學習框架如算法1所示:
算法1RoDAC的學習框架
輸出:權重函數參數α和模型參數θ;



⑤由公式(2)和(7)分別計算加權監督損失Lwce和Lalign;
⑥計算內循環損失Linner(θ,α);
⑦更新參數θt+1←θt-ηθ?θLinner(θt,αt);
⑧由公式(3)計算外循環損失Louter(θ);
⑨更新參數αt+1←αt-ηα?αLouter(θt+1);
⑩end for
在本節中,分別在圖像識別和數字分類任務上將RoDAC方法與SOTA域適應學習方法進行性能比較。
數據集:Office-31是無監督域適應的基準數據集,用于圖像識別任務,包含3個域,共計31個類別,4 110張圖像。其中Amazon (A)是從https://www.amazon.com下載的圖像,Webcam (W)和DSLR (D)分別包含由不同攝影設置的網絡相機和數碼單反相機拍攝的圖像。
Digits用于數字分類任務,其中usps和mnist都是灰色手寫數字數據集,包括0-9類10個類別。usps包含7 291張訓練圖像和2 007張測試圖像,大小為16×16。mnist包含60 000張訓練圖像和10 000張測試圖像,大小為28×28。svhn是彩色手寫數字數據集,包含4 578張訓練圖像和1 627張測試圖像,大小為32×32。
實驗設置:為模擬噪聲標簽的域適應場景,手動創建噪聲標簽數據集。遵循無監督域適應(Unsupervised Domain Adaptation,UDA)的實驗設置,訓練中僅包含噪聲標簽的源域數據和無標簽的目標域數據。所有對比方法都在pytorch深度學習框架中復現。為了公平比較,所有方法都設置相同的超參數、預處理和特征提取網絡,然后對每個學習任務詳細說明實驗設置。
對于圖像識別任務,將所有圖像縮放至256×256,同時通過隨機裁剪進行數據增強,最終將圖片尺寸統一為224×224。使用resnet-50作為特征提取器,256輸出單元的瓶頸層和31類分類器層作為多層感知分類器。

在源域標簽噪聲率為40%的場景中,將本文方法與經典無噪聲的UDA方法進行對比,在Office-31和Digits數據集上的實驗結果如表1、表2所示。結果表明,RoDAC在源域存在噪聲標簽的場景中有著明顯的性能提升,驗證了其有效性。

表1 Office-31數據集上40%噪聲比的準確率(%)

表2 Digits數據集上40%噪聲比的準確率(%)
RoDAC包括兩個學習階段,分別為噪聲標簽檢測LNLD和噪聲標簽校正LNLC。為進一步驗證方法的有效性,在40%噪聲比的Digits數據集上進行消融實驗,實驗結果如表3所示。通過自適應噪聲檢測器檢測噪聲實例,減少其對分類和域適應學習的負面影響,可有效提升目標域的學習性能;與此同時,采用自適應噪聲標簽校正器對噪聲標簽進行校正,從而將噪聲實例重新投入訓練而并非直接丟棄,可充分利用源域知識,進一步提升學習性能。

表3 RoDAC的消融實驗
在Digits數據集分類任務上對3種不同噪聲比下的基準方法和RoDAC方法的性能進行比較,結果見圖3。在域適應學習中,目標域學習精度受噪聲比的影響很大,隨著噪聲比的增大,性能銳降。RoDAC的學習性能也隨著噪聲比的增加而下降,但相較于基準方法下降程度較為平緩,特別是在噪聲比為60%時,RoDAC的學習性能優于噪聲比為40%時基準方法的學習性能,進一步驗證了RoDAC的有效性。

圖3 不同噪聲比下的性能比較
為解決源域數據中噪聲標簽的域適應問題,本文提出兩階段的魯棒學習策略RoDAC,包含自適應噪聲標簽檢測和自適應噪聲標簽校正。首先,采用基于元網絡的自適應噪聲檢測器識別噪聲源實例,以緩和其對訓練過程的影響;其次,采用基于原型分類器的自適應噪聲標簽校正方法,對檢測出的噪聲實例進行自適應校正,并重新投入學習。實驗結果表明,與經典的UDA方法相比,在源域數據存在噪聲標簽的域適應場景中,RoDAC的學習性能有顯著提升。