劉曉龍,王士同
(1.江南大學(xué)人工智能與計(jì)算機(jī)學(xué)院,江蘇無(wú)錫 214122;2.江蘇省媒體設(shè)計(jì)與軟件技術(shù)重點(diǎn)實(shí)驗(yàn)室(江南大學(xué)),江蘇無(wú)錫 214122)
視覺識(shí)別方法的成功很大程度上源于它們?cè)诜诸惾蝿?wù)上的表現(xiàn),在訓(xùn)練時(shí)所有樣本的類都是已知的。標(biāo)準(zhǔn)的有監(jiān)督學(xué)習(xí)一般依賴于訓(xùn)練樣本和測(cè)試樣本來(lái)自相同的分布。但是這種假設(shè)在一些實(shí)際場(chǎng)景應(yīng)用中并不成立,因?yàn)樵趫D像采集樣本的過(guò)程中一般會(huì)出現(xiàn)數(shù)據(jù)集偏差[1-2]。比如在目標(biāo)識(shí)別中,由于給定條件,包括環(huán)境、位置和方向等的影響,得到的訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)之間的分布可能存在較大差異。減小跨域分布偏移的一個(gè)強(qiáng)有力的解決方法是域自適應(yīng)[3-5]。它的目標(biāo)是最小化源域和目標(biāo)域差異,提出了一種將相關(guān)知識(shí)從具有豐富標(biāo)記樣本的源域轉(zhuǎn)移到未標(biāo)記的目標(biāo)域的方法,可以成功地將源域訓(xùn)練的模型轉(zhuǎn)移到目標(biāo)域上。以往的方法大多假設(shè)源域和目標(biāo)域共享相同的標(biāo)簽,稱為封閉集域自適應(yīng)[6-9]。深度自適應(yīng)網(wǎng)絡(luò)(Deep Adaptation Network,DAN)結(jié)構(gòu)[10]將深度卷積神經(jīng)網(wǎng)絡(luò)推廣到域自適應(yīng)場(chǎng)景。在DAN 中,所有特定任務(wù)的層的隱藏表示都嵌入到一個(gè)可復(fù)制的內(nèi)核Hilbert 空間中,在這個(gè)空間中可以顯式匹配不同域分布的平均嵌入。采用均值嵌入匹配的多核優(yōu)化選擇方法,進(jìn)一步減小了域間的差異。這種封閉設(shè)置在實(shí)際應(yīng)用中仍然受到多種場(chǎng)景限制,因?yàn)槿绻麤]有目標(biāo)注釋可用,無(wú)法確定源域和目標(biāo)域是否共享相同的標(biāo)簽空間,在測(cè)試時(shí)出現(xiàn)未知類,即目標(biāo)域包含源域中不存在的“未知”類,如圖1 所示場(chǎng)景,這種情況給傳統(tǒng)域自適應(yīng)帶來(lái)了很大的挑戰(zhàn)。
因此,最近研究了一種更為現(xiàn)實(shí)的設(shè)置,即開放集域自適應(yīng)[6,11-13]。相較于封閉條件下的域自適應(yīng),它的關(guān)鍵在于:1)如何減小域間分布偏移的影響;2)封閉集方法將整個(gè)目標(biāo)域與源域進(jìn)行匹配,從而將未知類與源進(jìn)行匹配。目標(biāo)域中未知類的數(shù)據(jù)會(huì)使域自適應(yīng)模型的性能甚至低于未經(jīng)自適應(yīng)的模型,因此像以前那樣調(diào)整源域和目標(biāo)域的整個(gè)分布是有風(fēng)險(xiǎn)的,這種現(xiàn)象被稱為負(fù)遷移[14],負(fù)遷移的解決方案只是將已知的類與源域?qū)R。
幾種比較好的方法被提出來(lái)解決開放集域自適應(yīng)問題。迭代分配和轉(zhuǎn)換(Assign-and-Transform-Iteratively,ATI)[6]在源域中利用所有未知類樣本的均值模擬一個(gè)獨(dú)立的未知類別,符合源域到目標(biāo)域理論上類對(duì)齊的原則,進(jìn)行了迭代域自適應(yīng);模糊域自適應(yīng)[15]基于源域和目標(biāo)域的共享子空間對(duì)齊,通過(guò)計(jì)算目標(biāo)樣本模糊隸屬度的方法得到帶有隸屬度的偽標(biāo)簽,迭代更新源域到目標(biāo)域的模糊映射。之前有提出解決開放集域自適應(yīng)的算法,比如文獻(xiàn)[6,15]中的這兩種域自適應(yīng)方法都是研究基于樣本距離的度量以迭代地分配未知樣本,通過(guò)排除預(yù)測(cè)的未知目標(biāo)樣本來(lái)匹配源域和目標(biāo)域。Saito等[16]在2018 年提出了基于反向傳播的開集域(Open-Set BackPropagation,OSBP)自適應(yīng)算法,該算法假設(shè)源域私有標(biāo)簽空間中的樣本不存在或不可訪問,進(jìn)一步放寬了開集域自適應(yīng)的限制。反向傳播開集域自適應(yīng)使用了一種新的對(duì)抗性學(xué)習(xí)方法,該方法能夠訓(xùn)練特征生成器學(xué)習(xí)特征的表示,從而將目標(biāo)域?qū)儆谒接袠?biāo)簽空間的樣本從共享標(biāo)簽空間中分離。因此,解決開放集域自適應(yīng)方法的一個(gè)自然邏輯是在目標(biāo)域中分離已知類和未知類,只對(duì)已知類樣本進(jìn)行特征適配[17]。
在現(xiàn)實(shí)的模型訓(xùn)練過(guò)程中,不是通過(guò)一次或者幾次獲取訓(xùn)練樣本數(shù)據(jù)就可以使訓(xùn)練模型同時(shí)兼顧高準(zhǔn)確性和高魯棒性。在常見無(wú)人駕駛汽車領(lǐng)域,模型的訓(xùn)練必定是一次次加入訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)來(lái)進(jìn)行的。模型的穩(wěn)定性在上線之前,是逐步地收集新的錯(cuò)誤樣本信息,對(duì)下一代模型進(jìn)行更新完善。在真實(shí)的開放場(chǎng)景下,無(wú)人駕駛汽車和機(jī)器人在識(shí)別語(yǔ)音、圖像和視頻過(guò)程中會(huì)出現(xiàn)大量的錯(cuò)誤識(shí)別案例,這也為下一代模型的訓(xùn)練提供了更為有效的信息?;谶@個(gè)需求的輔助場(chǎng)景,本文提出了一種漸進(jìn)式分離的模糊域自適應(yīng)(Fuzzy Domain Adaptation via progressive Separation,SFDA)算法。其目標(biāo)是在域自適應(yīng)過(guò)程中,利用先驗(yàn)標(biāo)簽信息更新目標(biāo)域樣本對(duì)已知類的的模糊隸屬度,利用隸屬度閾值迭代逐步分離出未知類樣本,最大可能地只對(duì)已知類樣本進(jìn)行特征適配,學(xué)習(xí)源域到目標(biāo)域的線性映射,減小兩個(gè)域之間的分布差異帶來(lái)的影響。該算法的特點(diǎn)在于逐步分離未知類和域自適應(yīng)同時(shí)進(jìn)行。如圖2 所示,圖(a)給出了原始樣本和目標(biāo)樣本;圖(b)中未知的目標(biāo)域樣本干擾了分布匹配,此過(guò)程漸進(jìn)式分離出目標(biāo)域中未知類;圖(c)將已知的目標(biāo)樣本分類到正確的已知類中,將未知的目標(biāo)域樣本識(shí)別為未知類。
圖2 漸進(jìn)式分離開放集模糊域自適應(yīng)算法的過(guò)程描述Fig.2 Process description of open set fuzzy domain adaptation algorithm via progressive separation
利用模糊C 均值(Fuzzy C-means,F(xiàn)CM)聚類算法[19-20]的主要思想,計(jì)算目標(biāo)域樣本到源域類別中心的距離來(lái)得到一個(gè)模糊隸屬矩陣,來(lái)反映樣本點(diǎn)屬于某一類別的隸屬程度,判斷樣本點(diǎn)屬于某一類。ucj(k)表示第k次迭代中樣本屬于第c類的隸屬度。
定義樣本的分配距離代價(jià)函數(shù):
使用拉格朗日乘法對(duì)式(3)進(jìn)行求解,得到隸屬度如式(4):
設(shè)定帶先驗(yàn)信息的子集Pt中所有樣本對(duì)每一類已知類隸屬度的均值mean作為閾值,將目標(biāo)域中的未知類分離。更新目標(biāo)域中未知類樣本的隸屬度:
選取每個(gè)樣本對(duì)已知類別Cs最大隸屬度,其他設(shè)置為0,起到了分配偽標(biāo)簽的效果。ucj′(k)表示第k次迭代中樣本偽標(biāo)記為c類的最大模糊隸屬度,如果ucj′=0 表示樣本沒有分配到第c類別。
為防止產(chǎn)生負(fù)遷移,目標(biāo)是將目標(biāo)域中未知類樣本逐步分離出來(lái)。只對(duì)已知類樣本進(jìn)行特征適配,學(xué)習(xí)源域到目標(biāo)域的特征映射,進(jìn)行模糊域自適應(yīng),減小了在遷移學(xué)習(xí)過(guò)程中由于域之間差異所帶來(lái)的影響。
為減小源域和目標(biāo)域之間的分布差異,將源域和目標(biāo)域轉(zhuǎn)化到相同的特征空間,需要用映射函數(shù)W(k)∈Rd*d來(lái)完成這個(gè)轉(zhuǎn)化。在學(xué)習(xí)這個(gè)映射過(guò)程中,選取每個(gè)樣本在隸屬矩陣最大隸屬度ucj′(k),表示第k次迭代中樣本為第c類的最大模糊隸屬度。若ucj′=0 表示樣本沒有分配到第c類別,那么將拒絕這個(gè)樣本參與學(xué)習(xí)映射函數(shù)W(k)。域自適應(yīng)的基本策略是減小跨域之間的差異,為子空間學(xué)習(xí)源域到目標(biāo)域的映射關(guān)系,最小化損失函數(shù)來(lái)估計(jì)映射W(k):
用最小二乘法求凸函數(shù)的最優(yōu)解,對(duì)目標(biāo)函數(shù)求偏導(dǎo)且等于0:
在第k次轉(zhuǎn)換后新的源域數(shù)據(jù)Dsnew(k)上訓(xùn)練線性支持向量機(jī)(Support Vector Machine,SVM)分類器,生成新的分類器,更新最終目標(biāo)域樣本的分類標(biāo)簽L∈。
利用最小化目標(biāo)域樣本到源域已知類別中心的距離,得到每個(gè)目標(biāo)域樣本的隸屬度ucj(k),完成對(duì)所有樣本實(shí)例的標(biāo)簽的初步分配,每個(gè)樣本得到一個(gè)帶有隸屬度的偽標(biāo)簽。利用先驗(yàn)條件信息逐步分離出目標(biāo)域的未知類樣本,更新樣本標(biāo)簽L∈Rnt。為減小由于錯(cuò)位適配而導(dǎo)致的負(fù)遷移影響,僅將已知類源域和目標(biāo)域的共享子空間對(duì)齊。每次迭代都會(huì)更新一個(gè)源域到目標(biāo)域的模糊映射函數(shù)W(k),將源域和目標(biāo)域的樣本特征變換到相同的空間,利用轉(zhuǎn)化后的源域數(shù)據(jù)Ds
new(k)訓(xùn)練分類器,更新樣本標(biāo)簽L∈Rnt。實(shí)驗(yàn)設(shè)定了一個(gè)最大迭代次數(shù)K=10,選擇迭代持續(xù)過(guò)程中精度不再發(fā)生變化或者超過(guò)最大迭代次數(shù)之前的最優(yōu)精度作為最終分類結(jié)果。本文所提的SFDA算法的步驟如算法1所示。
算法1 SFDA。
輸入 樣本數(shù)據(jù)集Ds=,最大迭代次數(shù)K;
輸出 隸屬度矩陣U(k),線性映射函數(shù)W(k),最終分類精度。
步驟1 初始化樣本標(biāo)簽L∈Rnt為零向量。
步驟2 逐漸分離未知類:
步驟2.1 根據(jù)式(2)得到dcj(k);
步驟2.2 根據(jù)式(3)~(4)得到隸屬矩陣U(k);
步驟2.3 根據(jù)式(5)~(6)更新隸屬矩陣U(k),得到分離出的未知類,更新最終標(biāo)簽L。
步驟3 根據(jù)式(7)~(9)更新特征映射函數(shù)W(k)。
步驟4 根據(jù)式(10)將源域和目標(biāo)域轉(zhuǎn)化到相同的空間中。
步驟5 在轉(zhuǎn)換后的源域Dsnew(k)上訓(xùn)練分類器,更新標(biāo)簽L,逐漸分離出所有未知類。
步驟6 判斷當(dāng)前是否為滿意精度,若是,則返回步驟1,令k=k+1 循環(huán)繼續(xù);若否,且k超過(guò)K,則循環(huán)停止,輸出前K次迭代中的最優(yōu)精度。
通過(guò)具體的實(shí)驗(yàn)數(shù)據(jù)集驗(yàn)證所提SFDA 算法的性能,在常用的Office 數(shù)據(jù)集[21]上做了圖像的分類實(shí)驗(yàn),并且根據(jù)預(yù)先設(shè)定好的開放集協(xié)議[6],在相同的實(shí)驗(yàn)參數(shù)環(huán)境下,與經(jīng)典的域自適應(yīng)算法做了對(duì)比。
在Office 數(shù)據(jù)集[21]上對(duì)本文算法進(jìn)行評(píng)估和比較。實(shí)驗(yàn)提供了三個(gè)不同的領(lǐng)域,即Amazon(A)、DSLR(D)和Webcam(W)。Amazon 數(shù)據(jù)集包含白色背景上的中心對(duì)象,其他兩個(gè)包含在辦公環(huán)境下拍攝的不同質(zhì)量級(jí)別的照片??偣灿? 個(gè)源域-目標(biāo)域的31 個(gè)公共類的組合,有6 個(gè)領(lǐng)域組合轉(zhuǎn)換(A→D,A→W,D→A,D→W,W→A,W→D)可以進(jìn)行實(shí)驗(yàn)驗(yàn)證,從AlexNet模型的全連通層(fc7)中提取特征向量[20-21]。為了與此前研究的模糊域自適應(yīng)[15]進(jìn)行銜接和對(duì)比,這次實(shí)驗(yàn)選擇文獻(xiàn)[15]中數(shù)據(jù)集的設(shè)定,將Caltech 數(shù)據(jù)集[22]與Office數(shù)據(jù)集[21]的10個(gè)相同類別作為共享類,源域未設(shè)定任何未知類,類21~31作為目標(biāo)域中的未知樣本類。
實(shí)驗(yàn)設(shè)定選擇最大迭代次數(shù)K=10;對(duì)于正則參數(shù)α的調(diào)整,在實(shí)驗(yàn)過(guò)程中,在[2-5,25]范圍中以2 為步長(zhǎng)尋求最優(yōu)解。使用線性核函數(shù)訓(xùn)練SVM 分類器,有比較好的軟間隔優(yōu)化[23-24],因此基于先前的懲罰因子系數(shù)的選擇,也為了更好地進(jìn)行實(shí)驗(yàn)對(duì)比并保障實(shí)驗(yàn)的真實(shí)公平性,選取C=0.0001 為實(shí)驗(yàn)中所有基線算法和對(duì)比算法的懲罰因子系數(shù)。
為了探究算法的有效性,在封閉條件下將本文算法與以下深度神經(jīng)網(wǎng)絡(luò)算法進(jìn)行比較,更能體現(xiàn)模糊域自適應(yīng)算法的優(yōu)越性:
1)CovNetsrc是在源域樣本上訓(xùn)練,目標(biāo)域上進(jìn)行測(cè)試的AlexNet網(wǎng)絡(luò)算法。
2)DAN[10]通過(guò)保留前3 個(gè)卷積層,微調(diào)后2 個(gè)卷積層,并通過(guò)最小化兩個(gè)域之間的差異來(lái)學(xué)習(xí)每個(gè)完全連接層的權(quán)值,從而重新訓(xùn)練了AlexNet模型。
3)域?qū)股窠?jīng)網(wǎng)絡(luò)(Domain-Adversarial Neural Network,DANN)[8]:在特征層后加入了一項(xiàng)最大均值差異(Maximum Mean Discrepancy,MMD)適配層,用來(lái)計(jì)算源域和目標(biāo)域的距離,并將其加入網(wǎng)絡(luò)的損失中進(jìn)行訓(xùn)練,通過(guò)生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)的思想來(lái)實(shí)現(xiàn)源域和目標(biāo)域的不可區(qū)分性。
根據(jù)文獻(xiàn)[6,16-17]的基線對(duì)比準(zhǔn)則,同樣使用線性核函數(shù)訓(xùn)練SVM 分類器作為基線算法,并且也與當(dāng)前先進(jìn)傳統(tǒng)的域自適應(yīng)算法做了比較。最小化源域和目標(biāo)域的二階統(tǒng)計(jì)特征關(guān)聯(lián)對(duì)齊(CORrelation ALignment,CORAL)算法[9]實(shí)驗(yàn)用k近鄰分類器,設(shè)置近鄰k=1;測(cè)地線流式核(Geodesic Flow Kernel,GFK)方法[25],實(shí)驗(yàn)中利用子空間分歧度量和貪心算法求得這次實(shí)驗(yàn)中的最優(yōu)子空間維度;轉(zhuǎn)移均衡的分布式適應(yīng)(Balanced Distribution Adaptation,BDA)算法參考文獻(xiàn)[4]中的設(shè)置,實(shí)驗(yàn)使用線性核,平衡因子μ=1,循環(huán)次數(shù)為10。通過(guò)算法分類效果的比較可知,本文所提SFDA 算法在封閉集條件下仍然要比深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的模型效果更好,相較于此前表現(xiàn)較好的CORAL[9]、GFK[25]、BDA[4]等算法,其效果提升也更加顯著。
封閉集條件下的域轉(zhuǎn)化實(shí)驗(yàn)結(jié)果如表1 所示,可以得到,對(duì)于包含Amazon 數(shù)據(jù)集,跨度較大領(lǐng)域組合轉(zhuǎn)換(A→D,A→W,D→A,W→A)改進(jìn)的幅度更為明顯。相較于SVM,SFDA的精度在Amazon 到DSLR 的封閉數(shù)據(jù)集上提升了11.46 個(gè)百分點(diǎn);在Amazon 到Webcam 上有11.55 個(gè)百分點(diǎn)這樣較大幅度的提升。從小樣本域到大樣本域的域轉(zhuǎn)化過(guò)程也有較顯著的提升效果,并且提升幅度很大,SFDA 算法相較SVM 于而言,在DSLR 和Webcam 兩個(gè)數(shù)據(jù)集到Amazon 的域轉(zhuǎn)化上分別提升了11.8個(gè)百分點(diǎn)和14.97個(gè)百分點(diǎn)。小樣本域(D,W)之間的遷移提升幅度不是特別明顯,但也有不錯(cuò)的效果。在Office 數(shù)據(jù)集[21]上,SFDA 算法的精度相較于SVM 在封閉集合協(xié)議下平均提升了9.08 個(gè)百分點(diǎn)。同時(shí),相較于深度神經(jīng)網(wǎng)絡(luò)算法DAN 和其他域自適應(yīng)學(xué)習(xí)算法,SFDA 算法的精度提升幅度也較為顯著。
表1 封閉集條件下6個(gè)Office數(shù)據(jù)集域轉(zhuǎn)化實(shí)驗(yàn)的精度對(duì)比 單位:%Tab.1 Accuracy comparison of 6 Office dataset domain transformation experiments under close-set condition unit:%
在現(xiàn)實(shí)場(chǎng)景的應(yīng)用中,開放程度可能會(huì)有很大的變化,并且在訓(xùn)練之前是無(wú)法得到這樣的信息的。由于未知類的特殊性會(huì)導(dǎo)致參數(shù)選擇的困難[6],并加劇負(fù)遷移。因此,一個(gè)具有開放性且魯棒性較強(qiáng)的模型,再加上一個(gè)自動(dòng)的已知/未知類分離機(jī)制,才能有效地解決開放集域自適應(yīng)問題。新場(chǎng)景下,為了驗(yàn)證算法模型的魯棒性,在6 個(gè)不同的開放程度上都進(jìn)行了實(shí)驗(yàn)。在Θ=(0.2,0.4,0.5,0.6,0.8,1.0)上分別進(jìn)行本文算法有效性的驗(yàn)證,每次實(shí)驗(yàn)進(jìn)行5 次,然后取平均精度和標(biāo)準(zhǔn)偏差,結(jié)果如表2 所示。在設(shè)定目標(biāo)域中的未知類中隨機(jī)抽取類別數(shù)來(lái)決定的數(shù)量。
表2 不同開放性時(shí)6個(gè)Office數(shù)據(jù)集域轉(zhuǎn)化實(shí)驗(yàn)精度的均值和方差 單位:%Tab.2 Means and variances of accuracies of 6 Office dataset domain transformation experiments with different open degrees unit:%
為了驗(yàn)證實(shí)驗(yàn)真實(shí)性,基于Θ=1.0 時(shí)的6 個(gè)域轉(zhuǎn)化過(guò)程,對(duì)算法每次迭代引起的精度變化情況也做了可視化處理,如圖3 所示,實(shí)驗(yàn)在迭代10 次的過(guò)程中都可以收斂并且得到了較好的效果。
圖3 在開放性Θ=1.0的過(guò)程中算法每次迭代的精度變化Fig.3 Algorithm accuracy in each iteration with process of open degree Θ=1.0
從表2 可以看出,本文算法在不同開放程度的數(shù)據(jù)集設(shè)定下都有很強(qiáng)的魯棒性,驗(yàn)證了漸進(jìn)式分離未知類的域自適應(yīng)算法的有效性。由于設(shè)定的目標(biāo)域中未知類樣本的數(shù)量比較多,6個(gè)域轉(zhuǎn)化在精度上都是比較理想的。同樣,在Θ=0.2和Θ=1.0時(shí)也相差不大,也夠能表明本文算法的可實(shí)施性和有效性。當(dāng)然,開放程度越小,標(biāo)準(zhǔn)偏差越小,這也符合本文實(shí)驗(yàn)的猜想。利用逐漸分離未知類的機(jī)制訓(xùn)練分類器,在開放性變化時(shí)都可以穩(wěn)定地執(zhí)行。
本文提出用一個(gè)新的獨(dú)立域自適應(yīng)模型來(lái)解決領(lǐng)域適應(yīng)的關(guān)鍵挑戰(zhàn)——開放集域自適應(yīng)。該模型以漸進(jìn)分離機(jī)制將未知類逐漸分離出來(lái),并在源域和目標(biāo)域之間匹配已知類樣本的特征。在開放場(chǎng)景下,模型的每一代更新都需要更多的先驗(yàn)條件信息,在此設(shè)定的特殊場(chǎng)景下,目標(biāo)域樣本的部分樣本有上一代模型訓(xùn)練出來(lái)的先驗(yàn)已知類的信息,為更新下一代模型提供了更有效的條件,是一個(gè)模型趨近完善經(jīng)歷的一個(gè)階段性過(guò)程。在不同的基準(zhǔn)數(shù)據(jù)集上驗(yàn)證了所提的漸進(jìn)式分離未知類的模糊域自適應(yīng)模型在不同的域差異下具有魯棒性和開放集域自適應(yīng)能力。