汪云云,桂 旭,鄭濰雯,薛 暉
(1.南京郵電大學計算機科學與技術(shù)學院,江蘇南京 210023;2.南京郵電大學,江蘇省大數(shù)據(jù)安全與智能處理重點實驗室,江蘇南京 210023;3.東南大學計算機科學與工程學院,江蘇南京 210023)
深度神經(jīng)網(wǎng)絡(luò)基于大規(guī)模標注訓練數(shù)據(jù),在眾多機器感知任務(wù)上取得了優(yōu)秀的性能,然而大規(guī)模人工標注意味著高昂的數(shù)據(jù)標注代價,限制了深度神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)標注不足任務(wù)上的應(yīng)用。近年來,備受關(guān)注的域適應(yīng)(Domain Adaptation,DA)學習嘗試采用標簽豐富的源域來幫助標簽稀缺的目標域?qū)W習[1],在許多任務(wù)上性能得到了顯著的提升。
近年來,域適應(yīng)學習方法相繼涌現(xiàn),可大致分為3類,分別為基于差異的方法、基于對抗的方法以及基于重構(gòu)的方法?;诓町惖挠蜻m應(yīng)方法旨在縮小域間的分布差異,常用的差異性度量包括最大均值差異(Maximum Mean Discrepancy,MMD)[2]、KL散度[3]和Wasserstein距離[4]等。基于對抗的方法通過對抗學習方式生成域不變特征。例如,DANN[5]和DA2NN[6]等采用特征提取器和域鑒別器間的博弈和對抗,而MCD[7]則利用兩個分類器間的對抗學習產(chǎn)生域不變特征?;谥貥?gòu)的方法通過對抗生成跨域樣本實現(xiàn)域遷移,如cycle-GAN[8]、CyCADA[9]等方法。盡管這些方法可有效提升目標域的學習性能,但都假設(shè)存在大量正確標記的源域數(shù)據(jù),在許多真實學習任務(wù)中很難滿足。在含噪聲的DA學習中,噪聲源實例可能會導致負遷移現(xiàn)象[1],限制了DA方法的實際應(yīng)用。有文獻研究從理論上證明了源域中的標簽噪聲會給DA學習帶來嚴重的負遷移問題[10]。也有學者研究了更通用的噪聲DA場景,包括標簽噪聲、特征噪聲以及混合噪聲[11]。
DA方法通常假設(shè)存在一個已正確標記的源域,然而在現(xiàn)實任務(wù)中,精確的人工標注耗時耗力,通常很難收集大量帶有干凈標簽的源實例。雖然很容易從網(wǎng)絡(luò)和社交媒體中采集數(shù)據(jù),但是此類數(shù)據(jù)集可能存在標簽噪聲。帶有噪聲源標簽的噪聲DA學習可能會損害目標域的學習性能,但針對此問題的研究仍然有限。
帶噪聲標簽的魯棒學習目前已獲得廣泛研究。噪聲標簽學習方法可大致分為3類:基于無偏損失或風險最小化[12-15]、基于自助(Bootstrapping)損失[16]以及噪聲樣本重采樣方法[17-20]?;跓o偏損失或風險最小化方法旨在定義可有效抑制噪聲數(shù)據(jù)的損失函數(shù)?;谧灾鷵p失方法通過在訓練過程中不斷修正數(shù)據(jù)標簽來減輕噪聲標簽實例對模型學習的影響。噪聲樣本重采樣方法則通過設(shè)計從訓練損失到樣本權(quán)重的映射函數(shù),根據(jù)損失計算樣本權(quán)重,最小化分類器更新的加權(quán)實例損失。此外,根據(jù)是否使用轉(zhuǎn)移矩陣對標簽噪聲進行顯式建模,將帶標簽噪聲的魯棒學習方法分為基于轉(zhuǎn)移矩陣法和無轉(zhuǎn)移矩陣法,本研究屬于第二類,不同的是本研究場景更具挑戰(zhàn)性,旨在將含有噪聲標簽的源域知識遷移至目標域,以提升目標域的學習性能。
針對源域存在噪聲標簽的學習場景,本文提出基于自適應(yīng)噪聲校正的魯棒域適應(yīng)學習方法(Robust DA Method through Adaptive Noise Correction,RoDAC)。首先,通過自適應(yīng)噪聲檢測(Adaptive Noisy Label Detection,ANLD)識別噪聲源實例、加權(quán)實例損失以及減少噪聲實例對分類學習的貢獻,同時劃分數(shù)據(jù)集以進一步減少其對域適應(yīng)學習的影響;接著,通過自適應(yīng)噪聲標簽校正(Adaptive Noisy Label Correction,ANLC)修正噪聲實例,使噪聲實例獲得更為準確的標簽,并重新投入學習。
在源域標簽存在噪聲的域適應(yīng)學習場景中,主要挑戰(zhàn)在于:①如何減少噪聲標簽對分類學習的影響;②如何減少噪聲標簽對域間分布對齊的影響。因此,本文提出了一個系統(tǒng)的解決方案,主要包括兩個學習階段:自適應(yīng)噪聲標簽檢測(ANLD)和自適應(yīng)噪聲標簽校正(ANLC)。
進一步地,采用數(shù)學符號來表述本文的研究目標。將成對標簽上的損失函數(shù)定義為L:Y×Y→,多分類任務(wù)的決策函數(shù)f:X→K,因而有假設(shè)函數(shù)對于X×Y上的任意分布D,定義假設(shè)函數(shù)h的經(jīng)驗誤差為errD?E(x,y)~DL(h(x),y)。本文的研究目標是采用源域的有標簽噪聲樣本和目標域的無標簽樣本習得一個決策函數(shù)f,使得其在目標域上的經(jīng)驗誤差最小。圖1展示了標簽噪聲DA學習過程。
RoDAC利用干凈實例的small-loss[21]基于元網(wǎng)絡(luò)自適應(yīng)地區(qū)分干凈和噪聲實例,同時,基于數(shù)據(jù)的聚簇特性,利用原型分類器對檢測出的噪聲實例進行自適應(yīng)校正,并重新投入域適應(yīng)學習中。RoDAC的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。其中,F(xiàn)為特征提取器,G為多層感知分類器,源域和目標域共享F和G。M為基于元網(wǎng)絡(luò)的自適應(yīng)噪聲檢測器,用于自適應(yīng)地檢測噪聲實例。P為原型分類器,用于自適應(yīng)地校正噪聲實例。通過局部最大均值差異(Local Maximum Mean Discrepancy,LMMD)[22]計算源域與目標域間的條件分布差異,并縮小域間的分布距離,實現(xiàn)源域知識遷移。
圖1 標簽噪聲DA學習過程
圖2 RoDAC網(wǎng)絡(luò)結(jié)構(gòu)圖
1.2.1 實例損失加權(quán)
若僅考慮源域上的監(jiān)督分類任務(wù),分類學習損失可表示為
(1)
式中,J是交叉熵損失函數(shù),f是由θ參數(shù)化的假設(shè)函數(shù)。為減少噪聲標簽對分類學習的影響,RoDAC自適應(yīng)地對源域樣本加權(quán),即基于損失對樣本重采樣,獲得加權(quán)的源域分類損失Lwce描述如下:
(2)
式中,w是由α∈Bd參數(shù)化的權(quán)重函數(shù),將實例映射至實例權(quán)重。
(3)
θ和α的求解是一個雙線性問題。在域適應(yīng)學習中,θ的更新包括兩部分:源域分類損失和域分布對齊損失。
1.2.2 源域數(shù)據(jù)劃分
(4)
在ANLD中,RoDAC利用實例加權(quán)來減少噪聲實例對分類學習的影響,同時將源域數(shù)據(jù)集劃分為干凈和噪聲實例集。在ANLC中,對噪聲實例集進行標簽校正并重新投入域適應(yīng)學習,而非簡單丟棄,以充分利用源域知識。
通過可視化研究發(fā)現(xiàn),即使將干凈實例和噪聲實例一同訓練,干凈實例仍會聚簇在所屬類別原型的周圍。因此,RoDAC選擇原型分類器[22]代替?zhèn)鹘y(tǒng)的多層感知器進行噪聲校正,即使用干凈實例集中的樣本計算原型中心,并基于該原型中心校正噪聲實例集中的樣本。
(5)
接下來,對標簽校正后的數(shù)據(jù)進行域間條件分布對齊。對于干凈源實例,直接使用真實類標簽;而對于噪聲源實例,則使用原型分類器的預測結(jié)果作為其軟標簽,即
(6)
RoDAC將校正后的源域?qū)嵗匦峦度胗蜻m應(yīng)學習并采用LMMD度量[23]進行條件分布對齊,LMMD可刻畫如下:
(7)
(8)
上述內(nèi)容已詳細闡明了RoDAC中的噪聲標簽檢測和噪聲標簽校正過程,RoDAC的總目標函數(shù)刻畫如下:
(9)
此類雙線性問題的求解需要兩層嵌套的優(yōu)化循環(huán),在幾何上降低了求解效率。為進一步加速優(yōu)化,借鑒Meta-Weight-Net[24]和DS3L[25]的在線學習策略,分別通過單個優(yōu)化循環(huán)更新θ和α。為進一步闡述優(yōu)化過程,將內(nèi)循環(huán)的更新標記為Linner(θ,α),外循環(huán)α的更新標記為Louter(θ)。給定權(quán)重函數(shù)w的參數(shù)αt,θt+1的更新由以下梯度等式得到:
θt+1=θt-ηθ?θLinner(θt,αt),
(10)
αt+1=αt-ηα?αLouter(θt+1)。
(11)
具體學習框架如算法1所示:
算法1RoDAC的學習框架
輸出:權(quán)重函數(shù)參數(shù)α和模型參數(shù)θ;
⑤由公式(2)和(7)分別計算加權(quán)監(jiān)督損失Lwce和Lalign;
⑥計算內(nèi)循環(huán)損失Linner(θ,α);
⑦更新參數(shù)θt+1←θt-ηθ?θLinner(θt,αt);
⑧由公式(3)計算外循環(huán)損失Louter(θ);
⑨更新參數(shù)αt+1←αt-ηα?αLouter(θt+1);
⑩end for
在本節(jié)中,分別在圖像識別和數(shù)字分類任務(wù)上將RoDAC方法與SOTA域適應(yīng)學習方法進行性能比較。
數(shù)據(jù)集:Office-31是無監(jiān)督域適應(yīng)的基準數(shù)據(jù)集,用于圖像識別任務(wù),包含3個域,共計31個類別,4 110張圖像。其中Amazon (A)是從https://www.amazon.com下載的圖像,Webcam (W)和DSLR (D)分別包含由不同攝影設(shè)置的網(wǎng)絡(luò)相機和數(shù)碼單反相機拍攝的圖像。
Digits用于數(shù)字分類任務(wù),其中usps和mnist都是灰色手寫數(shù)字數(shù)據(jù)集,包括0-9類10個類別。usps包含7 291張訓練圖像和2 007張測試圖像,大小為16×16。mnist包含60 000張訓練圖像和10 000張測試圖像,大小為28×28。svhn是彩色手寫數(shù)字數(shù)據(jù)集,包含4 578張訓練圖像和1 627張測試圖像,大小為32×32。
實驗設(shè)置:為模擬噪聲標簽的域適應(yīng)場景,手動創(chuàng)建噪聲標簽數(shù)據(jù)集。遵循無監(jiān)督域適應(yīng)(Unsupervised Domain Adaptation,UDA)的實驗設(shè)置,訓練中僅包含噪聲標簽的源域數(shù)據(jù)和無標簽的目標域數(shù)據(jù)。所有對比方法都在pytorch深度學習框架中復現(xiàn)。為了公平比較,所有方法都設(shè)置相同的超參數(shù)、預處理和特征提取網(wǎng)絡(luò),然后對每個學習任務(wù)詳細說明實驗設(shè)置。
對于圖像識別任務(wù),將所有圖像縮放至256×256,同時通過隨機裁剪進行數(shù)據(jù)增強,最終將圖片尺寸統(tǒng)一為224×224。使用resnet-50作為特征提取器,256輸出單元的瓶頸層和31類分類器層作為多層感知分類器。
在源域標簽噪聲率為40%的場景中,將本文方法與經(jīng)典無噪聲的UDA方法進行對比,在Office-31和Digits數(shù)據(jù)集上的實驗結(jié)果如表1、表2所示。結(jié)果表明,RoDAC在源域存在噪聲標簽的場景中有著明顯的性能提升,驗證了其有效性。
表1 Office-31數(shù)據(jù)集上40%噪聲比的準確率(%)
表2 Digits數(shù)據(jù)集上40%噪聲比的準確率(%)
RoDAC包括兩個學習階段,分別為噪聲標簽檢測LNLD和噪聲標簽校正LNLC。為進一步驗證方法的有效性,在40%噪聲比的Digits數(shù)據(jù)集上進行消融實驗,實驗結(jié)果如表3所示。通過自適應(yīng)噪聲檢測器檢測噪聲實例,減少其對分類和域適應(yīng)學習的負面影響,可有效提升目標域的學習性能;與此同時,采用自適應(yīng)噪聲標簽校正器對噪聲標簽進行校正,從而將噪聲實例重新投入訓練而并非直接丟棄,可充分利用源域知識,進一步提升學習性能。
表3 RoDAC的消融實驗
在Digits數(shù)據(jù)集分類任務(wù)上對3種不同噪聲比下的基準方法和RoDAC方法的性能進行比較,結(jié)果見圖3。在域適應(yīng)學習中,目標域?qū)W習精度受噪聲比的影響很大,隨著噪聲比的增大,性能銳降。RoDAC的學習性能也隨著噪聲比的增加而下降,但相較于基準方法下降程度較為平緩,特別是在噪聲比為60%時,RoDAC的學習性能優(yōu)于噪聲比為40%時基準方法的學習性能,進一步驗證了RoDAC的有效性。
圖3 不同噪聲比下的性能比較
為解決源域數(shù)據(jù)中噪聲標簽的域適應(yīng)問題,本文提出兩階段的魯棒學習策略RoDAC,包含自適應(yīng)噪聲標簽檢測和自適應(yīng)噪聲標簽校正。首先,采用基于元網(wǎng)絡(luò)的自適應(yīng)噪聲檢測器識別噪聲源實例,以緩和其對訓練過程的影響;其次,采用基于原型分類器的自適應(yīng)噪聲標簽校正方法,對檢測出的噪聲實例進行自適應(yīng)校正,并重新投入學習。實驗結(jié)果表明,與經(jīng)典的UDA方法相比,在源域數(shù)據(jù)存在噪聲標簽的域適應(yīng)場景中,RoDAC的學習性能有顯著提升。