GAN系列:論文閱讀——MSGAN(Mode Seeking Generative Adversarial Networks for Diverse Image Synthesis)

這篇論文來自2019CVPR,用以解決conditional GAN中的mode collapse問題,改善圖像生成的多樣性。

mode collapse是指生成的圖像多樣性較差,非常接近數據集中的某一種,以試圖矇騙判別器。產生原因是:數據集中的圖像可分爲多個mode(其實就是幾大類),有的mode中的圖像比較多,稱爲large mode,有的稱爲small mode。對應到分佈中,就是large mode是比較高的峯值,而small mode對應較低的峯值,採樣可能性更小。因此如果生成large mode的圖像,會產生更大的梯度,便於優化目標函數,同時也可以騙過判別器,因此生成器就會越來越趨向於生成large mode中的圖像。可以結合下圖理解:

上圖中的M就表示mode,其中的M_1,M_3,M_5就是small mode,M_2,M_4可以看作large mode。

目前mode collapse的解決方法主要是針對GAN的,有兩大類:

1. 改善判別器的收斂矩陣或目標函數

2. 增加網絡結構:多個生成器或者加入編碼器

針對CGAN的改進比較少,主要是第二類,但這種方法會帶來大量計算量,並且泛化性能較差,通常只針對特定的任務。因此本文提出了一種generalized的方法,並且在圖像生成,風格遷移等任務中進行了實驗,都有很好的效果。

DiStance ratio:

本文找到了一個量化模式崩塌的方法,即distance ratio(其實不確定是不是本文提出來的,只是我第一次遇到而已),公式如下:

ratio = \frac{d_I(G(c,z_1),G(c,z_2))}{d_z(z_1,z_2)}

公式中的d_I,d_z分別表示images間的distance matrix和latent vector間的distance matrix。G表示生成器,其中的c,z分別表示條件和latent vector。因此分母就是生成圖像間的距離,分子是生成這些圖像的vectors間的距離。每一次生成,可以看作生成器的函數將latent vector是投射到了image space中得到images,如果distance ratio很小並且當分子變小時(即latent vector更接近),分子更迅速地變小(vectors生成的圖像更加接近),說明發生了mode collapse。因此改善這種情況就可以通過變大distance ratio來實現。更大的distance ratio說明latent vector能映射到各種各樣的圖像,就包括了那些smaller mode。如下圖所示:

發生mode collapse時的distance ratio如最右側方框中的紅色數字所示,ratio非常小;經過本文使用的Mode seeking後,ratio增大了很多,並且圖中也可以看到,綠色的分佈中那些small mode的圖像得到了生成。

Loss Function:

如上所說的mode seeking是通過改變loss function實現的,在原本的loss function的基礎上增加了一項L_{ms}

這一項意在最大化distance ratio,以找到更好的生成器。因此MSGAN中的loss function可以寫作:

對於不同的task,L_{ori}的定義也不同。下面是在stackGAN中使用的情形:

可以看出MSGAN可以很方便地融入到各種task中,具有很好的泛化性。由於理論和實踐都比較簡單,可以嘗試帶入一些模型試試。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章