1. 程式人生 > >2017CVPR--Adversarial Discriminative Domain Adaptation 對抗判別域適應

2017CVPR--Adversarial Discriminative Domain Adaptation 對抗判別域適應

ADDA是當前域適應方法中較為出色的一種,同時也是一種典型的asymmetric transformation。看了一些關於該論文的筆記,覺得不夠通俗,於是自己總結了一下,也希望可以幫助大家稍微理解一點。

論文地址:https://arxiv.org/abs/1702.05464

背景

生成對抗學習是現今一種很具前景的方法,生成器通過將源域分佈不斷的更新改進,使源域分佈近似於目標域分佈甚至是等同於目標分佈,從而讓域判別器無法識別出資料是來自哪一域。域適應是遷移學習的一部分,遷移學習則是想利用類似於目標分佈的源分佈,從中遷移出對目標任務分類有益的“知識”,或者是將源分佈與目標分佈對映到“共同特徵空間”,完成對目標任務的無監督/半監督/少樣本學習等。由此可見,對抗學習和遷移學習有太多明眼人看得出來的“勾搭”,如此,何不將二者融合,完成Learning大業?是的,對抗學習與遷移學習的融合是當前遷移學習領域中的一個熱點,一些方法通過將對抗學習用於無監督域適應,確實減少了源域和目標域之間的差異,並提高了泛化能力,但是其中也存在一些改進的地方,比如CoGAN對源域和目標域之間不太相似的情況下表現的不太滿意、使用梯度反轉在判別器訓練前期會收斂的很快,但會導致梯度的逐漸消失、使用權值共享的對稱對映(Symmetric mapping)使得源分類器表現很棒,但是在多源域的情況下表現就不好。因此提出了一個簡易而有效的ADDA框架,並在MNIST, USPS, 和 SVHN資料集上超越了當時的state-of-the-art效果。

解決思路

作者認為之前不同的演算法主要不同於設計:1.是否使用生成或者是判別基礎模型 2.使用何種損失函式(優化) 3.是否在域間分享權值(源域和目標域對映)。 如下圖:

而作者也從這幾個部分詳細的介紹了ADDA。

一、源域和目標域對映

如何最小化源域和目標域對映的距離是一個開放的問題,因此,第一步是將這些對映引數化。無監督域適應通常認為目標判別任務是一些分類任務,以前的域適應方法一般是在域間建立域適應判別模型。通過一個判別基礎模型,輸入影象被對映到對判別任務(例如影象分類)有用的特徵空間中,例如在數字識別中,可能是一個標準的LeNet模型。而對於將域適應和對抗模型相結合的例子,Liu和Tuzel使用了兩個生成對抗網路完成MNIST到USPS的遷移,並取得了很好的效果,這些生成模型使用隨機噪聲作為輸入以在影象空間中生成樣本,然後,網路中的對抗判別器的中間特徵被用來訓練一個目標任務分類器。這些特徵空間啊,中間特徵啊,就是對源域的對映結果,而完成這些對映的引數即對映的引數化。

一旦確定了源域的對映引數化 M s M_s ,我們就必須決定如何引數化目標對映 M t

M_t 。通常,目標對映幾乎總是在特定功能層(架構)方面與源域匹配(比如模型中的某些結構類似、將模型間的引數繫結),但是不同的方法已經提出了各種正則化技術。所有的方法都使用源對映來初始化目標對映引數,但是不同的方法在目標域和源域對映之間使用了不同的約束條件,即 ψ ( M s , M t ) \psi(M_s,M_t) ,而目的是通過約束源域對映和目標對映,來完成最小化源域和目標域之間的距離。

而常用的一種約束是源域和目標域之間的層級相等:
ψ ι i ( M s ι i , M t ι i ) = ( M s ι i = M t ι i ) \psi_{\iota_i}(M_s^{\iota_i},M_t^{\iota_i})=(M_s^{\iota_i}=M_t^{\iota_i})

