林佳偉,王士同
1.江南大學 人工智能與計算機學院,江蘇 無錫214122
2.江南大學 江蘇省媒體設計與軟件技術重點實驗室,江蘇 無錫214122
近年來,神經網絡的發展已經為各種機器學習任務帶來了顯著的效果,基于卷積神經網絡(convolutional neural networks,CNN)的特征表示已經被證明在視覺識別任務上是十分有效的。尤其是CNN 在ImageNet 數據集中測試達到了非常高的準確率,深度神經網絡便成為了機器學習領域的一個重要的分支。深度神經網絡已經被證明具有強大的特征表示能力,傳統的深度網絡模型只建立在單個域上,難以獲得可遷移的深度表示。深度神經網絡的較高準確率依賴于大量的帶有人工標簽的數據集來進行訓練,對原始數據集進行人工標注的成本是十分昂貴的,這成為阻礙深度神經網絡進一步發展的關鍵因素。另外,由于計算機視覺中的各種因素(例如分辨率、視點、天氣狀況等),有些應用數據的分布會隨著時間的推移而發生變化,會造成訓練集和測試集的數據分布不匹配,而傳統的深度神經網絡是基于數據同分布假設的,這樣訓練出來的網絡會在訓練集上表現出良好的效果,但是在測試集上表現出的分類性能會大大降低。一個很好的應用場景的例子是用于車牌號識別的分類器對于在雨天場景下的車牌號識別效果會很差。對于如何解決標簽不足,訓練數據與測試數據分布不同的問題是深度神經網絡所面臨的一個重要挑戰。
域適應算法通過使用未標記的測試數據有效地解決了上述問題,未標記的測試數據為分類器的訓練提供了輔助信息,與僅使用訓練數據來學習的分類器相比精度有了明顯的提高,從而避免了對測試數據重新進行標記的工作。常用的領域自適應方法主要有三種,分別是基于樣本選擇的方法、基于模型參數關系的方法和基于特征變換的方法。本文關注的是基于模型參數關系的方法,基于模型參數關系的深度域適應的主要任務是將源域和目標域的數據從原始特征空間映射到一個新的特征空間。在該特征空間中,源域數據和目標域數據的數據分布是相同的。通過利用機器學習算法對帶有標簽的源域數據進行分類,從而實現對未被標注的目標域數據進行分類。
國內外學者已提出很多域適應方法。遷移的概念最初是由Pratt 等人在1991 年首次提出的,并且進一步介紹了神經網絡之間的遷移。近年來,域適應問題引起了廣泛的關注,在計算機視覺領域也被叫作數據集偏差問題,主要應用于對象識別,很多遷移學習或域適應方法通過將源域風險、領域之間的差異和聯合誤差的凸組合最小化來預測目標域數據集的誤差上限。具體而言,給定一個帶標簽的源域數據D和一個不帶標簽的目標域數據D,根據Ben-David 定理,目標域的風險E()能夠結合源域風險E ()和領域之間的差異(D,D)來控制,即通過最小化E()=E ()+(D,D)的上限來實現域適應。2014 年,Yosinski 等人在AlexNet 網絡上證明了深度學習的可遷移性,通過網絡結構的遷移以及對網絡結構的微調不僅能夠進行特征的遷移,而且能夠加速網絡的學習和優化,對于神經網絡的可解釋性以及深度學習的可遷移性解釋具有十分重要的意義。研究表明,深度學習能夠很好地學習到可遷移的數據表示形式,但是這種數據表示形式只能夠減少而不能消除跨域之間的差異。實際上,子空間對齊(subspace alignment,SA)算法通過計算源域子空間特征和目標域子空間特征之間的距離來衡量不同域之間的分布差異,這種差異可以通過學習子空間之間的特征變換來對齊源域和目標域的特征進行消除。深度學習已經被證明在視覺識別上具有良好的效果,在領域適應方面發揮著重要的作用,Glorot等人提出的去噪自動編碼器是一種簡單的全連接網絡,解決了大規模的情感分類問題。眾所周知,卷積神經網絡在視覺識別領域具有更為領先的性能。Chopra 等人通過對多個卷積自動編碼器進行分層訓練,同時用目標域樣本逐漸替換源域樣本,沿著源域和目標域之間的“插值路徑”連續學習多個分布的中間表示。Ghifary 通過在深度網絡中嵌入最大均值差異(maximum mean discrepancy,MMD)正則化來減少不同域樣本之間的隱藏層表示的分布不匹配問題。針對標簽空間不同的問題,You 等人提出利用貝葉斯法則計算出(y|y),以此得出不同標簽空間之間的映射關系,通過協同調優的方式來優化網絡以此完成分布適配的問題。
2016 年,Ganin 和Ustinova 等人提出了領域對抗網絡(domain adversarial neural network,DANN)的模型,DANN 通過對抗學習的思想來對齊源域和目標域的數據分布。雖然DANN 模型完成了從源域到目標域的知識遷移,但是該模型在對齊域間數據分布的同時使得目標域數據在經過特征變換前后的數據分布差異過大,破壞了目標域數據的局部特征,而這些特征對目標域數據分類精度的提升十分關鍵。
本文的主要貢獻可以歸納如下:
(1)與傳統的無監督域適應算法相比,在深度域適應網絡上引入了局部信息保持的概念,減少了因為特征變換而導致的目標域數據信息損失的問題,在對齊源域和目標域數據分布的同時有效地保持了原始數據的信息。
(2)通過將用于分布適配的共同特征和提高分類精度的局部特征聯合保持的思想,提出一個用于無監督域適應的深度對抗重構分類網絡(deep adversarialreconstruction-classification networks,DARCN)的模型。DARCN 模型應用了生成對抗網絡(generative adversarial networks,GAN)和自動編碼器的思想提升了域間自適應特征的學習能力。
(3)通過共同優化和分開優化這兩種策略來實現跨域間的共同特征和局部特征的聯合保持。在四種傳統的數字分類數據集以及遷移學習經典數據集Office-Caltech10 上進行了實驗,實驗表明,與傳統的領域自適應模型相比,DARCN 模型在無監督域適應的任務上具有明顯的優越性。
2014 年,GAN 作為目前最先進的深度生成模型得到了快速的發展,GAN 通過對抗學習的機制來生成與目標分布相似的數據,已經被廣泛地應用在圖像生成、圖像風格變換、人體姿態識別等相關領域。生成對抗網絡利用二人零和博弈的思想,利用生成器和判別器之間的對抗來解決生成問題,是一種通過對抗過程來訓練生成模型的新框架。其中,生成器用于捕獲數據分布,判別器用來區分真實數據分布和模擬數據分布。用表示隨機噪聲,表示真實數據,GAN 網絡的目標函數如下:

等式(1)的目標函數表明了生成對抗網絡的優化是一個最大最小優化問題,第一項表示判別器對真實數據的判斷誤差,第二項表示判別器對生成數據的判別誤差。GAN 通過單獨交替迭代訓練的方式來優化模型的生成器和判別器,最終學習出真實樣本數據集的數據分布。
深度域適應的目的是要學習一個可以很好地從一個域到另一個域的泛化模型,這就要求輸入到分類器的數據不包含有關輸入來源的判別性信息。因此,利用GAN 的判別器嵌入到神經網絡用作域適應組件可以很好地消除不同數據域之間的獨立特征。
自動編碼器是一種無監督的學習算法,常用于降維和特征學習。自動編碼器由兩個模塊組成:(1)從輸入數據提取特征的編碼器網絡();(2)從低維特征重構回原始數據的解碼器網絡()。通常,使用編碼器的最后一層作為瓶頸層來表示數據的低維特征。自動編碼器的損失函數如下:

其中,代表輸入數據集,AE 代表自動編碼器的神經網絡,、分別代表編碼器()和解碼器()的參數,||·||表示輸入數據的二范數。自動編碼器網絡是分層且對稱的,在編碼器模塊中,隱藏層的神經元數量逐漸減少,對稱地,在解碼器模塊中,隱藏層的神經元數量逐漸增多,最終輸出層和輸入層有著一樣多的神經元。這意味著通過編碼-解碼的方式,能夠提取出原始輸入數據的低維特征并且原始數據能夠通過該低維特征得到高效的重構。
自動編碼器的優化過程是把編碼層堆疊在原始圖像上將輸入的3D 圖像轉化為高維的特征,該層稱之為“嵌入層”。為了以無監督的方式訓練它,通過反卷積的手段將解碼層堆疊到嵌入層將高維特征轉換為原始圖像,通過梯度下降法將原始圖像和重構圖像的均方誤差最小化來更新編碼器和解碼器的參數。因此,嵌入層的高維特征攜帶著原始圖像最為關鍵的信息。深度域適應通過將源域和目標域映射到一個新的特征空間當中,在這個特征空間源域和目標域的數據分布相似。把自動編碼器的這一優點應用到深度域適應中,在縮小數據域之間分布差異的同時,將目標域數據最為關鍵的信息嵌入到新的特征空間。
本章首先簡要地討論了域適應問題,然后介紹了深度對抗重構分類網絡的思想以及體系結構。
深度學習的可遷移性是深度域適應能夠實現的關鍵。域適應是一種解決源域和目標域數據分布偏移的一種機器學習算法,通過特征變換學習不同分布數據之間的共同特征,將從源域學習到的知識遷移到目標域,解決了傳統監督學習需要大量人工標注標簽的問題。根據域適應理論,深度網絡可以通過限制源域的標簽分類誤差以及源域和目標域深度特征的領域差異來控制目標域的分類誤差。
深度對抗重構分類網絡(DARCN)應用了GAN的對抗性思想以及自動編碼器的重構思想。(1)將GAN 的生成模型當作DARCN 模型的共同特征提取器,判別模型當作DARCN 的域判別器,通過公共特征提取器和域判別器的組合來保證數據深度特征的領域不變性。(2)將自動編碼器的編碼部分當作DARCN 的局部特征提取器。解碼部分當作DARCN模型的特征重構器,通過在目標域數據上應用特征提取器和特征重構器來保留目標域數據中對分類精度有提升的關鍵信息。通過在數據分布相同的特征空間上添加目標域數據獨有的信息,使得提取出的特征能夠在保留源域分類信息的同時和目標域原始數據有更為相似的分布,在遷移源域分類信息的同時盡可能地保留目標域數據的原始分布。基于這種思想,DARCN 的網絡架構應該滿足以下三個任務:①能夠對源域數據進行分類;②嵌入的域判別器無法鑒別數據的來源;③能夠對目標域數據進行有效的重構。DARCN 卷積架構應該通過提取一個深層的特征表示來同時實現以上三個任務。

