1. 程式人生 > >Adversarial Discriminative Domain Adaption 閱讀筆記

Adversarial Discriminative Domain Adaption 閱讀筆記

文章發表於 CVPR 2017

文章利用GAN網路的思想用於cross-domain識別

文章首先提到

        1 先前的生成網路不適用於大的domain shift

        2 先前的辨別網路施加固定的權重,沒有利用GAN的loss

1 introduction

一般而言,對於這種跨領域的任務,最簡單的思想就是先訓練source domain, 然後利用fine-tuning調整引數。但是,如果source domain沒有足夠的label,將會失效。最近的domain adaptation方案:將兩個域的feature投影到統一的特徵空間。通過最小化一定的約束學習對映。這些方法總結為一些選擇:


        1 是否使用生成器generator

        2 使用什麼loss function

        3 是否權值共享

        4 。。。

       生成步驟不是必須,因為目標是分類識別,用非對稱的對映更好,因為不同的domain有不同的特性(因此不提倡全部權值共享)。

2 related work

        一類方法是:通過一個損失函式,最小化source domain和target domain的差別,如MMD, DCC。另一類方法是選擇對抗性的loss:使用一個domain二分類器(簡單的全連線神經網路)將獲取的特徵進行分類,然後定義一個domain confusing loss,通過優化特徵提取讓該domain二分類器分辨不出他們來。

3 生成對抗adaptation

        先學習一個source域的對映Ms,一個source域的分類器Cs來分類。由於source domain有標籤,我們可以輕易地學習到這倆。現在的問題是如何把Ms和Cs遷移到target domain。首先一個假設是,分類器是共享的,也就是說Ct=Cs,相當於在對映後的子空間內,源域和目標域有著相同的分佈。因此,只需要學習Mt, 為了獲得Mt,需要定義一個domain分類器D,借鑑GAN網路的思想,優化D的目標函式為:


        這和GAN網路的優化目標

        

        很相似。怎麼解釋呢?這個分類器D我們希望它能儘量分類出得到的feature是來自於哪一個domain,因此,D(Mt(xt))理想的結果是0,D(Ms(Xs))理想的結果是1,最小化LadvD 可以得到當前的域分類器D。得到D後,通過訓練Xt,希望D儘可能區分不出二者,即:


        這裡,是Ms和Mt要滿足的約束,比如,對於全權值共享來說,Ms=Mt,對於無權值共享來說,這兩者無需滿足任何約束。對於部分權值共享:


       這表示,在第li層,Ms和Mt的權值是一樣的。全權值共享不好,因為一個網路很難能夠同時獲取兩個域的有用特徵。

       本文決定不給他們任何約束,即沒有任何權值共享。那麼剩下的問題就是如歌確定第二項:LadvM了。如果借鑑原始的GAN的思想:


       這個的問題是容易發生梯度消失。改進方法是:將label反轉,最優化目標變為:


        希望D將Xt分類為1,該式子和上一個式子其實是等效的,但是有更強的梯度。如果Mt和Ms都不固定,這個loss function就不好,因為容易引發震盪,當然有其他選擇,比如交叉熵:


        當然,在本文中,我們固定了Ms,因此採用標準的GAN所採用的方法。至此,幾個關鍵的選擇都確定了,如下:


        具體的操作:

       1 先通過source domain的樣本和標籤訓練Ms和C

       2 保持Ms和C不變,用Ms初始化Mt,並交替優化第二項第三項,獲得D和Mt

       3 testing stage:target domain的sample直接通過Mt和C獲得預測的標籤。

圖示如下: