張慶亮,朱松豪
(南京郵電大學 自動化學院、人工智能學院,江蘇 南京 210023)
目前,深度卷積神經(jīng)網(wǎng)絡被廣泛用于解決許多計算機視覺任務,并顯著提高了性能。但是,訓練一個有效的深度卷積網(wǎng)絡模型需要大量帶標簽的樣本,這需要消耗大量的人力物力財力,因此通常難以獲得這樣的數(shù)據(jù)。這種缺陷阻礙了深度神經(jīng)網(wǎng)絡在圖像任務中的進一步發(fā)展,尤其是在醫(yī)學圖像等標注樣本極為稀缺的領(lǐng)域[1-2]。當標注樣本稀缺時,來自分布不同但語義相關(guān)的數(shù)據(jù)集樣本對模型訓練很有幫助,但由于不同數(shù)據(jù)集的分布不同,直接用其進行訓練會產(chǎn)生“域移位”現(xiàn)象[3]。為解決該問題,域自適應方法被廣泛研究[4]。在域自適應問題中,將未標記的數(shù)據(jù)集稱為目標域,已標記的數(shù)據(jù)集稱為源域。在本文的設定中,目標域樣本的標簽信息完全未知,因此,可視為無監(jiān)督問題?,F(xiàn)有的域自適應方法大多屬于閉集域自適應[5-9],即源域和目標域的類別完全重合,但在實際應用中,目標域樣本可能是源域中未出現(xiàn)過的類別,即“未知類別”。這個問題被稱為開集域自適應[10],如圖1所示。由于“未知類別”的信息完全未知,因此開集域自適應比傳統(tǒng)的閉集域自適應問題更具挑戰(zhàn)性。
圖1 兩種域自適應
本文在文獻[11]的基礎(chǔ)上,提出了一個新的方法,使用了奇異值平衡策略和基于對抗思想的域?qū)R方法。文獻[12]的研究表明,在遷移學習過程中,模型的遷移性得到增加,但同時也導致了奇異值分布的不平衡。深度網(wǎng)絡在遷移學習過程中會損失一定的可辨別性,而模型的可辨別性越高,意味著預測的準確性越高。這種現(xiàn)象的內(nèi)在原因是較大奇異值對應的向量決定了模型的可遷移性,同時遷移學習過程中會抑制較小的奇異值,懲罰對應的向量。然而,這些被懲罰的向量對模型的可辨別性也至關(guān)重要,因此,模型的可辨別性會下降。該文獻通過抑制最大的奇異值來實現(xiàn)奇異值分布的平衡,從而在提高遷移性的同時盡可能確保較高的可辨別性。由于特征值的大小會影響模型預測的準確性,因此在保持奇異值平衡的同時,我們盡可能增加奇異值的大小。此外,本文通過設置合理的閾值,避免了目標域中未知類別的特征對齊;同時,通過對抗性訓練實現(xiàn)源域和目標域中已知類別的特征分布對齊。在此基礎(chǔ)上,源域和目標域同類別樣本間的偏差進一步縮小,且模型的可辨別性進一步得到增強。
在過去的幾年中,域自適應已成為計算機視覺領(lǐng)域中一個非常火爆的問題[13]。通過域自適應,可以實現(xiàn)不同域之間的知識轉(zhuǎn)移,從而減少大量不同域圖像的標記成本。由于不同域間的特征分布不同,在源域上訓練的分類器直接在目標域上進行測試,性能會有較大下降。解決該問題的一個有效方法是確保源域樣本和目標域樣本的分布盡可能相似,其目的是獲取域不變特征?;谶@種觀點,對抗生成網(wǎng)絡思想越來越多地應用于域自適應研究中[14]。對抗生成網(wǎng)絡訓練鑒別器來識別輸入樣本的真實性,并利用生成器生成假樣本欺騙鑒別器。與之類似,近年來出現(xiàn)了許多采用對抗思想的域自適應模型,例如文獻[15-18]提出的方法。在這些方法中,鑒別器用于區(qū)分圖片是來自源域還是目標域,生成器用于特征提取。
雖然這些方法取得了很大成功,但它們最基本的假設是源域和目標域共享完全相同的類別,即閉集域自適應。一旦目標域中含有源域中未出現(xiàn)的類別,這些方法的性能會出現(xiàn)很大的下降。
由于開集域自適應的設定更加接近真實場景,因此逐漸受到研究人員重視。開集域自適應的目標域中包含源域中不存在的類別,其最終目的是對已知類別進行正確分類的同時,識別出所有未知類樣本。最近一些研究者提出了幾種方法來解決該問題。例如,文獻[10]通過每個目標樣本的特征與每個源類別特征的中心距離,來確定目標樣本是屬于已知類別還是未知類別。文獻[11]通過二分類對抗訓練,實現(xiàn)未知樣本的檢測。文獻[19]通過多二進制分類器實現(xiàn)未知樣本的識別,并對齊兩個域的特征分布。文獻[20]使用支持向量機獲得的概率值,實現(xiàn)目標域中未知樣本的識別和剔除。文獻[21]利用對抗生成網(wǎng)絡生成未知類樣本,并用其訓練神經(jīng)網(wǎng)絡。此外,文獻[22]從半監(jiān)督學習中得到啟發(fā),提出了學生和教師兩個子網(wǎng)絡的自嵌入方法,在開集域自適應中也表現(xiàn)出了很好的效果。
要解決開放集域自適應問題,須準確區(qū)分已知樣本和未知樣本;同時,也要對齊源域和目標域中所有已知類別樣本的特征分布,以消除域間的偏差。
圖2給出本文提出的域自適應方法,具體而言:首先,將樣本輸入由卷積神經(jīng)網(wǎng)絡和全連接層構(gòu)成的特征生成器G中,其中fs、ft和fkt分別表示生成器G從源域、目標域和目標域中的已知類別提取的特征;然后,標簽預測器將這些樣本分為K+1個類別,其中K表示已知類別的數(shù)量,而第K+1個類別表示僅在目標域中存在的未知類別,同時利用p(xsi|ysi)=C{G(θg,xsi),θc}(θg表示特征生成器G的參數(shù),θc表示分類器Cy的參數(shù))表示每個目標域樣本被識別為相應類別的概率;接下來,通過對抗訓練獲得域不變特征;此外,通過提高樣本特征矩陣中較小的奇異值,提升對應特征向量的重要性,從而提高模型的可辨別性。
圖2 本文提出的改進的域自適應方法
具體訓練過程如下所述。首先,將源域中的帶標簽樣本進行正確分類,此時源域中的分類損失函數(shù)LS應最小,對應的公式如下
之后,在目標域中的已知類別和未知類別之間建立邊界。類似于文獻[11],這里將未知類別的概率設置為β用于訓練分類器,并通過訓練特征生成器提高分類器的性能。最終的輸出可視為一個二分類任務,也即Cy識別的所有K個已知類別的概率之和,與第K+1個類別即未知類別的概率。二者通過對抗訓練,相互博弈。具體來說,生成器通過增加或減小未知類別的概率使得K+1類的輸出偏離β,從而增大分類器的誤差,此時分類器需要使得第K+1類的輸出概率接近β,以減小分類器誤差。如果生成器選擇增加未知類別的概率β,這意味著將樣本識別為未知類別,否則識別為已知類別。通過上一步對源域中標簽樣本的訓練,網(wǎng)絡已具備了一定的辨別能力,經(jīng)過多次迭代,最終可正確識別出未知類別。因此,Ladv使用二分類交叉熵損失,公式如下
其中,xt表示目標域的樣本,p(xt|y=K+1)表示樣本xt屬于第K+1個類別的概率,β為未知類設置的一個超參數(shù),這里將β設置為0.5,以達到在目標域中分離未知類別樣本的目的。
通過之前的研究,可以知道特征的可遷移性主要取決于較大奇異值對應的向量。對于域自適應,可遷移性的增加將導致奇異值分布的不平衡,這將對網(wǎng)絡的可辨別性產(chǎn)生不良影響。此外,可遷移性的增強是通過犧牲其他相對較小奇異值對應的向量為代價實現(xiàn)的,這些向量具有不同的信息,對準確識別發(fā)揮著至關(guān)重要的作用。文獻[23]通過最大化矩陣核范數(shù)提高了標簽預測矩陣的可分辨性和多樣性。本文中,通過使用奇異值分解獲得較小的奇異值并增加它們,一方面減小對最大奇異值的影響,保持特征的可遷移性;另一方面相當于間接減小最大奇異值,平衡奇異值的分布,提高特征的可辨別性。對應的公式如下
其中,δsi和δti分別表示源域特征矩陣fS和目標域特征矩陣ft中第i大的奇異值。例如,δs1為源域特征矩陣最大的奇異值,δsn則表示源域特征矩陣第n大的奇異值,n的取值一般為批訓練大小。此外,由于源域和目標域的差異性,對源域和目標域單獨進行奇異值分解操作。
由于不同域中樣本特征的分布不同,因此,提取兩個域的共同特征變得至關(guān)重要,這也是實現(xiàn)域自適應的關(guān)鍵?;趯顾枷氲奶卣鲗R,通過特征提取器和域辨別器的相互對抗,學習到域不變特征。如果不考慮目標域中的未知類別,直接進行域不變特征的提取,最后強行將兩個域的特征分布對齊,會造成已知類與未知類的不匹配,模型的性能會下降,造成負遷移。因此,要先對目標樣本進行篩選,剔除其中的未知類別。具體而言,首先獲得目標樣本xt預測為各個類別,即K+1類的概率。如果概率最大的類別是已知類別,且概率值大于預設閾值P,則將該樣本標記為目標域中的已知類別,對應的公式如下
之后,將源域樣本和目標域中識別為已知類別的樣本輸入特征生成器G,再將生成的特征輸入給域標簽鑒別器Cd。為獲得域不變特征,特征生成器G需最大化域辨別誤差Ld,域鑒別器Cd則要最小化域分類誤差Ld,公式如下其中,Lbce表示二分類交叉熵損失,θg和θd分別表示特征生成器G和域標簽鑒別器Cd的網(wǎng)絡參數(shù),訓練樣本xi來自源域或目標域中的已知類別xkt,yd表示相應的域類別標簽(1或0)。 利用式(5)中的最后兩個公式分別更新特征生成器的參數(shù)θg和域鑒別器的參數(shù)θd。 為有效計算梯度和更新參數(shù),這里使用了梯度反轉(zhuǎn)層。因此,網(wǎng)絡最終的損失函數(shù)計算公式為
其中,λ設置為2。因此,網(wǎng)絡參數(shù)的訓練目標如下
利用Office-31和Visda-2017兩個公開數(shù)據(jù)集評估本文所提方法的性能,并與其他一些最新的開集域自適應方法進行比較。為證明本文所提方法的有 效 性,分 別 使 用 AlexNet[24]、ResNet-50[25]和VGG[26]作為特征提取網(wǎng)絡,并利用ImageNet[27]的預訓練模型作為初始神經(jīng)網(wǎng)絡參數(shù),同時在網(wǎng)絡中加入批量歸一化和Leakly-ReLU層。對于網(wǎng)絡參數(shù)的更新,選用了帶動量的隨機梯度下降更新策略,學習率設為1.0×10-3,動量設為0.9。
此外,將所有類別的平均準確率表示為OS,已知類別的平均準確率表示為OS*,目標域中未知類的準確率表示為UNK。
Office-31[28]是域自適應領(lǐng)域的一個標準數(shù)據(jù)集。該數(shù)據(jù)集共有三個域:Amazon(A),Webcam(W)和DSLR(D)。它總共包含來自31個類別的4 652張圖像,圖3(a)展示了其中的一些圖片樣本。按照文獻[10]提出的數(shù)據(jù)集劃分,這里使用其中10個與Caltech數(shù)據(jù)集[29]重疊的類別樣本作為已知類別樣本;之后按照字母順序,將第21至31類別樣本作為目標域中的未知樣本。由于本次實驗目的是將目標域樣本正確分類為10個已知類和一個未知類,因此這里丟棄了第11至20類別。為公正地評估本文所提方法的性能,這里采用了文獻[11]中的實驗設置。在該數(shù)據(jù)集上,使用Alexnet和Resnet-50作為網(wǎng)絡的特征提取器,且將提取的特征輸入兩個全連接層后,分別送入標簽預測器和域辨別器進行訓練。由于Resnet-50具有更深的網(wǎng)絡結(jié)構(gòu),因此表現(xiàn)出了更好的性能。實驗結(jié)果如表1所示,這是600個epoch之后的結(jié)果。由于該數(shù)據(jù)集不同域之間的語義信息和分布比較接近,因此域間差異相對較小,準確率也較高。
表1 Office-31數(shù)據(jù)集上的準確率 %
VisDA-2017[33]是一個大型的域自適應挑戰(zhàn)數(shù)據(jù)集。該數(shù)據(jù)集共有兩個域(合成域和真實域),每個域包含12個類別,其中,作為源域的“合成域”約有15萬張圖片,這些圖片為從不同角度和不同光線對3D合成對象截取的2D圖像,作為目標域的“真實域”約有5萬張真實場景下的圖片。圖3(b)展示了其中的一些圖片樣本。根據(jù)文獻[11]中的實驗設置,這里將目標域中的六個類設置為未知類,且在訓練過程中將源域中的這六個類別的圖片剔除,不讓它們參加訓練。VisDA-2017數(shù)據(jù)集與實際應用場景更加吻合,該數(shù)據(jù)集具有更大的“域間距”,即可從語義相關(guān)的標記樣本域中獲取有價值的信息。實驗結(jié)果表明,本文所提方法在總體性能上要優(yōu)于其他一些方法。在本次實驗中,由于訓練樣本較多,因此選擇VGG作為特征提取網(wǎng)絡(特征生成器)。VGG提取的特征會經(jīng)過三個全連接層,然后進入標簽預測器和鑒別器部分。在此次實驗中,批訓練大小設置為32。表2表示15個epoch之后的實驗結(jié)果。
表2 VisDA數(shù)據(jù)集上的準確率 %
本次實驗也探究了β對實驗結(jié)果的影響。不同的β值,OS、OS*和UNK的實驗結(jié)果如圖4所示。從圖4所示結(jié)果可以清楚看到,隨著β值的增大,OS和OS*不斷減小,而UNK卻在不斷增大。未知類別的準確性和β值具有相同的趨勢,這與文獻[11]的結(jié)論是相似的。當β取0.5時,模型總體性能較為均衡。
圖4 不同β值下實驗結(jié)果的變化(A→D)
本文通過使用奇異值平衡和基于對抗思想的特征對齊,提高了開集域自適應的性能。在樣本特征矩陣中提升了較小的奇異值,以獲得更多信息用于提高特征的可辨別性;同時,采用對抗學習的思想,對齊了源域和目標域中已知類別的特征分布,獲得域不變特征。實驗結(jié)果表明,本文所提方法可有效提高開集域自適應的性能。