如圖1 所示,DARCN 由4 個模塊組成:特征提取器G(·)、標簽分類器G(·)、域分類器G(·)和特征重構器G(·),對應的網絡參數分別為θ、θ、θ、θ。DARCN 的域適應過程是G(·)和G(·)相互博弈的過程,域判別器G(·)通過不斷訓練以區分源域和目標域,特征提取器G(·)同時進行訓練以使得域判別器不能夠分辨出數據是來自哪個域。網絡的目標是尋求一個支持多任務的共享特征映射參數θ。對于輸入到DARCN 的第個數據(x,y),標簽分類器、域分類器和數據重構器的損失L、L和L分別可以寫成:

圖1 DARCN 架構圖Fig.1 Architecture of DARCN

其中,d表示x是來源于哪個域,如果x~D,d=0;如果x~D,d=1。為標簽y的one-hot形式。交叉熵誤差能夠有效地減少網絡模型在優化過程中產生的梯度消失問題,能夠更好更快地收斂到局部最小值。從等式(6)可以看出,由于訓練數據的分布是固定的,優化交叉熵損失等價于優化訓練數據分布和學習模型分布之間的KL 散度。當網絡優化結束時,模型會有效地模擬出訓練數據的真實分布。因此在DARCN 模型中用交叉熵損失來表示分類誤差。由于均方差損失函數處處可導,便于使用梯度下降法較快地收斂到極小值,因此在DARCN 模型中使用均方差損失來表示目標域圖像的重構誤差。

