戴 宏 盛立杰 苗啟廣
(西安電子科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院 西安 710071) (西安市大數(shù)據(jù)與視覺智能關(guān)鍵技術(shù)重點實驗室(西安電子科技大學(xué)) 西安 710071)
近年來,隨著卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNNs)的出現(xiàn)和不斷發(fā)展,許多分類問題已經(jīng)以極高的精確度被解決.這些基于深度學(xué)習(xí)的算法模型在大規(guī)模數(shù)據(jù)集上進(jìn)行訓(xùn)練時,被期望能夠?qū)W習(xí)到一類事物在不同任務(wù)中的通用表示,即事物的表征不變性(invariance of representation).但在實際應(yīng)用中,卷積神經(jīng)網(wǎng)絡(luò)受限于訓(xùn)練用的數(shù)據(jù)集尺寸和樣本的豐富性,很難提取到足夠多的信息以構(gòu)建樣本的表征,因此,這些經(jīng)過訓(xùn)練的模型往往無法精確指出同一事物在不同表現(xiàn)形式下的含義.
典型的解決方案是在基于特定任務(wù)的數(shù)據(jù)集上進(jìn)一步微調(diào)這些卷積神經(jīng)網(wǎng)絡(luò)模型.然而,要獲得足夠多的標(biāo)記數(shù)據(jù)來適當(dāng)?shù)匚⒄{(diào)這些卷積神經(jīng)網(wǎng)絡(luò)模型,所需要的成本往往是非常昂貴的.例如,手動進(jìn)行新數(shù)據(jù)集的標(biāo)記和對海量權(quán)重參數(shù)的調(diào)整等,都會花費大量的時間.為了解決這個問題,作為遷移學(xué)習(xí)的子研究領(lǐng)域,域適應(yīng)方法通過將基于源域訓(xùn)練的模型遷移到與目標(biāo)域相近的公共表示區(qū)域,以期用最小的代價和基于有限的數(shù)據(jù)樣本完成從源域到目標(biāo)域乃至開放域的機器學(xué)習(xí)任務(wù).在機器學(xué)習(xí)的發(fā)展過程中,這一概念經(jīng)由Donahue等人[1]引入到深度學(xué)習(xí)領(lǐng)域,并在Yosinski等人[2]的工作中得到了進(jìn)一步的發(fā)展.
對抗判別域適應(yīng)(adversarial discriminative domain adaptation,ADDA)[3]算法是這類方法中最為經(jīng)典的算法之一.這種算法巧妙地利用了生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN)[4]的思想,通過對域判別器的對抗性訓(xùn)練來最小化域間差異距離(domain discrepancy distance)[5-6],以完成模型的域間遷移.
除此之外,近年來對神經(jīng)網(wǎng)絡(luò)可解釋性的研究表明[7-8],提升卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力,也能有效提高卷積神經(jīng)網(wǎng)絡(luò)在分類問題中的性能.在此基礎(chǔ)上,受到膠囊網(wǎng)絡(luò)(capsule network,Caps-Net)[8-9]在捕獲樣本的表征不變性上具有較強能力的啟發(fā),本文通過將ADDA與膠囊網(wǎng)絡(luò)進(jìn)行結(jié)合,提出一種基于膠囊網(wǎng)絡(luò)的對抗判別域適應(yīng)算法.
另一方面,現(xiàn)有研究表明,通過大量堆疊膠囊層以期提升膠囊網(wǎng)絡(luò)特征提取性能的做法,會導(dǎo)致中間層的學(xué)習(xí)性能變差[10-11].這是由于當(dāng)網(wǎng)絡(luò)中存在大量膠囊結(jié)構(gòu)時,層間權(quán)重系數(shù)過小,抑制梯度的傳遞過程和學(xué)習(xí)速率,并造成模型參數(shù)量的幾何級膨脹,易發(fā)生過擬合現(xiàn)象.本文將殘差網(wǎng)絡(luò)與膠囊網(wǎng)絡(luò)相結(jié)合,使其能夠用于構(gòu)建更深的網(wǎng)絡(luò)結(jié)構(gòu),并能結(jié)合膠囊網(wǎng)絡(luò)的特性,成對地捕獲淺層特征.殘差結(jié)構(gòu)將改善單純疊加網(wǎng)絡(luò)層數(shù)所導(dǎo)致的梯度消失問題,而更深的網(wǎng)絡(luò)有利于進(jìn)一步提取樣本的特征.
在對特征提取網(wǎng)絡(luò)進(jìn)行強化后,本文在ADDA算法的固有缺陷上亦做出了改進(jìn).就像大多數(shù)GAN的變體一樣,ADDA所采用的域判別器僅受標(biāo)注樣本的引導(dǎo),很少探索數(shù)據(jù)分布的內(nèi)在結(jié)構(gòu).這將會導(dǎo)致ADDA中作為生成器的卷積基為了“欺騙”域判別器而產(chǎn)生錯誤的梯度,朝著既定的模式更新權(quán)重,引發(fā)模式崩塌(mode collapse)[12-13]問題,不利于模型的訓(xùn)練穩(wěn)定性和總體性能表現(xiàn).ADDA算法正是基于此類對抗性學(xué)習(xí)算法構(gòu)建的,因此也間接引入了此類缺陷.
在引入膠囊網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò)的同時,應(yīng)當(dāng)注意到,膠囊網(wǎng)絡(luò)還可以作為自編碼器進(jìn)行使用.受VAE-GAN[14]的啟發(fā),它結(jié)合了變分自編碼器(variational auto-encoder,VAE)和GAN,利用源域和目標(biāo)域內(nèi)有限的樣本特征擬合邊緣分布,并提供強約束,穩(wěn)定對抗性訓(xùn)練的過程.因此,本文基于改進(jìn)的膠囊網(wǎng)絡(luò)提出了一種類無關(guān)的自編碼器網(wǎng)絡(luò),將其與GAN結(jié)合,使用重構(gòu)損失作為強正則化項,約束單域特征提取網(wǎng)絡(luò),使其盡可能地從目標(biāo)域捕獲到事物的表征,而不是一味地朝著容易欺騙域判別器的梯度方向演化.進(jìn)一步的研究顯示,這種新的“編碼-解碼器”結(jié)構(gòu)有能力提供可靠的梯度參數(shù),使得判別網(wǎng)絡(luò)能夠在卷積基進(jìn)行偏移微調(diào)時,保證判別器對源域與目標(biāo)域內(nèi)樣本共性表征的敏感度.
本文的主要貢獻(xiàn)有3個方面:
1)提出膠囊層的卷積算法CapConv2d,用于構(gòu)建深層膠囊網(wǎng)絡(luò),并將其與殘差網(wǎng)絡(luò)相結(jié)合.
2)基于CapConv2d和殘差機制提出了一種新的膠囊網(wǎng)絡(luò)架構(gòu)Res-CapsNet,用以改進(jìn)ADDA算法.
3)利用膠囊網(wǎng)絡(luò)可調(diào)整為自編碼器的特性,通過引入重建網(wǎng)絡(luò)R作為解碼器,使用重建損失Lr作為強約束,并據(jù)此給定了新的損失函數(shù),進(jìn)一步提升了ADDA算法的性能.
為了驗證其有效性,設(shè)計了與ADDA相同的一組無監(jiān)督域適應(yīng)實驗,本文的算法使用更少的訓(xùn)練樣本取得了更好的效果.對比其他技術(shù)路線的域適應(yīng)算法,在從MNIST[15]到USPS[16]的域適應(yīng)任務(wù)中取得了最先進(jìn)的性能,并在其他域適應(yīng)任務(wù)中取得了與最新研究成果相近的性能.同時,相比于ADDA算法,本文所提出的算法在ADDA所提供的各項標(biāo)準(zhǔn)任務(wù)中均提升了7%~17%的性能;其中,在從SVHN[17]到MNIST的域適應(yīng)任務(wù)提升最為明顯,達(dá)到17.7%.
當(dāng)源域和目標(biāo)域的數(shù)據(jù)分布不同但2個任務(wù)的目標(biāo)相同時,這種特殊的遷移學(xué)習(xí)叫作域適應(yīng).對于基于單域訓(xùn)練的模型,域適應(yīng)算法是一類常見的用于提升模型泛化能力的算法.
之前有大量關(guān)于域適應(yīng)的工作,如ADDA等.而最近的研究工作主要集中在如何利用深層卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)一種特征轉(zhuǎn)換,使得在轉(zhuǎn)換過后的特征空間上,源域和目標(biāo)域數(shù)據(jù)分布的區(qū)分度最小.換言之,這些研究工作將用于特征提取的CNNs從有標(biāo)注的源域數(shù)據(jù)集遷移到標(biāo)記數(shù)據(jù)較為稀疏或無標(biāo)記的目標(biāo)域數(shù)據(jù)集上,并使其以相近的性能正常工作.
在這些研究工作中,對抗判別域適應(yīng)算法展示了對抗性學(xué)習(xí)填補雙域差異的有效性.然而,基于該算法的研究工作往往存在2個缺陷.首先,當(dāng)前CNNs的能力并不能很好地提取到樣本特征、保證多域內(nèi)特征圖的表征不變性.其次,這些算法基于對抗性訓(xùn)練算法框架,僅在域判別器的“真”“假”標(biāo)簽下進(jìn)行域混淆或域映射,模型難以訓(xùn)練,存在性能不穩(wěn)定、模式崩塌等風(fēng)險.
針對第1個問題,Xu等人[18]提出了一種基于域混淆的域自適應(yīng)算法(DM-ADA),該算法能在較為連續(xù)的潛藏層空間中保證域的不變性,并指導(dǎo)域判別器計算源域和目標(biāo)域的差異;Tang等人[19]在相同的技術(shù)路線上亦做出了貢獻(xiàn).基于此類技術(shù)路線的算法在像素級別和特征級別進(jìn)行域的聯(lián)合混淆,提高了模型的健壯性,在多個域適應(yīng)任務(wù)中獲得了較好的性能.
同時,為了提升神經(jīng)網(wǎng)絡(luò)的特征提取能力,有研究表明更深的神經(jīng)網(wǎng)絡(luò)能夠提取到更多潛藏信息.在構(gòu)建深層卷積神經(jīng)網(wǎng)絡(luò)的過程中,面臨的主要問題之一是梯度消失.當(dāng)梯度信號從底層反向傳播到頂層時,將會逐漸衰減,從而影響網(wǎng)絡(luò)的學(xué)習(xí)速率和收斂結(jié)果.針對這個問題,ResNet[20]和Highway Network[21]通過層與層間的short-cut操作,直接將上一層的信號傳遞到下一層,以緩解深度學(xué)習(xí)中梯度消失的問題.為了進(jìn)一步提升卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力和可解釋性,Hinton等人[8]和Sabour等人[9]提出了膠囊網(wǎng)絡(luò)的概念,旨在建立一種具有空間感知能力的神經(jīng)網(wǎng)絡(luò)模型.膠囊網(wǎng)絡(luò)的每個單元都存儲一個向量,而不是傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中的標(biāo)量,用來指示該神經(jīng)元在更高的空間維度上提取到的特征信息,如旋轉(zhuǎn)、寬度、組合等樣本實例屬性.憑借這種構(gòu)思,給定一幅圖像,膠囊網(wǎng)絡(luò)能在不同膠囊層間提取到多尺度的圖像實例的組件成分,進(jìn)而推導(dǎo)出實例的部分與整體的組成方式.
由于每個淺層膠囊向深層膠囊進(jìn)行信息傳播時不再是標(biāo)量到標(biāo)量的映射,而是向量到向量的映射,因此膠囊網(wǎng)絡(luò)存在更多需要訓(xùn)練的權(quán)重參數(shù),并需要設(shè)計適配于向量計算的梯度傳播算法.此類梯度傳播算法被定義為“路由算法”,如Dynamic Routing[8-9],EM-routing[22],COF(clustering-like objective function)[23],Variational-Bayes Capsule Routing[24].
在膠囊網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)上,最近的一些研究工作也對此做出了相關(guān)改進(jìn),如HitNet[25],DeepCaps[10],Sovnet[11],Stacked Capsule Autoencoders[26],Proposed CapsNet[27].其中,HitNet使用了一種與Dropout[28]相仿的思路,依靠動態(tài)連接選擇膠囊層,緩解膠囊網(wǎng)絡(luò)由于參數(shù)量較大而帶來的過擬合問題;DeepCaps提出了一種3維路由算法,同時改進(jìn)了膠囊層間的傳播算法,使得構(gòu)建深層膠囊網(wǎng)絡(luò)成為可能;Sovnet則通過跳接的方式,給出了一種新的膠囊網(wǎng)絡(luò)架構(gòu)和路由機制,基于此構(gòu)建了深層膠囊網(wǎng)絡(luò);Stacked Capsule Autoencoders和Proposed CapsNet則將膠囊網(wǎng)絡(luò)推廣到無監(jiān)督學(xué)習(xí)和人體動作識別問題上.
在域適應(yīng)任務(wù)中,受限于各種條件,例如無法在目標(biāo)域內(nèi)采集到足量標(biāo)注數(shù)據(jù),因此在目標(biāo)域直接進(jìn)行高質(zhì)量的有監(jiān)督學(xué)習(xí)是不可能的.所以,域適應(yīng)算法主要通過無監(jiān)督或半監(jiān)督的方式使得模型可以在目標(biāo)域上間接訓(xùn)練或進(jìn)行自適應(yīng).
對于域適應(yīng)任務(wù),描述如下:對于K分類任務(wù),假設(shè)源域數(shù)據(jù)是經(jīng)過標(biāo)注的優(yōu)良數(shù)據(jù)集Xs,其標(biāo)簽為Ys.源域數(shù)據(jù)集符合分布ps,同樣地,目標(biāo)域數(shù)據(jù)集符合分布pt但未知其標(biāo)簽Yt.現(xiàn)在,任務(wù)的目標(biāo)是得到一個模型Mt,能夠正確地從目標(biāo)域數(shù)據(jù)中提取特征信息,并將提取到的特征作為輸入,經(jīng)由分類器Ct正確地將目標(biāo)域內(nèi)的圖像數(shù)據(jù)Xt判別為K個類別中的一個.
由于缺失Yt,因此在目標(biāo)域上直接進(jìn)行有監(jiān)督訓(xùn)練得到Mt和Ct是不可能的,只能間接地進(jìn)行訓(xùn)練.一個常見的思路是,在(Xs,Ys)上訓(xùn)練得到源特征提取模型Ms和分類器Cs,通過算法將其映射到Mt和Ct,然后使用Mt和Ct在目標(biāo)域數(shù)據(jù)集Xt上進(jìn)行域適應(yīng)訓(xùn)練.域適應(yīng)是遷移學(xué)習(xí)中的一種特例,其最大的特點是Cs和Ct有著相同的K個分類目標(biāo),且目標(biāo)在ps及pt具有分布相關(guān)性.但這2種分布存在著一定的距離,即域間近似差異距離,如圖1所示.顯然,在這樣的任務(wù)前提下,只要通過調(diào)整Ms和Mt縮小域間距離,得到雙域的邊緣分布,就可以消除另行訓(xùn)練目標(biāo)域分類器Ct的需求,即在Ms≈Mt的情況下,對于域適應(yīng)任務(wù)滿足Cs≈Ct.這種思路巧妙地轉(zhuǎn)化了任務(wù)目標(biāo),把對Ct的有監(jiān)督訓(xùn)練轉(zhuǎn)化為求Ms到Mt的映射方案.
Fig.1 The illustration of domain discrepancy distance圖1 域間近似差異距離示意圖
ADDA是這類方法中的一種經(jīng)典實現(xiàn),該算法架構(gòu)引入了一個域判別器D,用于鑒別一個特征提取模型M所提取的特征來自ps還是pt.ADDA試圖通過對域判別器D的對抗性訓(xùn)練來最小化域間距離,當(dāng)域判別器D無法分辨特征提取模型M所提取的特征來自ps還是pt時,就意味著Ms與Mt已經(jīng)盡可能地靠近,ADDA的算法流程如圖2所示.
該算法與GAN相似:GAN將2個子網(wǎng)絡(luò)分別作為生成器G和判別器D相互競爭,在博弈中輪流、逐步提升2個網(wǎng)絡(luò)的性能.不同的是,ADDA中沒有生成器G,取而代之的是一個特征提取網(wǎng)絡(luò)M,它被訓(xùn)練成一種能夠按照一定規(guī)則,從服從某種分布p的數(shù)據(jù)中提取樣本特征的網(wǎng)絡(luò),而域判別器D則試圖分辨特征提取網(wǎng)絡(luò)M從何種分布中提取樣本特征.在對抗性域適應(yīng)訓(xùn)練的過程中,當(dāng)判別器損失LadvD保持不變,即判別器D的權(quán)重被凍結(jié)時,特征提取網(wǎng)絡(luò)的損失LadvM滿足:
(1)
Fig.2 Overview of ADDA algorithm圖2 ADDA算法流程圖
對抗性訓(xùn)練中,最小化LadvM的同時也即最大化域判別器的損失LadvD,二者滿足:
LadvM=-LadvD,
(2)
這非常類似GAN的極大值目標(biāo).然而,這樣的優(yōu)化目標(biāo)容易導(dǎo)致域判別器在早期過快收斂.這是因為,在域適應(yīng)中,需要對源域和目標(biāo)域使用獨立的特征映射,并且需要同時更新Ms和Mt的權(quán)重.而在GAN中,一個生成網(wǎng)絡(luò)G試圖模擬一個不變的分布,而不是如同域適應(yīng)一樣在2種真實存在的分布中尋找邊緣分布.如果采用上述損失函數(shù),當(dāng)Ms和Mt都在變化時,將會發(fā)生劇烈的振蕩.
為了解決這個問題,Tzeng等人[1,3]提出了域混淆的優(yōu)化目標(biāo),在該目標(biāo)下,對均勻分布的雙域圖像數(shù)據(jù)使用交叉熵?fù)p失函數(shù)進(jìn)行訓(xùn)練:
(3)
該損失函數(shù)確保了域判別器能以較為穩(wěn)定的狀態(tài)對域特征提取器進(jìn)行偏移.
ADDA算法雖然巧妙地利用對抗學(xué)習(xí)的方法避免了直接在源域數(shù)據(jù)集Xs上訓(xùn)練目標(biāo)域特征提取模型Mt和目標(biāo)域分類器Ct,但卻因為使用了對抗性學(xué)習(xí)而引入了與GAN相同的缺陷.“模式崩塌”是此類缺陷中對ADDA算法影響最大的一種.當(dāng)訓(xùn)練任務(wù)的目標(biāo)是希望一組M應(yīng)該能夠盡可能地捕獲到有用的特征,即經(jīng)過訓(xùn)練的模型Ms或Mt應(yīng)盡可能地靠近,以使得域判別器D難以區(qū)分二者.但考慮另一種情況,在交替進(jìn)行對抗性學(xué)習(xí)的過程中,如果一個M開始向只能捕獲到噪音的模式Mn傾斜,由于域判別器D只能給出“0”(源域)或“1”(目標(biāo)域)的二值評價,那么接下來所有的M都會因為域判別器D的指導(dǎo)作用快速向Mn靠近;當(dāng)模型收斂時,盡管此刻域判別器D無法準(zhǔn)確分辨一組M,但并不意味著此次訓(xùn)練取得了預(yù)期的效果.
模式崩塌大部分時候是以一種隨機的方式觸發(fā)的,這通常使得GAN架構(gòu)非常難以訓(xùn)練.特別是當(dāng)模式崩塌只在部分參數(shù)中發(fā)生時,通常很難區(qū)分這組M有多少參數(shù)沒有正確地訓(xùn)練,從而造成誤判,間接影響到模型的實際性能.
本文借鑒了VAE-GAN的思想,通過融入一個自編碼器來緩解模式崩塌問題,如圖3所示:
Fig.3 Overview of VAE-GAN圖3 VAE-GAN架構(gòu)圖
編碼器E在服從某種分布的樣本域X中取樣時,輸入一個d維向量x,編碼器E通過非線性函數(shù)y=fθ(x)=s(Wx+b)將其映射為一個d′維的潛藏層變量y.其中,參數(shù)項θ={W,b},W是一個d′×d的矩陣,b是偏置項,s為激活函數(shù).
在訓(xùn)練這個自編碼器的時候,對n個訓(xùn)練樣本中的每項,最小化平均重建誤差:
(4)
(5)
在進(jìn)行訓(xùn)練時,域判別器D將會對從2個域特征提取網(wǎng)絡(luò)得到的特征向量打分,給出“0”(源域)或“1”(目標(biāo)域)的二值標(biāo)簽.此時,通過接入一個重建網(wǎng)絡(luò)R作為解碼器E,則判別距離為
DDA=1[D(Ms(Xs))=1]+
1[D(Mt(Xt))=0]+
α1×Exs~XsMSE(R(Ms(Xs)),Xs)+
α2×Ext~XtMSE(R(Mt(Xt)),Xt)
.
(6)
相比于直接使用二值標(biāo)簽作為判別距離,式(6)更能動態(tài)約束域特征提取網(wǎng)絡(luò),促使權(quán)重進(jìn)行小幅度的穩(wěn)定更新,保證潛藏層變量始終處于穩(wěn)定的狀態(tài).本文中,對于膠囊網(wǎng)絡(luò)而言,它的膠囊層在此處起到了編碼器的作用,運作在無監(jiān)督學(xué)習(xí)之下;而保證潛藏層變量的穩(wěn)定,即可保證分類器的性能恒定.換言之,當(dāng)Mt向著邊緣分布移動時,使用重建網(wǎng)絡(luò)的損失作為正則約束,將會更加平滑地進(jìn)行權(quán)重更新;分類器C的性能得益于此,將始終以一個很高的指標(biāo),保持著直接在源域上進(jìn)行有監(jiān)督學(xué)習(xí)所能達(dá)到的分類效果.有關(guān)膠囊網(wǎng)絡(luò)的內(nèi)容將在第3節(jié)進(jìn)行介紹.
首先,給定一個域適應(yīng)任務(wù)T,在源域Xs和目標(biāo)域Xt上具有相同的K個目標(biāo).需要說明的是,對于域適應(yīng)問題,之前的研究工作都只在2個相似的空間中進(jìn)行域適應(yīng),如CoGAN[29]和PixelGAN[30],這是因為,Xs和Xt應(yīng)具有適當(dāng)?shù)挠蜷g距離,而不是非常相似或非常不同的2個域,這是域適應(yīng)問題與廣義遷移學(xué)習(xí)的主要區(qū)別.
本文所用算法的工作流程分為3個階段:預(yù)訓(xùn)練階段、對抗訓(xùn)練階段和測試階段,如圖4~7所示.
Fig.4 Pre-train a source encoder CNN and reconstruction-network using labeled source image examples圖4 使用源域標(biāo)記樣本充分訓(xùn)練作為編碼器的CNN和重建網(wǎng)絡(luò)
Fig.5 Training target encoder by adversarial domain adaptation圖5 采用對抗性域適應(yīng)訓(xùn)練目標(biāo)域編碼器
Fig.6 Overview of discriminator圖6 判別器網(wǎng)絡(luò)結(jié)構(gòu)圖
Fig.7 The illustration of testing圖7 測試階段的流程圖
在第1階段,使用來自源域的標(biāo)注樣本數(shù)據(jù)(Xs,Ys)預(yù)訓(xùn)練一個源域特征提取網(wǎng)絡(luò)Ms和分類器Cs.在這個階段,重建網(wǎng)絡(luò)R也將被一同訓(xùn)練,如圖4所示.其中,重建網(wǎng)絡(luò)將使用均方誤差作為損失函數(shù):
Lr(Xs,Ms)=Exs~XsMSE(R(Ms(Xs)),Xs).
(7)
對于基于域混淆的域適應(yīng)任務(wù),顯然滿足Cs=C.在該階段,對于分類任務(wù),所使用的損失函數(shù)為
(8)
為了穩(wěn)定網(wǎng)絡(luò)和使得網(wǎng)絡(luò)訓(xùn)練過程更加可控,添加一個超參數(shù)αs作為重建損失Lr的正則化權(quán)重.需要注意的是,由于目標(biāo)域廣泛缺乏可利用的標(biāo)注數(shù)據(jù),因此,如果在第1階段沒有進(jìn)行合適的預(yù)訓(xùn)練,進(jìn)行權(quán)值共享的目標(biāo)域模型Mt將可能很快在對抗性學(xué)習(xí)過程中偏移到Mn,從而影響后續(xù)階段的訓(xùn)練效果.
在第2階段,如圖5所示.先用Ms的權(quán)重初始化目標(biāo)域特征提取網(wǎng)絡(luò)Mt.將Ms的權(quán)重與Mt進(jìn)行共享的好處是,一個域判別器D在初始時就不能很好地辨別經(jīng)由特征提取網(wǎng)絡(luò)M編碼的圖像特征輸入是來自哪個數(shù)據(jù)分布域,避免在對抗學(xué)習(xí)初期過強的D所引發(fā)的訓(xùn)練不均衡問題.
在對Ms和Mt進(jìn)行權(quán)值共享之后,將在多輪的對抗性學(xué)習(xí)過程中修正Mt的參數(shù)權(quán)重.Ms和Mt分別在源域Xs和目標(biāo)域Xt提取特征,然后由域判別器D分辨這些編碼后的特征來自哪個域,進(jìn)而給出“0”“1”的標(biāo)簽,分別指示這些編碼信息來自源域或目標(biāo)域.本文所使用的判別器D是一個簡單的CNN,其結(jié)構(gòu)如圖6所示.
圖6所示的域判別器網(wǎng)絡(luò)的結(jié)構(gòu)參考了DCGAN[31]的設(shè)置,使用了批歸一化層(batch norma-lization,BN).輸入在經(jīng)過2層卷積和Dropout+BN+LeakyReLU的組合層之后,最終使用一個尺寸為32×2×2的密集連接層輸出二值標(biāo)簽.對于域判別器D,采用均勻分布的映射情況下的交叉熵?fù)p失函數(shù)進(jìn)行訓(xùn)練:
(9)
在該階段,重建網(wǎng)絡(luò)(解碼器)R不再進(jìn)行權(quán)重調(diào)整.目標(biāo)域的重建損失Lr(Xt,Mt)為
Lr(Xt,Mt)=Ext~XtMSE(R(Mt(Xt)),Xt).
(10)
基于域判別器D給出的損失LadvM為
LadvM(Xs,Xt,Mt,D)=
-Ext~Xt[lnD(Mt(xt))].
(11)
Mt將根據(jù)式(12)的損失函數(shù)進(jìn)行權(quán)重更新.由于初始化時采用了參數(shù)共享的原因,Mt會逐步向域間的邊緣分布移動.C和R的參數(shù)在此階段將被凍結(jié),不再調(diào)整.
(12)
此外,為了訓(xùn)練過程更加平穩(wěn),在更新Ms的權(quán)重時添加一個權(quán)重衰減系數(shù)β,采用Adam[32]對該系數(shù)進(jìn)行動態(tài)調(diào)整.這是因為:若使用預(yù)訓(xùn)練的Ms初始化Mt,初期采用一樣的步長對Ms進(jìn)行調(diào)整,容易讓2個域特征提取網(wǎng)絡(luò)提前趨同,導(dǎo)致其收斂于局部最優(yōu)點.
在經(jīng)過多輪對抗性訓(xùn)練后,就得到了一個非對稱的特征映射Mt.這個映射將和Ms無法被區(qū)分,但擁有獨立的權(quán)重,能夠基于目標(biāo)域和源域的邊緣分布提取特征,并使這些特征可以被基于源域訓(xùn)練的分類器C所接受.
在第3階段,即最后的階段,使用模型Mt和分類器C進(jìn)行分類性能測試,如圖7所示.具體做法為:在目標(biāo)域Xt上使用目標(biāo)域特征提取網(wǎng)絡(luò)Mt捕獲特征,即將目標(biāo)域內(nèi)的樣本數(shù)據(jù)Xt映射到共享的特征空間,并用預(yù)訓(xùn)練階段得到的源域分類器Cs(等價于C)進(jìn)行分類.為了檢測實驗效果,目標(biāo)域的樣本標(biāo)簽Yt僅在此時用于評估模型性能.
在域適應(yīng)任務(wù)中,數(shù)據(jù)集在源域與目標(biāo)域內(nèi)的識別任務(wù)目標(biāo)是有著不同表示的同一事物.卷積神經(jīng)網(wǎng)絡(luò)如果能更好地捕獲到目標(biāo)對象的表征,那么,在域適應(yīng)過程中就能更好地在目標(biāo)域中正確識別目標(biāo).要想更好地捕獲樣本的表征,一個重要的途經(jīng)是讓神經(jīng)網(wǎng)絡(luò)能夠理解事物的表征不變性(invari-ance)和同變性(equivariance).在廣義上講,不變性是指事物的表示形式不隨變換而變化;而同變性是指事物的表示形式變換前后相等價.大部分現(xiàn)有的CNNs架構(gòu)受限于2維的卷積架構(gòu)和池化操作,在提取圖像特征時無法很好地兼顧以上二者.為此,膠囊網(wǎng)絡(luò)從神經(jīng)科學(xué)中借用了一些想法,即認(rèn)為人類的大腦被組織成叫作“膠囊”的模塊,每個膠囊都是一個實例化模塊,用于保存一個實體的一般屬性,如尺寸、大小、顏色、邊際輪廓等.
相較于CNNs中2維的特征圖,在膠囊網(wǎng)絡(luò)中,每個膠囊都包含由“膠囊向量”組成的張量,張量的每個維度都表示一種基本特征,即一個膠囊表示若干種基本特征的高維組合特征.在膠囊層間,使用路由算法逐層傳遞信息;在膠囊層內(nèi),每個膠囊通過1組綁定的2維卷積核來共享權(quán)重.膠囊網(wǎng)絡(luò)的結(jié)構(gòu)如圖8所示.
Fig.8 Overview of CapsNet圖8 膠囊網(wǎng)絡(luò)架構(gòu)圖
結(jié)合現(xiàn)有研究成果[10],構(gòu)建更深的膠囊網(wǎng)絡(luò)用于ADDA算法的特征提取網(wǎng)絡(luò),將會是改進(jìn)ADDA算法的重要途徑.
但是,在有關(guān)膠囊網(wǎng)絡(luò)的諸多研究工作中,最近的研究表明[10-11],將全連接的膠囊層堆疊在一起,會導(dǎo)致中間層的性能降低較差并使得訓(xùn)練代價在一些數(shù)據(jù)集上幾乎不可負(fù)擔(dān).
Hinton等人[8]所提出的標(biāo)準(zhǔn)形式的膠囊網(wǎng)絡(luò)的主要缺點是,它只能以全連接的形式進(jìn)行堆疊連接.因此,如果用這樣的做法構(gòu)建深層網(wǎng)絡(luò),相當(dāng)于在MLP(multi-layer perception)模型中堆疊全連接層.大量的實驗表明此類做法在模型性能的提升上作用甚微,且容易導(dǎo)致模型過擬合及收斂緩慢.考慮到ADDA算法并不需要一種非常強大的膠囊化深層特征分類器,本文使用一種近似于傳統(tǒng)CNNs的特征提取網(wǎng)絡(luò),依靠膠囊層對該網(wǎng)絡(luò)進(jìn)行約束,使得其能夠提取到域適應(yīng)任務(wù)中所需的樣本特征用以構(gòu)建表征不變性信息.
基于這種思路,圖9展示了本文所提出的CapConv2d的實現(xiàn)方案.對于k層的膠囊輸入,為了維持特征圖的尺寸,使用一組等通道的3×3卷積核進(jìn)行stride=2,padding=1的卷積運算,卷積核采用LSUV[33]進(jìn)行初始化.卷積結(jié)果按通道分別進(jìn)行加和運算,得到k+1層的膠囊.
Fig.9 Pipeline of CapConv2d圖9 CapConv2d的流程圖
構(gòu)建深層膠囊網(wǎng)絡(luò)用于提取樣本特征的另一個致命缺陷是梯度消失問題.當(dāng)網(wǎng)絡(luò)過深時,梯度會逐漸消失,進(jìn)而影響模型的收斂.已有大量研究針對這個問題進(jìn)行了實驗[20-21,34],其中,ResNet和Highway Networks通過跳接各個層的信號,使得梯度能夠保持傳遞的趨勢.受到其啟發(fā),本文將采用膠囊機制構(gòu)建骨干網(wǎng)絡(luò),并將其與殘差結(jié)構(gòu)相結(jié)合,調(diào)整膠囊網(wǎng)絡(luò)中的卷積基.圖10展示了ResCapConv2d的結(jié)構(gòu).
Fig.10 Overview of ResCapConv2d圖10 殘差塊結(jié)構(gòu)圖
在該結(jié)構(gòu)中,輸入一個尺寸為(C,V,H,W)的膠囊特征,先經(jīng)過一次卷積核為3×3,stride=2,padding=1的CapConv2d操作,下采樣到(C,V,H/2,W/2),然后與2輪等尺寸輸出的CapConv2d運算的結(jié)果進(jìn)行加和輸出.
基于CapConv2d和ResCapConv2d,將能夠以類似搭建CNN的方式構(gòu)建深層膠囊網(wǎng)絡(luò).由此,通過堆疊ResCapConv2d構(gòu)成膠囊層(primary capsules layer),本文得到了一種新的膠囊網(wǎng)絡(luò)結(jié)構(gòu)Res-CapsNet,如圖11所示.
Fig.11 Overview of Res-CapsNet圖11 Res-CapsNet的網(wǎng)絡(luò)結(jié)構(gòu)
該網(wǎng)絡(luò)結(jié)構(gòu)在保證膠囊網(wǎng)絡(luò)使用向量表示樣本特征的同時,改進(jìn)了其作為編碼器時的卷積基結(jié)構(gòu),使得其有能力構(gòu)建更深的膠囊神經(jīng)網(wǎng)絡(luò).
對比Hinton的膠囊網(wǎng)絡(luò),Res-CapsNet首先改進(jìn)了其僅有1層卷積的特征提取網(wǎng)絡(luò).Res-CapsNet通過bottle-neck[35]的形式,先進(jìn)行了2次3×3的卷積,將3通道的圖像輸入轉(zhuǎn)為32通道的特征圖,然后通過1×1的卷積進(jìn)行下采樣,將特征圖的尺寸降到16×16、將特征圖的通道提升到256.通過這種方式提升特征圖的通道數(shù)有助于捕獲到更多的樣本特征,并保證整個網(wǎng)絡(luò)的待訓(xùn)練參數(shù)相對較少.
接著,將256×16×16的特征圖進(jìn)行膠囊化編碼,并利用ResCapConv2d進(jìn)行下采樣,轉(zhuǎn)為32個8×8×8的膠囊(capsules),再經(jīng)過2次ResCapConv2d,最終得到32個8×2×2的膠囊,隨后進(jìn)行層間路由,以一種近似全連接的方式(即Dynamic Routing)映射到10×16的空間.本模型的參數(shù)量為655 360,相比于Hinton模型的1 474 560,參數(shù)量減少了55%.
在10分類的手寫數(shù)字識別問題中,Dynamic Routing算法將膠囊特征映射到10×16的空間,即每個類對應(yīng)1個16維的特征.Hinton使用非線性映射(即Squash)將其壓縮成1個10維的向量,取L2范式的最大值作為最終的預(yù)測值標(biāo)簽.
在標(biāo)準(zhǔn)形式的膠囊網(wǎng)絡(luò)中,對于MNIST的識別問題,Hinton等人用1個16維的向量來表示1個手寫數(shù)字在潛藏層空間的高維特征vj.由于vj又可以被用來表示1個淺層特征屬性組合,因此可以被看作是1個特殊的編碼器輸出值,可以利用解碼器R進(jìn)行圖像的重建.
在膠囊i到膠囊j的前向傳播過程中,使用Squash來將前1個膠囊的輸入ui映射到[0,1]向量空間:
(13)
在第l層的所有膠囊向量ui到l+1層的膠囊連接中,vj為第j個膠囊的輸出,sj是前一層所有膠囊向量輸入的加權(quán)和,滿足:
(14)
其中,Wij是一個可訓(xùn)練的權(quán)重矩陣,通過梯度的逆向傳播進(jìn)行訓(xùn)練.cij為一個加權(quán)系數(shù),通過Softmax函數(shù)進(jìn)行計算:
(15)
其中,bij是一個歷史先驗概率,給出了膠囊i到膠囊j的可能性,bij和cij在路由過程中進(jìn)行動態(tài)調(diào)整,不參與梯度的逆向傳播過程.膠囊間的連接采用Dynamic Routing算法,見算法1.對第k個類的特征屬性組合vk,使用L2范式來描述輸入樣本x是第k個類的可能性.在計算分類誤差Lk時,采用邊緣損失(margin loss):
(16)
其中,在10分類的手寫數(shù)字識別問題中,m+=0.9,m-=0.1,λ=0.5,vk為第k個數(shù)字膠囊(digit capsules)的輸出.當(dāng)且僅當(dāng)輸入樣本x屬于第k個類時Tk=1,否則Tk=0.
值得說明的是,在膠囊網(wǎng)絡(luò)中,路由算法是可模組化的.因此,在整體架構(gòu)一定的情況下,可以較為方便地更換其他更好的路由算法,而這將可能極大地提升整個網(wǎng)絡(luò)的分類性能[8-9,22-24,26].但本文的研究重點不在于提出一種新的路由算法或驗證何種路由算法更加有效.因此,為了和Hinton首次提出的膠囊網(wǎng)絡(luò)作比較,在本文中依舊采用與其相同的路由算法,即Dynamic Routing算法.在不更換路由算法和使用數(shù)據(jù)增廣的情況下,該架構(gòu)相較于Hinton的方案,使用了45%的待訓(xùn)練參數(shù)的同時取得了更好或近似的成績.
算法1.Dynamic Routing算法.
輸出:l+1層第j個膠囊的膠囊向量vj.
① 初始化所有歷史先驗概率bij=0;
② forr∈{1,2,…,rs} do
③ fori∈{1,2,…,ql} do
④ci=softmax(bi);
⑤ end for
⑥ forj∈{1,2,…,ql+1} do
⑧vj=Squash(sj);
⑨ end for
⑩ fori∈{1,2,…,ql} do
從膠囊網(wǎng)絡(luò)意圖構(gòu)建實例化參數(shù)向量的角度出發(fā),可以把一個膠囊網(wǎng)絡(luò)視為一個編碼器.在本文的實驗中,使用了與Hinton等人相同的參數(shù)設(shè)置,即使用一個16維的向量來表示一個手寫字符.類似地,這些實例化參數(shù)將分別或共同定義手寫字符的某個屬性,如筆畫粗細(xì)、曲度和長度等.在本文所設(shè)計的實驗中,要識別的對象為10個手寫阿拉伯?dāng)?shù)字,因此將構(gòu)建10個數(shù)字膠囊,每個數(shù)字膠囊擁有16個實例化參數(shù).給定一個解碼器,將通過這些實例化參數(shù)重建圖像.重建損失將作為正則項參與整個網(wǎng)絡(luò)的訓(xùn)練,約束數(shù)字膠囊層能夠捕獲到最能代表一個手寫數(shù)字各項表征的參數(shù)組合和權(quán)重.
為了給此類模型在手寫數(shù)據(jù)集上尋得合適的重構(gòu)損失函數(shù),Jayasundara等人[36]研究了不同的重構(gòu)損失函數(shù)對圖像重構(gòu)質(zhì)量的影響.為驗證所提出的架構(gòu)的有效性,本文采用Hinton論文中所使用的最小均方誤差作為重構(gòu)損失函數(shù).
在Res-CapsNet架構(gòu)的編碼過程中,使用卷積基作為特征提取網(wǎng)絡(luò)M,M(X)是圖像經(jīng)過特征提取后的特征張量.數(shù)字膠囊層將作為編碼器,使用Dynamic Routing算法將特征張量映射為一個10×16維的張量,每個16維的向量將作為一個獨立的膠囊向量,共有10個膠囊與10個手寫數(shù)字實例一一對應(yīng).
本文所采用的重建網(wǎng)絡(luò)R參考了DCGAN,由4層轉(zhuǎn)置卷積層構(gòu)成,如圖12所示.
Fig.12 Overview of reconstruction network which using masked capsule vectors圖12 基于膠囊向量輸入的重建網(wǎng)絡(luò)R的結(jié)構(gòu)圖
首先,10×16的特征張量會經(jīng)過一個掩碼層,按照正確的標(biāo)簽進(jìn)行掩碼計算[8],篩選得到一個16維的向量y;掩碼計算指使用樣本標(biāo)簽或L2值最大的標(biāo)簽,從10個向量中選取表示當(dāng)前類的16維向量.選中的向量輸入一個使用線性整流函數(shù)(rectified linear unit,ReLU)激活的8×8×16的密集連接層,再使用BN進(jìn)行歸一化后得到一個1 024維的向量.該1 024維的向量即為潛藏層變量,經(jīng)過4層轉(zhuǎn)置卷積層,最終輸出為一個3×32×32的張量,完成圖像的重建.
圖11中,框選標(biāo)注的卷積基將被作為特征提取網(wǎng)絡(luò)M使用,數(shù)字膠囊層將被用作分類器C,其輸出將被輸入重建網(wǎng)絡(luò)R,完成圖像的重建工作.判別器網(wǎng)絡(luò)D和重建網(wǎng)絡(luò)R的架構(gòu)分別如圖6和圖12所示.C中數(shù)字膠囊層的傳播過程參見算法1.結(jié)合式(16),式(8)所示的分類損失函數(shù)為
(17)
結(jié)合第2節(jié)內(nèi)容,本文所提出的“基于膠囊網(wǎng)絡(luò)的對抗判別域適應(yīng)算法”如算法2所示.
算法2.基于膠囊網(wǎng)絡(luò)的對抗判別域適應(yīng)算法.
① 使用LSUV初始化Ms和Cs的權(quán)重;
② for(Xs,Ys)中的批樣本xs,ysdo
③ 根據(jù)式(7)計算源域重建損失Lr;
④ 根據(jù)式(17)計算分類任務(wù)的損失Lcls;
⑤ 基于損失Lcls更新Ms,Cs,R的權(quán)重;
⑥ end for
⑦ 將Ms和Cs的權(quán)重復(fù)制到Mt和Ct;
⑧ 使用LSUV初始化D的權(quán)重;
⑨ 凍結(jié)R,Ms,Cs,Ct的權(quán)重;
⑩ for(Xs,Xt)中的批樣本xs,xtdo
為了驗證本文所提出算法的有效性,在MNIST,USPS,SVHN這3個標(biāo)準(zhǔn)數(shù)字手寫數(shù)據(jù)集上進(jìn)行了實驗.圖13顯示了來自這3個數(shù)據(jù)集的示例圖像.
Fig.13 Overview of digits-datasets圖13 3個數(shù)據(jù)集概覽
MNIST由60 000個訓(xùn)練樣本和10 000個測試樣本構(gòu)成,每個樣本是單通道28×28的灰度圖,包含手寫數(shù)字0~9的圖像,共計10個類別.USPS由10 000個訓(xùn)練樣本和1 000個測試樣本構(gòu)成,每個樣本是單通道16×16的灰度圖,共計10個類別.SVHN由73 257個訓(xùn)練樣本和26 032個測試樣本構(gòu)成,每個樣本是3通道32×32的彩色圖像,共計10個類別.以上3個數(shù)據(jù)集在10個類別上都有均衡的樣本分布,也具有相同的10個分類目標(biāo),但數(shù)據(jù)集間存在尺寸差異、數(shù)據(jù)分布差異,是研究無監(jiān)督域適應(yīng)任務(wù)的標(biāo)準(zhǔn)實驗數(shù)據(jù)集.
本文在域適應(yīng)任務(wù)的相關(guān)實驗中,所有在目標(biāo)域上的訓(xùn)練都是在無監(jiān)督的情況下進(jìn)行的,目標(biāo)域的樣本標(biāo)簽僅在測試時被使用.在數(shù)據(jù)集采樣上,遵從ADDA設(shè)置,從MNIST中隨機抽取2 000張圖片,從USPS中隨機抽取1 800張圖片;而不同于ADDA的實驗設(shè)置的是,在進(jìn)行SVHN→MNIST域適應(yīng)實驗時,僅使用了30%~50%的MNIST數(shù)據(jù)用于域適應(yīng)時的無監(jiān)督學(xué)習(xí),而ADDA則使用了MNIST全集.
為了使數(shù)據(jù)更加規(guī)整,將MNIST,USPS,SVHN的所有圖像尺寸都調(diào)整為32×32;對于單通道的MNIST和USPS,僅將灰度圖通過復(fù)制的方式增廣到3通道,而沒有進(jìn)行其他圖像處理.在讀取數(shù)據(jù)集時,不同于其他研究工作中所設(shè)置的實驗參數(shù)[3,18]的是,本文所做的所有實驗中均沒有使用任何數(shù)據(jù)增強方法.
首先,為了驗證本文所提出的Res-CapsNet的有效性,直接在MNIST,USPS,SVHN數(shù)據(jù)集上進(jìn)行了有監(jiān)督分類任務(wù)測試,并與幾種使用Dynamic Routing算法的膠囊網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了性能比對,實驗結(jié)果如表1所示.接著,仿照ADDA中的實驗設(shè)置,進(jìn)行了3個方向的域適應(yīng)任務(wù)實驗:MNIST→USPS,USPS→MNIST,SVHN→MNIST,并與其他幾種最新的域適應(yīng)算法進(jìn)行了比對,結(jié)果如表2所示.
Table 1 The Results on Classification Accuracy表1 分類準(zhǔn)確率對比
Table 2 The Results on Classification Accuracy in Domain Adaptation Tasks表2 域適應(yīng)方法的分類準(zhǔn)確率對比 %
首先,為了測試Res-CapsNet的性能,將其與2種流行的CNN和幾種膠囊網(wǎng)絡(luò)進(jìn)行了比較.表1展示了模型在各個測試數(shù)據(jù)集上的分類正確率.
受限于網(wǎng)絡(luò)深度,在CIFAR-10數(shù)據(jù)集上,幾種膠囊網(wǎng)絡(luò)的性能都仍不及具有更高深度的ResNet-56等.但盡管如此,CapsNet在MNIST手寫數(shù)據(jù)集和SVHN上仍可以取得近似的性能表現(xiàn).
表1中,在進(jìn)行數(shù)據(jù)增強和集成了7組CapsNet(baseline)之后得到的結(jié)果被記為CapsNet(DA).
由表1可知,在不進(jìn)行數(shù)據(jù)增強和集成學(xué)習(xí)的情況下,盡管本文所提出的Res-CapsNet的分類正確率略低于或與最先進(jìn)的膠囊網(wǎng)絡(luò)相關(guān)研究成果持平,但Res-CapsNet的網(wǎng)絡(luò)結(jié)構(gòu)相較于同樣基于Dynamic Routing算法的baseline膠囊網(wǎng)絡(luò),能夠支撐尺寸更大的數(shù)據(jù)集且便于擴(kuò)展.需要注意的是,在不經(jīng)過數(shù)據(jù)增強和fine-tune的前提下,本文所提出的Res-CapsNet膠囊網(wǎng)絡(luò)模型幾乎可以取得SOTA(state-of-the-art),但本文的研究重點不在于獲取能夠直接達(dá)到目前最優(yōu)性能的分類器.
在兼顧分類器性能的同時,還需要考慮將其作為自編碼器的架構(gòu)穩(wěn)定性和易擴(kuò)展性.例如,HitNet通過添加Hit-or-Miss層的做法提升了膠囊網(wǎng)絡(luò)的性能,于同等條件下,在MNIST數(shù)據(jù)集的分類任務(wù)上達(dá)到了與Res-CapsNet相近的水平,但卻破壞了層間綁定權(quán)重的特性,使得其在進(jìn)行域遷移時無法保證獨立同分布,最終會受到域判別器的影響,大幅度調(diào)整Ms的參數(shù)權(quán)值,以一定的概率隨機向Mn塌縮,并在一定輪次后導(dǎo)致網(wǎng)絡(luò)無法捕獲到任何目標(biāo)域內(nèi)樣本的特征.換言之,該網(wǎng)絡(luò)如同CoGAN一樣,在一些特殊的復(fù)雜情況下無法綁定雙域的特征捕獲網(wǎng)絡(luò)M,只能獨立朝著某個隨機方向發(fā)生變化,而不是使二者趨近.
本文在域適應(yīng)實驗中采取了與表2內(nèi)大多數(shù)算法相近似的實驗設(shè)計.
首先,僅在源域上訓(xùn)練Ms和Cs并直接將其在目標(biāo)域上進(jìn)行測試.ADDA算法中所使用的卷積網(wǎng)絡(luò)是1個標(biāo)準(zhǔn)的LeNet,屬于傳統(tǒng)CNNs,而本文的方案采用的是基于Res-CapsNet的卷積基.“Source Only”表示模型僅在源域上進(jìn)行充分訓(xùn)練而未在目標(biāo)域上進(jìn)行域適應(yīng)訓(xùn)練,但直接被用在目標(biāo)域上進(jìn)行分類測試所得到的結(jié)果.通過對比ADDA和本文的方法,由表2可知,對于MNIST→USPS域適應(yīng)任務(wù),提升了約3.0%;對于USPS→MNIST域適應(yīng)任務(wù),提升了約14.4%;對于SVHN→MNIST域適應(yīng)任務(wù),提升了約13.3%,進(jìn)一步驗證了本文關(guān)于膠囊網(wǎng)絡(luò)能更好地捕獲樣本表征的猜想.
接著,對于域適應(yīng)任務(wù),先在源域上訓(xùn)練Ms和Cs,然后基于本文所提出的Res-CapsNet與重建網(wǎng)絡(luò)相結(jié)合的算法架構(gòu),通過對抗性學(xué)習(xí)得到Mt.相較于作為基線(baseline)的ADDA算法中相同實驗設(shè)置下的分類正確率指標(biāo),對于MNIST→USPS域適應(yīng)任務(wù),提升了7.8%;對于USPS→MNIST域適應(yīng)任務(wù),提升了0.7%;對于SVHN→MNIST域適應(yīng)任務(wù),提升了17.7%.
最后,需要注意的是,在特征更為復(fù)雜的SVHN→MNIST域適應(yīng)任務(wù)中,本文所用方法僅使用了30%的目標(biāo)域數(shù)據(jù)用于無監(jiān)督訓(xùn)練,便取得了更好的成績,且遠(yuǎn)超ADDA的性能;另外,該任務(wù)中,域適應(yīng)前后,相較于Source Only(ADDA)到ADDA的提升,本文算法所訓(xùn)練的域適應(yīng)模型的分類正確率提升了20.3%,而ADDA算法僅提升了15.9%.在SVHN→MNIST域適應(yīng)任務(wù)上的大幅提升,表明本文所提出的算法具有推廣到復(fù)雜情況的潛力.其他方面,在MNIST→USPS的域適應(yīng)任務(wù)中,對比最新的相關(guān)研究成果[18],本文所提出的算法取得了SOTA.
除此之外,本文還和其他幾種最新的相關(guān)研究成果進(jìn)行了比對,本文所提出的算法在使用更少的參數(shù)量的情況下,取得了超過或與它們相近的成績.盡管在USPS→MNIST和SVHN→MNIST任務(wù)中,本文沒有取得SOTA,但是,包括ADDA在內(nèi),其他相關(guān)研究工作普遍使用了更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)或采用了數(shù)據(jù)增強等其他技術(shù)手段,并在此基礎(chǔ)上取得了當(dāng)前的性能表現(xiàn).相比之下,本文的研究工作主要著力于改進(jìn)ADDA的2個缺陷——特征提取能力和模式崩塌問題,而不是組合、使用其他技巧來取得新的SOTA.因此,雖然沒有在所有標(biāo)準(zhǔn)任務(wù)中達(dá)到SOTA,但拋開其他網(wǎng)絡(luò)訓(xùn)練技巧,本文的工作依舊取得了較好的成果,更具有說服性和啟發(fā)性的意義.
針對數(shù)據(jù)分布不同但任務(wù)相同的域適應(yīng)任務(wù),本文通過對抗性學(xué)習(xí)得到一種特征轉(zhuǎn)換方案,使得在轉(zhuǎn)換過后的特征空間上源域和目標(biāo)域分布的區(qū)分度達(dá)到最小,以此繞過在標(biāo)簽稀疏或缺失的目標(biāo)域上無法進(jìn)行有監(jiān)督學(xué)習(xí)的障礙,并利用源域的標(biāo)注數(shù)據(jù)提高模型整體的訓(xùn)練質(zhì)量,提升模型在目標(biāo)域上進(jìn)行無監(jiān)督遷移學(xué)習(xí)的性能表現(xiàn).
簡而言之,從ADDA的固有缺陷著手,受到了膠囊網(wǎng)絡(luò)的啟發(fā),本文對膠囊網(wǎng)絡(luò)的架構(gòu)進(jìn)行了一定改進(jìn),提出了Res-CapsNet架構(gòu)并與ADDA算法相結(jié)合,極大地提升了ADDA算法的性能表現(xiàn).為了使得基于對抗性學(xué)習(xí)方案的ADDA算法更加穩(wěn)定、有效地最小化域間距離,本文融入VAE-GAN的思想,將Res-CapsNet調(diào)整為自編碼器混入網(wǎng)絡(luò)中.最后,在多個復(fù)雜程度不同的域適應(yīng)任務(wù)中,通過實驗驗證了本文所提算法的有效性.
今后的研究工作及展望是嘗試探究膠囊網(wǎng)絡(luò)所使用的路由算法對性能的影響,以期提高算法的整體穩(wěn)定度和樣本特征提取性能.