背景(Domain Adaption在深度學習中的應(yīng)用)
Domain adaptation的應(yīng)用中有兩個域:一個包含大量的標簽信息纬霞,稱為源域(source domain);另一個只有少量的甚至沒有標簽滨溉,但是卻包含我們要預(yù)測的樣本 骨田,稱為目標域(target domain)重贺。所以骑祟,按照常理回懦,我們可以在源域上通過一般的機器學習方法來訓練得到判別模型。但是由于源域和目標域上的dataset bias次企,這個判別模型不能直接移植到目標域怯晕。如何在盡量不損失判別模型的條件下將判別模型由源域遷移到目標域,就是domain adaptation要解決的問題缸棵,也稱為遷移學習(transfer learning)贫贝。
大致目的
與以往的Domain adaptation在Deep Learing中的運用不同,這篇論文提出蛉谜,在source domain和target domain之間使用不同的參數(shù)而非共享參數(shù)(當然不是所有的layers都不共享參數(shù)稚晚,有些層還是共享了)。他們提出在試驗中這種網(wǎng)絡(luò)的表現(xiàn)會好于那些使用共享參數(shù)的網(wǎng)絡(luò)型诚。
- It therefore seems reasonable that the higher layers of the network, which encode higher-level information, should be domain-specific.(domain adaptation 的高層提取了高階的信息客燕,這些高階的信息可以是域特定的(source domain和target domain特定)
Loss Function
image.png
- Xs:source domain的輸入圖像
- Ys:source domain上的標簽
- Ns:source domain上的輸入圖像個數(shù)
- θs:source domain上的各個權(quán)重
- Xt,Yt,θt則是target domain上的
- Ntl:targetdomain中有標簽的圖像的個數(shù)
- c:某種形式的standard classification loss ,比如the logistic loss or the hinge loss
- λw,λu:regularizers (正則化的參數(shù)?)通常被設(shè)置為1
- rw:表現(xiàn)source domain和target domain中對應(yīng)層之間的損失(后面講狰贯,通常是對應(yīng)參數(shù)的線性損失)
- ru:使用MMD表現(xiàn)兩個層之間的相似程度也搓。(?)
- ?:使用不同參數(shù)的層(cov layer)
- Ls:source domain上的損失
- Lt:target domain上的損失
- Lw:因為source domain和target domain中對應(yīng)層之間的不同造成的損失
- Lmmd:因為因為source domain和target domain中對應(yīng)層之間的(涵紊?)
Weight Regularizer(rw)
- 為了避免overfit傍妒,所以引入了一個正則化的參數(shù)rw(target domain上labeled的圖像太少),使source domain上的參數(shù)和target domain上的參數(shù)有所關(guān)聯(lián)。
- 為了使變化更加靈活摸柄,懲罰的形式不是linear的(就是常數(shù)乘以差值那種颤练,L1?醬的)
L2 norm
或者
exponential form
實驗中指數(shù)形式的懲罰有更好的表現(xiàn)
Unsupervised Regularizer(ru)
- 使用Ru是為了最小化source domain和targetdomain中之間的距離
- 使用MMD(maximum mean discrepancy:最大平均差異)來描述source domain和targetdomain中之間的距離
-
MMD使用Reproducing Kernel Hilbert
Space (RKHS)多兩個與中的樣本進行一個映射
MMD的平方
f:feature驱负,應(yīng)該是最后一層的輸出的意思
φ:即RKHS的映射函數(shù)嗦玖。實際中通常不可知
- 通過使用kernel trick(?這個是?有一篇論文里有介紹)可以化成
ru
k是standard RBF kernel)
-
網(wǎng)絡(luò)架構(gòu)
Training
在BP的時候跃脊,使用了 AdaDelta algorithm(我在這里寫了一下宇挫,有興趣可以看看)。選擇了mini-batch而不是SGD
網(wǎng)絡(luò)結(jié)構(gòu)
- 分為兩個流(即stream)(source和target)酪术,其中每個流包含卷積層和max-pooling層(取最大值的匯聚層)器瘪,以及最后是full-connected layers(全連接層)。
- 實驗中發(fā)現(xiàn)使用鉸鏈損失(SVM)比logistics損失要好(sigmoid那個)
- 他們在選擇共享權(quán)重的網(wǎng)絡(luò)的時候绘雁,發(fā)現(xiàn)橡疼,MMD平方值(指的是訓練完畢以后輸出兩個stream的output之間的)越低的網(wǎng)絡(luò),相應(yīng)的精度也越高咧七。因此衰齐,他們選擇基于MMD來選擇網(wǎng)絡(luò)架構(gòu)任斋。(After training, we then computed the MMD2 value between the output of both streams for each configuration... the MMD2 value ought to be small when our architecture accounts well for the domain shift ... It therefore makes sense to choose the configuration that yields the smallest MMD2 value.)
- 取消Loss Function中的Lw項(即使得兩個stream之間的參數(shù)不相關(guān)聯(lián))會使得結(jié)果變糟继阻,導致overfit耻涛。
應(yīng)用范圍及優(yōu)缺點
- 總的來說,允許在兩個stream之間的一些層之間不共享參數(shù)可以更好地提升性能瘟檩。即直接地對域遷移建模是有用的抹缕。
- 然而,哪些層應(yīng)該或不應(yīng)該共享其權(quán)重的最佳選擇取決于實際的應(yīng)用墨辛。
- 在無人機識別的數(shù)據(jù)里卓研,讓前兩個層的參數(shù)不共享可以得到最佳的結(jié)果,這是因為無人機識別的兩個域里的數(shù)據(jù)差別主要來自low-level change(大概指的是低階的圖像差異睹簇,比如光照奏赘,這樣的)。
- 但是在Office dataset里太惠,讓最后兩層的參數(shù)不共享可得到最佳的結(jié)果磨淌,因為兩個圖像域的差異更加地復雜。
- 作者在論文中反復強調(diào)這個實驗結(jié)果優(yōu)于DDC(Deep Domain Confusion: Maximizing for Domain Invariance凿渊,我可能還需要讀論文來了解)
experiment
總結(jié)
- 論文作者假設(shè)Domain adaptation在deep learning中的應(yīng)用不應(yīng)當集中在對domain invariant feature的學習梁只,相反的,應(yīng)該對the domain shift進行直接的建模埃脏。
- 為了證明這個假設(shè)搪锣,作者引入了一個two-stream的CNN網(wǎng)絡(luò)結(jié)構(gòu),其中對應(yīng)層的參數(shù)可以共享也可以不共享
- 為了保證兩個stream對應(yīng)的參數(shù)是相關(guān)的彩掐,作者對非共享參數(shù)的層引入了額外的損失函數(shù)項來保證兩個stream對應(yīng)的參數(shù)之間接近線性的轉(zhuǎn)換
- 最后作者發(fā)現(xiàn)构舟,他的網(wǎng)絡(luò)相比于那些共享權(quán)重的網(wǎng)絡(luò)(無論是回歸問題還是分類問題),都有更高的精度堵幽。
- 作者未來希望研究更加復雜的權(quán)重轉(zhuǎn)換函數(shù)(而不是像本文中的僅僅只是線性)旁壮。