通過優化目標函數E(θ,θ,θ,θ)來實現源域到目標域的知識遷移,同時保留目標域數據的局部特征結構,完成通過源域的分類器來對目標域進行分類。其中,、是需要手動調節的超參數,以實現三者之間的權衡。通過等式(10)和等式(11)對網絡參數進行優化,DARCN 有效地學習了來自D和D數據的隱藏層表示G(x)和G(x),G(x)保留了目標域數據的特征,域適應組件不能夠很好地分辨出G(x)和G(x),體現了隱藏層的特征G具有領域不變的特性,從而實現了利用帶標簽的源域數據和不帶標簽的目標域數據準確對目標域數據進行分類。

從等式(11)和等式(12)可以看出,DARCN 網絡的優化涉及關于θ、θ、θ的最小化問題以及關于θ的最大化問題。因此,DARCN 網絡結構與傳統的多任務神經網絡相比添加了梯度反轉層(gradient reversal layer,GRL),即在正向傳播的網絡流經過該層時深度特征保持不變,反向傳播的網絡流經過該層時梯度乘以一個負常數,由于GRL 沒有與之關聯的參數,該層沒有任何參數需要更新,較整個模型相比其運算成本可以忽略不計。DARCN 網絡采用Adam算法進行優化,式(13)為參數更新的迭代公式。


本章展示了深度對抗重構網絡在流行數據集上的實驗結果。實驗數據集包括兩大部分:一部分是用于圖像分類的經典數字數據集;另一部分是遷移學習經典數據集Office-Caltech10。本實驗將提出的DARCN 算法與其他域適應算法進行了對比,實驗結果表示DARCN在圖像分類的域適應任務上取得了良好的效果。本文所有實驗均在同一環境下完成,計算機處理器配置為IntelCorei5-4210 CPU@2.6 GHz,內存8 GB。在Windows10環境下配置python環境以及pytorch 框架。所有實驗均在python3.6 以及pytorch1.0的框架下實現。
本組實驗研究了DARCN 在MNIST、MNIST-M、SVHN 以及USPS 等數據集上的遷移性能。目的是利用源域和目標域進行訓練來對未知標簽的目標域進行無監督域適應。通過3 組跨域識別的任務來評估算法的準確性:(1)MNIST 數據集和MNIST-M 數據集;(2)SVHN 數據集和MNIST 數據集;(3)MNIST數據集和USPS 數據集。
MNIST 數據集是由美國國家標準技術與研究所發布的圖片分類數據集,由250 個不同的人手寫的數字組成的10 分類灰度圖像,其中包含60 000 張的訓練圖像和10 000 張的測試圖像,像素大小為28×28。MNIST-M 數據集由MNISTI 數據集和BSDS500 數據集中的隨機色塊混合而成,其中包含59 000 張訓練圖像和測試圖像,圖像是像素為32×32 的彩色圖像。SVHN 數據集是由斯坦福大學于2011 年發布的圖像分類數據集,其中的數據均采自Google 街景圖像中的門牌號,包括4 578 張訓練圖像和1 627 張測試圖像,圖像像素大小為32×32。USPS 數據集是美國郵政手寫數字數據集,其中包括999 張訓練圖像和250張測試圖像,像素大小為32×32。在MNIST 數據集到MNIST-M 數據集跨域識別的任務上,輸入網絡的圖像大小為28×28,其他任務中,輸入網絡的圖像大小為32×32。另外,所有像素全部歸一化到[0,1]。
現將DARCN算法與以下方法比較。(1)CovNet:僅在源域上訓練的有監督卷積神經網絡。(2)SDA:堆疊式降噪自動編碼器,已經成功應用到情感分析領域的深度域適應模型。(3)SA:子空間對齊,通過優化映射函數將源子空間轉換為目標域子空間來實現無監督域適應。(4)DANN:域對抗神經網絡,通過GAN的思想來實現源域和目標域的不可區分性。DANN和DARCN 具有相似的網絡架構。(5)CovNet:在目標域上訓練的有監督卷積神經網絡。
第一個實驗測試了經典數字數據集的跨域識別。在該數據集上的模型主要由4個模塊組成:(1)特征提取模塊;(2)標簽分類模塊;(3)域適應模塊;(4)特征重構模塊。詳細網絡結構如圖2、圖3 所示。網絡所有的隱藏層均使用ReLU 作為激活函數并且使用了歸一化的技巧,所有參數均使用Adam 優化器進行更新,學習速率是10,采用學習率衰減的策略,分類任務以及域適應任務采用交叉熵誤差作為目標函數,重構任務采用均方差誤差作為目標函數。和是需要手動調節的超參數,根據源域數據的準確性控制和,取值為[0,1]。圖4 展示了DARCN 在MNIST 和MNIST_M 數據集上進行域適應不同的超參數對算法性能的影響(超參數和DANN 模型設置相同)。

圖2 實驗1 中的網絡結構圖Fig.2 Network structure diagram in experiment 1

圖3 實驗2、實驗3 中的網絡結構圖Fig.3 Network structure diagram in experiments 2 and 3

圖4 不同的超參數μ 對DARCN 模型性能的影響Fig.4 Influence of different parameter μ on DARCN
表1 總結了在相同環境下獨立運行10 次的跨域識別的平均精度,在數字數據集上實現了3 組無監督跨域識別的任務。觀察實驗結果可以發現,DARCN模型與DANN 模型相比,在數字數據集上遷移的精度提升了約0.06。可見在無監督域適應任務上,DARCN模型在數字數據集上的分類精度較其他算法有明顯的提升。如圖5所示,通過將源域數據輸入到DARCN模型,可視化特征重構器的輸出圖像會發現,輸出的源域圖片會添加目標域圖片的部分特征,重建的MNIST 圖像具有著和MNIST-M 圖像相似的外觀。從實驗結果上看,DARCN 模型在數字數據集之間的自適應效果與其他算法相比準確率有明顯的提高。在實際的應用場景當中,對于像數字圖像這種比較簡單的數據集建議使用圖2、圖3 中的網絡結構,采用共同優化的方式進行訓練來完成不同數據域之間的知識遷移。

圖5 源域圖像(MNIST)、重構圖像、目標域圖像(MNIST-M)的對比Fig.5 Comparison of source domain(MNIST)image,reconstructed image and target domain(MNIST-M)image