這些相等約束可以在卷積網路框架中通過權值共享很容易實現。通過限制所有的網路層,這樣可以強制源域和目標域對映保持一致,學習這樣的對稱轉換(symmetric transformation)可以節省模型中的引數(因為目標對映和源域對映引數基本一致)。然而因為這種約束比較粗魯,通常使得優化條件較差,失去了一些特定域特徵,這導致了在使用一個網路處理來自兩個不同域的圖片的情況下表現不太理想。

而另一種方法則是學習一種非對稱性變換(asymmetric transformation):只對網路層中的某一部分加以限制,從而強制部分對齊。Rozantsev表示部分權值共享也可以產生有效的適應性。

二、損失函式選擇(Adversarial losses對抗損失)

當目標對映引數化確定以後,就可以使用對抗損失來學習實際映射了。存在很多種不同的對抗損失函式可以選擇,而每種損失函式都有他們自己獨特的使用場景。所有的對抗損失都使用一種標準的分類損失$\mathcal{L}_{adv_D} $來訓練對抗判別器:
L a d v D ( X s , X t , M s , M t ) = E x s X s [ l o g D ( M s ( x s ) ) ] E x t X t [ l o g ( 1 D ( M t ( x t ) ) ) ] \mathcal{L}_{adv_D} (X_s,X_t,M_s,M_t) = -E_{x_s\sim X_s}[logD(M_s(x_s))]-E_{x_t\sim X_t}[log(1-D(M_t(x_t)))]

然後,不同的是在訓練對映中使用的損失函式 L a d v M \mathcal{L}_{adv_M} ,《Domainadversarial training of neural networks》中梯度反轉層中直接使用最大最小化判別器損失來優化對映:

L a d v M = L a d v D \mathcal{L}_{adv_M} = -\mathcal{L}_{adv_D}

而直接進行梯度反轉是有問題的,因為在訓練判別器早期收斂的較快,從而導致了梯度消失。將該式子分為兩個獨立的式子,一個用於生成器,一個用於判別器,其中 L a d v D \mathcal{L}_{adv_D} 保持不變,而 L a d v M \mathcal{L}_{adv_M} 變為:
L a d v M ( X s , X t , D ) = E x t X t [ l o g ( D ( M t ( x t ) ) ) ] \mathcal{L}_{adv_M} (X_s,X_t,D) = -E_{x_t\sim X_t}[log(D(M_t(x_t)))]

這樣與minimax損失有著相同的固定點屬性,但是為目標對映提供了更強的梯度。稱這種經過修改的損失函式為"GAN loss function"。到此,已經為源域和目標域使用了獨立的對映,並且只對抗的學習了 M t M_t M s M_s 被固定)。這與GAN的設定是類似的,其中真實影象分佈保持固定,生成分佈通過學習以匹配它。GAN損失函式是生成器模擬另一個不變分佈的標準選擇。

三、ADDA

在上述的三個選擇:是否選擇生成或判別基礎模型,是否權值共享,使用何種對抗損失函式,ADDA使用了一個判別基礎模型,權值不共享和標準的GAN損失。框架流程如下圖所示:

首先,作者選擇了一個判別基礎模型,因為假設生成令人信服的域內樣本所需的大部分引數與判別適應任務無關。大多數之前的對抗適應性方法也因為這個原因直接在判別空間中優化。

接下來,將源域和目標域對映通過解開權值完成獨立。這是一種更具有靈活性的學習方式,因為它允許更多的域特定特徵被提取出來用以學習。由於目標域是沒有標籤可用的,因此,沒有權值共享,如果不注意正確的初始化和訓練程式,目標模型有可能會導致學習退化的現象。可以這麼理解,如果源和目標沒有約束,根據對抗損失各自學習的話,很有可能會產生類似於震盪效果的學習,即學習的退化,也不容易找到最優點,因此,在ADDA中,對網路增加了一個約束,這個約束就是對源模型進行預訓練(圖中的第一個),並且在對抗適應性中固定源模型引數(圖中的第二個)來完成,這樣可以將源模型作為一個參照,通過損失梯度傳遞,將經過對映的目標域資料分佈逐漸逼近源對映後的資料分佈,以至於判別器無法區分源域和目標域。

