DiscoGAN

1、目的跨域

提出一個基於GAN的網絡框架來學習發現跨域關係(cross-domain relation),把尋找這種關係變成了用一種風格的圖片生成另外一種風格。網絡

下面是論文列舉的手提包生成鞋、鞋生成手提包的示意圖。框架

 

2、模型dom

標準的GAN模型 函數

圖中xA、xB分別表示A裏面和B裏面的真實樣本,xAB表示真實樣本xA經生成器GAB生成的樣本。性能

標準的GAN模型很容易發生模式崩潰。學習

帶有重建損失的GAN模型優化

  GAB表示域A到域B的生成器,GBA表示域B到域A的生成器。爲了找到有意義的對應關係,須要將這個映射限制成一對一映射,意思就是說,GAB和GBA應該是恰好相反的映射。對於全部的A裏面的真實樣本xA,GAB(xA)都要在B裏面,對於GBA(xB)也同樣。spa

  基於前面所提出的一對一映射,對於全部的A裏面的真實樣本xA,GAB(xA)都要在B裏面,這至關於要知足GBA(GAB(xA))=xA這個條件,可是這個條件很難優化,因而改成最小化距離d(GBA(GAB(xA)),xA),這個d能夠是L1,L2等等的度量函數。3d

生成器的損失函數以下:

 

          

生成器GAB收到兩個損失,一個是重建損失(reconstruction loss),描述通過兩個生成器以後的重建效果與原始真實樣本的差距,另一個是原始GAN的生成損失,表示GAB生成的樣原本自B的逼真性。

判別器的損失以下:

 

D表示相應域的判別器。

 

相對於原始的GAN模型,這裏的重建約束雖然迫使重建樣本與原始的同樣,可是這仍然會致使相似的模式崩潰問題。

 

(a)是咱們理想的映射,一對一的;(b)是原始GAN的結果,A中的多個模式映射到了B中的一個模式,就是模式崩潰的狀況;(c)是加入了重建損失的GAN,A中兩個模式的數據都映射到了B中的一個模式,而B中一個模式的數據只能映射到A中這兩個模式中的一個。重建損失使得模型在(c)中的兩個狀態之間震盪,而並不能解決模式崩潰問題。

 對(c)的解釋:當出現模式崩潰時,重建損失強制要求重建樣本和原來的樣本同樣,因此會在DomainA中兩個模式之間震盪。

 

 

DiscoGAN

  爲了解決模式崩潰的問題,就要使得無論是GAB仍是GBA,不一樣模式生成出來的就應該是不一樣的,因而很天然地想到了對稱結構,就是再加一個反過來的生成網絡,迫使A和B中的數據一一對應。

 

模型中包含兩個生成器GAB,這兩個GAB是同樣的,還有兩個生成器GBA,這兩個也是同樣的。這樣就實現了一對一的映射。

損失函數以下:

 

網絡結構:

 

3、實驗

toy實驗

  首先爲了證實所提出的這種對稱模型對於模式崩潰問題的良好性能,作了一個演示實驗。A和B中的數據都是二維的,真實樣本都取自混合高斯模型。用3個線性層和一個ReLU激活層做爲生成器,判別器用5個線性層,每層後面接一個ReLU層,最後再接一個sigmoid層將輸出限定在[0,1]之間。

 

  彩色背景表示判別器的輸出值,」x」表示B種不一樣的模式。(a)標示了10個目標模式和最初的轉換結果;(b)是標準的GAN迭代40000次的結果;(c)是加入重建損失的網絡迭代40000次的結果;(d)是文章提出的DiscoGAN迭代40000次後的結果。標準GAN的許多不一樣顏色的轉換點都位於B相同的模式下,海藍和淺藍色的點離得很近,橙色和綠色的點也在一塊兒,多種顏色的點(A中的多種模式)都映射到B的同一種模式下。帶有重建損失的GAN的模式崩潰問題已經不那麼嚴重了,可是海藍、綠色和淺藍色的點仍然會在少數幾個模式上重疊。標準的GAN和帶有重建損失的GAN都沒有覆蓋B中的全部模式,DiscoGAN將A中的樣本轉換爲B中有邊界不重疊的區域,避免了模式崩潰,而且產生的B樣本覆蓋了全部10種模式,所以這個映射是雙射,從A轉換的樣本也把B的鑑別器個騙過了。

 

轉換實驗

汽車到汽車,人臉到人臉,性別轉換(a,b),頭髮顏色轉換(c),是否戴眼鏡轉換(d),先轉換性別再轉換頭髮顏色(e),頭髮顏色、性別來回轉(f),椅子到汽車,汽車到人臉

 

 

 

輪廓和圖像互轉

相關文章
相關標籤/搜索