表1 數字數據集運行10 次平均分類精度Table 1 Average classification accuracy of 10 times on digital datasets %
本節研究DARCN 在Office-Caltech10 數據集上的遷移性能。Office-Caltech10 數據集是在視覺域適應任務上應用得最為廣泛的數據集。該數據集包括4 個不同的域:Amazon、Caltech、Dslr、Webcam。4 個域的圖片分別是在不同的環境條件下由網絡相機和數碼單反相機拍攝的。測試之前,首先對數據集進行預處理,將所有圖像的像素值歸一化成0 到1 之間。在每次迭代過程中,將所有圖像隨機裁剪為像素大小為224×224 的圖像,每張圖片按照0.5 的概率對其進行水平翻轉。
現將在本組實驗上實現的DARCN 算法與以下算法進行比較:(1)CovNet:僅在源域上訓練,目標域上測試的AlexNet網絡。(2)JGSA:聯合幾何和統計對齊,同時減少域之間的分布差異和幾何差異來進行域適應。(3)DDC:深度域混淆網絡,在AlexNet網絡的基礎上添加適配層,通過最大均值差異考察網絡對源域和目標域的判別能力。(4)DANN:域對抗神經網絡,通過GAN 的思想來實現源域和目標域的不可區分性。(5)CovNet:在目標域上訓練并進行測試的AlexNet網絡。
在Office-Caltech10 數據集上實現的DARCN 在AlexNet 網絡的基礎上改進。在AlexNet 網絡的卷積層上進行微調來實現特征重構以及域適應的任務提取網絡的中間特征,在AlexNet 網絡的全連接層進行微調實現分類任務得到分類結果。與在數字圖像數據集上進行域適應不同的是,該組實驗對多個任務采用分開優化的方式,首先單獨優化域適應任務以及重構任務,將提取出的中間特征圖向量化后進行拼接,將拼接后的特征向量傳入分類器實現對目標域數據的分類。網絡的參數更新采用隨機梯度下降法,域適應模塊以及特征重構模塊學習率大小為10,分類器的學習率大小為10。網絡模型示意圖如圖6 所示。表2 總結了Office-Caltech10 數據集在相同環境下獨立運行10 次的跨域識別的平均精度。從表2 可以看出,在無監督域適應任務上,DARCN 模型在Office-Caltech10 數據集上的平均分類精度比DANN 模型高出了約0.03,比DDC 算法高出了約0.08。DARCN 模型在Office-Caltech10 數據集上的分類精度較其他模型有明顯的提升。在實際的應用場景中,對于復雜圖像數據集之間的遷移,建議使用圖6 的網絡架構采用不同損失之間分開優化的方式完成不同數據集之間的領域自適應。

圖6 基于AlexNet網絡的DARCN 結構Fig.6 DARCN structure based on AlexNet

表2 Office-Caltech10 數據集運行10 次平均分類精度Table 2 Average classification accuracy of 10 times on Office-Caltech10 dataset %
從整體上看,無論是在數字數據集上或是Office-Caltech10 數據集上,CovNet的表現效果最差,現有的域適應算法與CovNet相比精度均有提高。這是因為在CovNet上的訓練集和測試集數據分布不同造成的。而域適應算法拉近了源域數據和目標域數據之間的分布,有效地完成了從源域到目標域的知識遷移。從表中的各種域適應算法進行對比可以看出,DARCN 模型的表現最好。這是因為DARCN 在對齊不同域之間的數據分布的同時,保留了目標域當中對于提高分類精度最為關鍵的特征,盡可能地減少了目標域數據的信息損失。表3 總結了本文所使用的三種網絡的參數規模以及將一張彩色圖片輸入到三個網絡中一次前向傳播的乘加計算量。從表3 的數據可以看出,在現有GPU 的顯存大小以及計算能力下,這三種網絡能夠在輸入大小分別為28×28、32×32、224×224的彩色圖片的情況下以較快的速度完成計算。

表3 DARCN 參數規模分析Table 3 Analysis of parameter scale in DARCN
針對計算機視覺中的數據集偏差問題,本文提出了用于無監督域適應的深度對抗重構分類網絡。傳統的對抗域適應算法僅僅利用了生成對抗網絡的思想來實現領域不變的特性,放棄了自動編碼器的解碼部分。DARCN 模型認為提取的域不變特征會削弱目標域特征的代表性從而損害分類性能,因此該模型添加了自動編碼器的解碼部分,通過優化重構損失保留了目標域數據的局部結構,增強了目標域嵌入特征的代表性。這樣提取的嵌入特征在對齊不同數據域之間的分布的同時又減少了目標域數據的信息損失。實驗證明,該模型在視覺域適應方面較其他算法有較為明顯的精度提升。這種通過自動編碼器來進行信息保持的思想也可以推廣到其他深度域適應網絡中。