陳 誠,郭衛(wèi)斌,李慶瑜
(1.華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海 200237;2.上海網(wǎng)達軟件股份有限公司,上海 201206)
深度神經(jīng)網(wǎng)絡(luò)擅長從大量已標(biāo)注樣本中學(xué)習(xí),近年來在計算機視覺、自然語言處理和語音識別等領(lǐng)域取得了令人矚目的成就。但是,在將已訓(xùn)練模型推廣到新的數(shù)據(jù)集或應(yīng)用領(lǐng)域時,卻會因為數(shù)據(jù)集之間存在的方差偏移(Covariate Shift)[1]使結(jié)果不夠理想。同時,獲取足夠數(shù)量的已標(biāo)注樣本通常需要耗費大量的時間和人力成本,有時甚至是無法實現(xiàn)的。如何有效地解決標(biāo)注樣本獲取的困難以及使模型能夠更好地適應(yīng)數(shù)據(jù)集之間的偏移已成為一項富有挑戰(zhàn)性的工作。
領(lǐng)域適應(yīng)[2,3]使用來自目標(biāo)域的未標(biāo)注數(shù)據(jù)提供的輔助訓(xùn)練信息來處理數(shù)據(jù)集間的偏差。領(lǐng)域適應(yīng)的目的是使用來自源數(shù)據(jù)集的知識來適應(yīng)目標(biāo)數(shù)據(jù)集的訓(xùn)練,并將訓(xùn)練得到的模型用于目標(biāo)域的預(yù)測[4]。當(dāng)源域和目標(biāo)域的數(shù)據(jù)集存在偏差或需要將源域訓(xùn)練得到的模型遷移至目標(biāo)域時,通常的有監(jiān)督領(lǐng)域適應(yīng)方法是先對目標(biāo)域的數(shù)據(jù)進行標(biāo)注,然后通過標(biāo)注后的目標(biāo)域數(shù)據(jù)重新訓(xùn)練模型,完成目標(biāo)域圖像到類別標(biāo)簽的映射,但通過領(lǐng)域適應(yīng)則可以實現(xiàn)跨域映射圖像,而不需要目標(biāo)域圖像的類別信息。所以,領(lǐng)域適應(yīng)是解決數(shù)據(jù)集間偏差及標(biāo)注數(shù)據(jù)獲取困難的有效途徑,并在近年來得到了迅速發(fā)展。基于特征的無監(jiān)督域自適應(yīng)方法UDA(Unsupervised Domain Adaptation)[5]不依賴任何已標(biāo)注的目標(biāo)樣本,通過在源域和目標(biāo)域之間對齊從網(wǎng)絡(luò)提取的特征來實現(xiàn)領(lǐng)域適應(yīng)[6],即在UDA中,只有源域中的數(shù)據(jù)有類別標(biāo)簽,而目標(biāo)域的數(shù)據(jù)是無標(biāo)簽的,因此無法直接通過有監(jiān)督學(xué)習(xí)訓(xùn)練目標(biāo)域的數(shù)據(jù),而只能通過無監(jiān)督領(lǐng)域適應(yīng)來將源域中的知識遷移到目標(biāo)域中。而隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的加深,并引入生成對抗網(wǎng)絡(luò)GAN(Generative Adversarial Nets)[7]中的對抗性思想后,領(lǐng)域適應(yīng)算法在共享特征的提取和分類精度上更有優(yōu)勢。
傳統(tǒng)的圖像分類算法通過訓(xùn)練實現(xiàn)圖像特征與圖像類別標(biāo)簽間的映射,但在UDA中,由于目標(biāo)域的圖像是沒有類別標(biāo)簽的,所以無法直接通過圖像特征與類別標(biāo)簽的映射完成對圖像的分類。為實現(xiàn)UDA中的跨域圖像映射,需要分成2個步驟:(1)訓(xùn)練源域圖像分類。因為源域圖像具有類別標(biāo)注,所以源域圖像分類訓(xùn)練過程和傳統(tǒng)圖像分類訓(xùn)練相同;(2)完成源域和目標(biāo)域間的圖像適應(yīng)。第(2)步在不同算法中處理方法各不相同,本文將在第2節(jié)繼續(xù)展開對領(lǐng)域間圖像適應(yīng)的具體理論分析[8]。總體來說,區(qū)別于傳統(tǒng)圖像分類,UDA圖像分類的目的在于尋找一種算法能夠在提高分類精度的同時又能很好地完成域間的適應(yīng),該問題等同于為領(lǐng)域間差異提供一種理論描述,從而能夠使用優(yōu)化算法來實現(xiàn)分類精度和域間差異之間的平衡[9]。從圖像分類角度解釋,即通過訓(xùn)練使得領(lǐng)域間的差異對于模型而言越來越小時,提高模型的源域圖像分類精度的同時也能使得模型更好地分類目標(biāo)域圖像,這也符合直覺上的邏輯[10]。
然而,圖像分類中經(jīng)常采用的卷積神經(jīng)網(wǎng)絡(luò)雖然擅長學(xué)習(xí)具有很少結(jié)構(gòu)特征的圖像類,但無法學(xué)習(xí)到在某些類別中一致出現(xiàn)的幾何或結(jié)構(gòu)特征,即由于卷積運算的局部感受域的原因,卷積網(wǎng)絡(luò)偏向于提取圖像局部的紋理特征,但很難學(xué)習(xí)到圖像整體的結(jié)構(gòu)特征。此類問題同樣存在于領(lǐng)域適應(yīng)的特征提取階段中,使得適應(yīng)效果局限于局部特征映射之間的轉(zhuǎn)換而不夠理想。
本文以UDA的圖像分類為例,比較分析GAN中對抗性思想和領(lǐng)域適應(yīng)的關(guān)系,并在算法理論層面類比GAN的改進算法,嘗試通過引入自注意力模塊對領(lǐng)域適應(yīng)算法中存在的無法建模長距離依賴的缺陷做出改進,從而進一步優(yōu)化遷移和圖像分類性能。此外,考慮到兩者在任務(wù)上的差異,嘗試通過在自注意力模塊中引入新的學(xué)習(xí)參數(shù)來進行完善。實驗基于常用的UDA數(shù)據(jù)集,在無監(jiān)督適應(yīng)的圖像分類任務(wù)上的效果較優(yōu),證實了本文方法的可行性和有效性。
Goodfellow等[7]受博弈論中的二人零和博弈的啟發(fā),提出了GAN。GAN中,通過輸入的隨機噪聲z(其中z~pz(z),pz(z)為噪聲所屬的概率分布),生成器G不斷逼近真實數(shù)據(jù)x的概率分布pdata,判別器D對來自G生成的虛擬數(shù)據(jù)和來自pdata的真實數(shù)據(jù)不斷辨別數(shù)據(jù)是否真實,生成器和判別器通過最小最大化游戲達到最終的納什均衡:
Ez~pz(z)[log(1-D(G(z)))]
(1)
通過第1節(jié)中對于UDA圖像分類的闡述可以得知,UDA圖像分類的本質(zhì)是如何實現(xiàn)分類精度和域間差異的平衡。而UDA圖像分類中的目標(biāo)域圖像映射不斷逼近類別標(biāo)簽的目的正好和GAN中的對抗性思想吻合。2.2節(jié)正是通過引入對抗性思想來解決UDA的圖像分類問題的,這也證實了前文的理論分析。
在領(lǐng)域適應(yīng)任務(wù)中,源域中訓(xùn)練得到的分類器適應(yīng)目標(biāo)域數(shù)據(jù)的分類任務(wù)和GAN中生成虛擬數(shù)據(jù)逼近真實數(shù)據(jù)分布的概念相吻合。對應(yīng)地,領(lǐng)域適應(yīng)中帶有參數(shù)θf的共享特征提取器為生成器G,判別器D則通過不斷更新參數(shù)θd來判別數(shù)據(jù)的來源,結(jié)合帶有參數(shù)θy的分類器C,融合對抗性思想的領(lǐng)域適應(yīng)算法DANN(Domain-Adversarial Training of Neural Networks)[11]如下所示:
(2)
其中,
其中,xi表示輸入樣本,yi表示類別標(biāo)簽;di表示領(lǐng)域標(biāo)簽,如果屬于源域則為0,如果屬于目標(biāo)域則為1;n和n′分別代表源域和目標(biāo)域中的樣本數(shù);n+n′=N,N為總樣本數(shù);λ為權(quán)重參數(shù)。文獻[11]證明,當(dāng)源域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)之間的分類誤差和經(jīng)驗散度達到平衡時,DANN最優(yōu)。因此,DANN通過迭代不斷交替更新:
(3)
(4)
Figure 1 Structure of self-attention module圖1 自注意力模塊結(jié)構(gòu)圖
文獻[12]指出,由于卷積運算具有局部感受域,淺層卷積模型無法提取長距離的依賴特征,而多個卷積層雖然能夠建立圖像區(qū)域間的長距離依賴特征,但其計算效率很低,并且參數(shù)的增加也會降低模型的健壯性。所以,GAN在建立不同圖像區(qū)域間的長距離依賴時不夠理想。另一方面,自注意力[13]在建立遠程依賴關(guān)系和計算效率之間表現(xiàn)出良好的平衡能力。同時,自注意力模塊計算得到所有特征的加權(quán)組合,其中的權(quán)重參數(shù)或稱自注意力向量僅增加了較小的計算成本。因此,文獻[12]提出了結(jié)合自注意力的生成對抗網(wǎng)絡(luò)SAGAN(Self-Attention Generative Adversarial Networks)來更好地提取包括局部和整體特征映射的混合特征映射。從圖像角度解釋,即SAGAN通過引入自注意力模塊來提取能夠反映圖像整體空間關(guān)系的幾何及空間特征映射,同時結(jié)合原始的局部特征映射來生成更為真實的圖像。經(jīng)驗證,相較于增加卷積核的大小,自注意力模塊能夠以更低的計算量提取圖像的幾何特征關(guān)系。
文獻[12]結(jié)合自注意力的思想,構(gòu)建了自注意力模塊,其結(jié)構(gòu)如圖1所示。其中,x′表示經(jīng)過卷積層提取得到的圖像特征,f(x′i),g(x′j),h(x′i),v(x′i)表示圖像特征經(jīng)過1×1卷積形成的映射函數(shù),?表示矩陣乘法,Softmax運算在每1行上進行,o為自注意力模塊最終的輸出,N為總樣本數(shù)。
自注意力模塊的表達式如下所示:
(5)
(6)
sij=f(x′i)Tg(x′j)
(7)
其中,sij表示f(x′i)與g(x′j)相乘得到的中間結(jié)果,f(x′i),g(x′j),h(x′i),v(x′i)表達式如下所示:
f(x′i)=Wfx′i
g(x′j)=Wgx′j
h(x′i)=Whx′i
v(x′i)=Wvx′i
Wf,Wg,Wh,Wv∈RM×M
其中,M為特征的通道數(shù)。γ為可學(xué)習(xí)參數(shù),初始值為0,意為自注意力模塊初始只輸出原始的上采樣虛擬圖像特征xi,之后在學(xué)習(xí)過程中逐漸加入自注意力圖像特征的部分,組成局部和自注意力的混合圖像特征,來生成更加逼真的虛擬圖像。
然而文獻[14]表明,GAN屬于生成器一類,即GAN模型的目的是為了使生成器能夠生成更加逼真的圖像。而在領(lǐng)域適應(yīng)中,模型的目的則是為了使分類器能夠更好地對目標(biāo)域的數(shù)據(jù)進行分類,這也是文獻[14]將DANN歸為判別器一類的原因,即通過判別器判斷目標(biāo)域的數(shù)據(jù)和源域數(shù)據(jù)越來越相似時,通過源域數(shù)據(jù)訓(xùn)練的分類器對目標(biāo)域數(shù)據(jù)的分類也將越準(zhǔn)確。因此,領(lǐng)域適應(yīng)的任務(wù)和GAN的任務(wù)在本質(zhì)上有所不同。
本文在總結(jié)概括先前方法的基礎(chǔ)上,類比SAGAN對于GAN的改進,嘗試通過在DANN中引入自注意力模塊來改進DANN建模長距離依賴的能力,并通過改進自注意力模塊來使其能夠更加適用于領(lǐng)域適應(yīng)的任務(wù)。引入改進的自注意力模塊后得到的混合特征映射表達式如式(8)所示:
GF(x;θf;θs;δ;γ)=δGf(x;θf)+
γGs(Gf(x;θf);θs)=δGf(x;θf)+
(8)
為了便于說明,以下出現(xiàn)的(·)表示省略參數(shù)。式(8)中,δ為本文引入的新學(xué)習(xí)參數(shù),初始值為1,其具體作用將在后文分析;θs表示自注意力層參數(shù),即f(·),g(·),h(·),v(·)4個函數(shù)中的所有的參數(shù);θf表示特征映射層Gf的參數(shù);GF(·)為局部特征映射和自注意力特征映射組成的混合特征映射,因在原來的特征映射函數(shù)Gf(·)的基礎(chǔ)上進行了擴展,所以使用GF(·)表示;Gf(·)原為上采樣形成的虛擬圖像特征,在這里為特征提取器F提取的特征映射;Gs(·)為自注意力函數(shù),因為自注意力被稱為Self-Attention,因此以首字母s命名為Gs(·);f(·),g(·)和h(·)的含義同原自注意力模塊中的含義。由于自注意力層的引入與SAGAN有所不同,為了便于說明,GF(·)中將γ作為單獨的參數(shù)。
雖然SAGAN中完全保留xi意在完全保留上采樣圖像特征,從而能夠生成更加逼真的虛擬圖像,但在領(lǐng)域適應(yīng)的任務(wù)中局部特征映射Gf(x)不是一定有利于分類的,即對于分類任務(wù)而言不需要完全保留,而是可以以一定的權(quán)重從中挑選有利于分類的部分,而該權(quán)重可以由神經(jīng)網(wǎng)絡(luò)自動擬合。本文從自注意力層的引入著手,在原始的自注意力模塊的輸出層引入1個新的學(xué)習(xí)參數(shù)δ,其初始值為1。類比于SAGAN中引入的γ參數(shù),引入δ意在初始時使用提取的局部特征映射來進行分類和判別,后續(xù)逐步使用更加完整的自注意力特征映射來取代一部分局部特征映射。這樣設(shè)計的原因在于,在領(lǐng)域適應(yīng)的分類任務(wù)中,局部特征映射雖然也有助于分類,但與自注意力特征映射混合并達成動態(tài)平衡后,可以進一步提高分類準(zhǔn)確率。同時,參數(shù)δ的引入能夠使得加入自注意力層以后,模型提取的特征數(shù)在總體上仍然保持相對穩(wěn)定,以此增加整體模型的健壯性。本文希望通過引入訓(xùn)練參數(shù)δ,使自注意力模塊能夠針對分類任務(wù),在整體特征映射和局部特征映射之間取得平衡,從而提高在領(lǐng)域適應(yīng)任務(wù)中的準(zhǔn)確率。而在計算成本方面,1個訓(xùn)練參數(shù)的引入也不會影響自注意力模塊的性能。
結(jié)合了改進的自注意力模塊的DANN的結(jié)構(gòu)如圖2所示。圖2中,X代表樣本集,Y代表類別標(biāo)簽集,DA代表領(lǐng)域標(biāo)簽集。?為矩陣乘法,x為輸入圖像,y為圖像標(biāo)簽,d為域標(biāo)簽。F層在原GAN中為生成器,在本文中為特征提取器,S為改進的自注意力模塊,C和D含義同DANN中一樣,分別為分類器和判別器。因為該模型需要作為推廣使用,所以對F,S,C,D4個部分進行了抽象,而不限制具體的實現(xiàn)。引入?yún)?shù)δ之后,S層和F層的輸出共同構(gòu)成了提取的混合特征映射。
Figure 2 DANN structure combined with improved self-attention module圖2 結(jié)合改進的自注意力模塊的DANN結(jié)構(gòu)圖
本文算法表達式如下所示:
(9)
(10)
為了驗證和比較算法的可行性和有效性,本文使用公開的數(shù)據(jù)集進行測試和分析。按照無監(jiān)督領(lǐng)域適應(yīng)的要求,所有目標(biāo)域?qū)⒕晌礃?biāo)注樣本組成,若無特別說明,均使用全部訓(xùn)練集。出于橫向比較的考慮,本文采用了多種常用的UDA圖像分類數(shù)據(jù)集,包括數(shù)字?jǐn)?shù)據(jù)集(MNIST、USPS、SVHN、Synthetic Numbers)、交通標(biāo)志數(shù)據(jù)集(Synthetic Signs、GTSRB)以及常見物體數(shù)據(jù)集(CIFAR-10、STL-10)。其中,數(shù)字?jǐn)?shù)據(jù)集都為0~9共10個數(shù)字。交通標(biāo)志數(shù)據(jù)集中則是交通法規(guī)中規(guī)定的總共43種常用交通標(biāo)志,如彎道、限速等。最后的常見物體數(shù)據(jù)集中則是例如飛機、鳥類等共9種常見的交通工具和動物。參照文獻[14]對數(shù)據(jù)集的處理,以顏色通道數(shù)為劃分依據(jù),將適應(yīng)任務(wù)分為2組,分別為單通道(Gray)和三通道(RGB)適應(yīng),共計6個任務(wù):MNIST→USPS,USPS→MNIST,SVHN→MNIST,Synthetic Numbers→SVHN,CIFAR-10→STL-10以及Synthetic Signs→GTSRB,其中前3個為單通道適應(yīng)任務(wù),其余為三通道適應(yīng)任務(wù)。以下為各數(shù)據(jù)集具體介紹:
(1)MNIST:領(lǐng)域適應(yīng)測試中最常用的手寫數(shù)字?jǐn)?shù)據(jù)集,訓(xùn)練集共包含60 000幅圖像。在與USPS的適應(yīng)任務(wù)中,按照文獻[11]中的訓(xùn)練方法,從訓(xùn)練集中隨機抽取20 000幅用作訓(xùn)練,而MNIST與SVHN的領(lǐng)域適應(yīng)學(xué)習(xí)任務(wù)中則使用全部的訓(xùn)練集。
(2)USPS:與MNIST類似的數(shù)字?jǐn)?shù)據(jù)集,訓(xùn)練集共包含20 000幅圖像。
(3)SVHN:從真實場景中收集并經(jīng)過簡單裁剪處理得到的32×32像素的數(shù)字?jǐn)?shù)據(jù)集,分類難度較大。訓(xùn)練集中共包含73 257幅圖像。
(4)Synthetic Numbers:數(shù)字?jǐn)?shù)據(jù)集。由于一般訓(xùn)練模型使用的是合成數(shù)據(jù),推廣到真實場景時不夠理想,為了解決這一問題,仿照SVHN創(chuàng)建了該人工數(shù)據(jù)集。
(5)Synthetic Signs:共包含43個交通標(biāo)志類別的數(shù)據(jù)集。與Synthetic Numbers類似,該數(shù)據(jù)集也是為了推廣模型而人工創(chuàng)建的,領(lǐng)域適應(yīng)的難度較大。
(6)GTSRB:常用于分類的43種大型交通標(biāo)志數(shù)據(jù)集,訓(xùn)練集共包含35 000幅像素在15×15~250×250的圖像。
(7)CIFAR-10:9種常見交通工具和動物數(shù)據(jù)集。為進行領(lǐng)域適應(yīng)任務(wù),參照文獻[15]的數(shù)據(jù)集處理方法,將其中的‘frog’類的樣本去除,使其與STL-10[16]近似。
(8)STL-10[16]:與CIFAR-10數(shù)據(jù)集類似的9種常見交通工具和動物數(shù)據(jù)集,同CIFAR-10的處理方法,將其中‘monkey’類的樣本去除,并按照CIFAR-10中的類標(biāo)簽對STL-10中的樣本進行重新標(biāo)注。
本文提出的結(jié)合自注意力模塊的領(lǐng)域適應(yīng)算法基于已有的算法模型DANN,在其基礎(chǔ)上引入了自注意力模塊,以改進其提取空間幾何特征的能力。為了對比的有效性,在參數(shù)設(shè)置上盡量保持相同。λ仍然保持為λ=2/(1+exp(-10·p))-1,其中p的初始值為0,隨著訓(xùn)練迭代逐步增加至1,其目的是在訓(xùn)練的初始階段加快特征提取器的訓(xùn)練速度,超參數(shù)λ僅與模型的收斂速度有關(guān),不影響模型的效果,也可以直接令λ=1。而自注意力模塊的參數(shù)則和SAGAN的盡量保持相同,γ為學(xué)習(xí)參數(shù),初始值為0。添加的學(xué)習(xí)參數(shù)δ,初始值為1。數(shù)據(jù)集方面,單通道的適應(yīng)任務(wù)中,圖像尺寸統(tǒng)一調(diào)整為28×28像素,并轉(zhuǎn)換為單通道灰度圖像。三通道適應(yīng)任務(wù)中,Synthetic Signs→GTSRB的圖像尺寸統(tǒng)一調(diào)整為40×40像素。Synthetic Numbers→SVHN的圖像尺寸統(tǒng)一調(diào)整為32×32像素。STL-10按照CIFAR-10中的圖像尺寸,調(diào)整為32×32像素。
從表1和表2中可以看出,引入了自注意力模塊以后,本文方法相較于原始的DANN在分類精度上取得了較大的提升。同時,從三通道分類實驗結(jié)果中也發(fā)現(xiàn),如果自注意力模塊不進行改進而直接引入到DANN中(簡稱為SA-DANN),分類的精度不是很穩(wěn)定,可能會出現(xiàn)分類精度下降的現(xiàn)象。對此可能的解釋為,自注意力模塊加入的同時也增加了模型的參數(shù)個數(shù)和深度,在完全保留特征映射Gf(x)的情況下,疊加的自注意力映射將會增加分類器的不穩(wěn)定性。不過從總體上看,自注意力模型的引入對于分類精度的提升還是有效的。這同時也證明了自注意力模型中引入新的學(xué)習(xí)參數(shù)使得局部特征映射和自注意力特征映射之間取得平衡時,分類效果更優(yōu)。因此,本文對于自注意力模型的改進是可行的。
Table 1 Single channel image classification accuracy表1 單通道圖像分類準(zhǔn)確率
Table 2 Three-channel image classification accuracy表2 三通道圖像分類準(zhǔn)確率
為了更為直觀地展現(xiàn)領(lǐng)域適應(yīng)的效果,本文將提出的結(jié)合自注意力模塊的對抗性領(lǐng)域適應(yīng)方法構(gòu)建得到的神經(jīng)網(wǎng)絡(luò)模型提取的域不變特征通過t-SNE[19]工具進行可視化處理。以USPS→MNIST 為例,從每個域隨機采樣少量樣本。圖3和圖4顯示了第1次領(lǐng)域適應(yīng)迭代和完成領(lǐng)域適應(yīng)后樣本的變化,其中“+”表示源域,“-”表示目標(biāo)域。從圖4中可以發(fā)現(xiàn),源域和目標(biāo)域的樣本經(jīng)過領(lǐng)域適應(yīng)后基本消除了方差偏移,表明本文方法具有優(yōu)秀的提取域不變特征的能力。
Figure 3 Sample distribution after the first iteration圖3 第1次迭代后的樣本分布
Figure 4 Sample distribution after domain adaptation has been completed圖4 已完成領(lǐng)域適應(yīng)后的樣本分布
本文深入分析了生成對抗網(wǎng)絡(luò)和領(lǐng)域適應(yīng)算法的相通性,領(lǐng)域適應(yīng)中逼近真實數(shù)據(jù)分布的任務(wù)與生成對抗網(wǎng)絡(luò)生成逼近真實的圖像在邏輯處理上基本相同。針對原始GAN中無法建模長距離依賴的不足,本文類比GAN的改進算法,通過引入自注意力模塊來對DANN中同樣存在的問題進行優(yōu)化??紤]到GAN算法的任務(wù)和領(lǐng)域適應(yīng)任務(wù)雖然類似,但本質(zhì)有所不同,本文對自注意力模塊進行了改進,使其不完全保留提取的局部特征映射,而是在局部特征映射和自注意力特征映射之間取得平衡。改進的自注意力模塊能夠提高分類任務(wù)的準(zhǔn)確率,同時不增加自注意力模塊的計算成本,更加適用于領(lǐng)域適應(yīng)任務(wù)。實驗選用公開的標(biāo)準(zhǔn)領(lǐng)域適應(yīng)數(shù)據(jù)集對本文提出的結(jié)合注意力模塊的對抗性領(lǐng)域適應(yīng)方法構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型進行測試和評估,通過對比其他算法和可視化提取到的共享特征,展示了方法的可行性和有效性。