通過這樣做,可以有效的學習到一個非對稱對映,其中,通過修改目標模型以致於匹配源分佈。這與原始的生成對抗學習設計很相似,其中生成空間被更新直到判別器無法分辨。因此,也選擇了GAN損失函式。ADDA對應的無限制優化如下:

min M s , C L c l s ( X s , Y s ) = E ( x s , y s ) ( X s , Y s ) k = 1 K 1 [ k = y s ] l o g C ( M s ( x s ) ) \mathop{\min}\limits_{M_s,C} \mathcal{L}_{cls}(X_s,Y_s)= -E_{(x_s,y_s)\sim (X_s,Y_s)} \sum_{k=1}^{K} 1_{[k=y_s]} log C(M_s(x_s))

相關推薦

2017CVPR--Adversarial Discriminative Domain Adaptation 對抗判別適應

ADDA是當前域適應方法中較為出色的一種,同時也是一種典型的asymmetric transformation。看了一些關於該論文的筆記,覺得不夠通俗,於是自己總結了一下,也希望可以幫助大家稍微理解一點。 論文地址:https://arxiv.org/abs/1702.05464 背

Open Set Domain Adaptation 開放集適應

論文地址: http://openaccess.thecvf.com/content_ICCV_2017/papers/Busto_Open_Set_Domain_ICCV_2017_paper.pdf。 簡介 開放集域適應,何謂開放集?既然是Open Set,那麼也應該有個對應的C

Adversarial Discriminative Domain Adaption 閱讀筆記

文章發表於 CVPR 2017 文章利用GAN網路的思想用於cross-domain識別 文章首先提到         1 先前的生成網路不適用於大的domain shift         2 先前的辨別網路施加固定的權重,沒有利用GAN的loss 1 introduct

Conditional Adversarial Domain Adaptation 條件對抗適應

本部落格參考知乎王晉東不在家的知乎文章以及論文原文得來 論文地址:https://arxiv.org/abs/1705.10667 王晉東不在家知乎主頁:https://www.zhihu.com/people/jindongwang/activities 背景 對抗學習已經

Importance Weighted Adversarial Nets for Partial Domain Adaptation 使用加權對抗網路實現部分適應

論文地址:https://arxiv.org/pdf/1803.09210。 簡介 這篇文章介紹了一種深度域適應方法,構造了兩個網路以及兩個判別器,兩個網路作用是分別提取源域和目標域的,然後一個判別器用於獲取源域樣本的重要性權重,第二個分類器使用經過加權的源域樣本特徵和目標域資料進行

「Transfer Learning」Note on CyCADA: Cycle-Consistent Adversarial Domain Adaptation

雖然CyCADA[1]被AdaptSegNet超越了,但是兩者可以結合在一起,進一步提升域適配中語義分割的效能。在沒有AdaptSegnNet的時候,CyCADA是很好的模型。在CyCADA論文的第三個版本中,發現DRN-26[2]比AdaptSegNet中D

Discovering Latent Domains for Multisource Domain Adaptation 聚類在適應中的應用

論文地址:http://www.icsi.berkeley.edu/pubs/vision/Hoffman_ECCV2012.pdf。 簡介 這篇論文為Hoffman發於2012年ECCV,雖然是12年的,但是新穎之處在於其將聚類的方法用到了域適應中。該方法針對於多源域域適應場景,並

【GAN ZOO閱讀】Unsupervised Pixel–Level Domain Adaptation with GAN 使用GAN的無監督的畫素級適應

原文連結,引用請標明出處 部分譯文參考自 https://blog.csdn.net/forever1993/article/details/78405280 摘要 收集註釋良好的影象資料集來訓練現代機器學習演算法對於許多工而言過於昂貴。 一個有吸引力的替代方案是渲染資料,並在其中自

適應學習筆記:visual Domain Adaptation

在遷移學習中, 當源域和目標的資料分佈不同 ,但兩個任務相同時,這種 特殊 的遷移學習 叫做域適應 (Domain Adaptation,DA )。因為其任務相同,所以根據上篇部落格中的內容可知,域適應屬於一種直推式遷移學習。它在2006年由Daumeaume

