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