Duplex Generative Adversarial Network for Unsupervised Domain Adaptation

Duplex Generative Adversarial Network for Unsupervised Domain Adaptation     域自適應嘗試將從源域獲得的知識傳送到目標域,即測試資料所在的域。主要的挑戰在於源域和目標域之間的分佈差異。大多數現有工作通常通過最小化分

半監督學習演算法——ATDA(Asymmetric Tri-training for Unsupervised Domain Adaptation)

Asymmetric Tri-training for Unsupervised Domain Adaptation (2017 ICML)論文筆記 Abstract Tri-training(周志華,2005, 無監督學習領域最經典、知名度最高的做法)利用三個分類器按

論文閱讀筆記3——基於適應弱監督學習的目標檢測Cross-Domain Weakly-Supervised Object Detection through Progressive Domain A

本文是東京大學發表於 CVPR 2018 的工作,論文提出了基於域適應的弱監督學習策略,在源域擁有充足的例項級標註的資料,但目標域僅有少量影象級標註的資料的情況下,儘可能準確地實現對目標域資料的物體檢測。 ■ 連結 | https://www.paperweekly.site/papers/21

半監督遷移學習-Deep Asymmetric Transfer Network for Unbalanced Domain Adaptation

來源:AAAI2018 本文是提出半監督遷移學習框架DATN,解決源域和目標域資料不平衡的問題,屬於領域自適應中的第二種正規化:將目標域對映到源域 框架的主要思想是使用源域的豐富資料和標籤幫助解決目標域因資料稀少造成的效能差的問題。 主要分為兩步 第一步:通過自編碼器學習兩個域的特徵表示

Generative Adversarial Network (GAN) 生成對抗網路

Part One. Introduction of GAN The Structure of GAN 其中可以看到GAN中有兩個最關鍵的結構就是generator(生成器)和discriminator(判別器)。生成器是為了生成接近真實資料分佈的虛假樣本,判別器是為了

Distant Domain Transfer Learning遠遷移學習--通過人臉識別飛機!

論文地址: http://www.ntu.edu.sg/home/sinnopan/publications/[AAAI17]Distant Domain Transfer Learning.pdf 從標題就可以看出,這是一個想法很牛掰的方法,當然實際也很牛掰。現今很多遷移學習方法都是假

遷移學習之語義分割對抗適應

問題背景: 自動駕駛場景:當前語義分割演算法需要大量有標籤的資料集,然而,這些畫素級的標註資訊的獲取代價是非常巨大的。   針對這一問題,有學者提出了通過遊戲引擎來合成自動駕駛場景下的影象資料,同時得到畫素級的語義標籤,避免了標註真實影象所需要耗費的大量人力物力。 &nbs

通過document.domain + iframe解決跨問題

document.domain用來得到當前網頁的域名。 alert(document.domain); //"www.baidu.com" 我們也可以給document.domain屬性賦值,不過是有限制的,你只能賦成當

論文閱讀:Unsupervised Domain Adaptation for Face Recognition in Unlabeled Videos

概述: Unsupervised Domain Adaptation for Face Recognition in Unlabeled Videos,ICCV 2017的文章,實現的是用domain adaptation技術將沒有label 的視訊資料遷移到圖片識別網路中

【論文筆記】Domain Adaptation via Transfer Component Analysis

測試 lin ack 利用 參考文獻 program clas rim ast 論文題目:《Domain Adaptation via Transfer Component Analysis》 論文作者:Sinno Jialin Pan, Ivor W. Tsang, Ja

深度學習(9)——無監督語義分割之全卷積適應網路(譯文)

無監督語義分割之全卷積域適應網路 摘要 深度神經網路的最新進展令人信服地證明了在大型資料集上學習視覺模型的高能力。然而,收集專家標記的資料集尤其是畫素級註釋是一個非常昂貴的過程。一個吸引人的選擇是渲染合成數據(例如,計算機遊戲)並自動生成基礎事實。然而,簡單地