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中,具有很好的泛化性。由于理论和实践都比较简单,可以尝试带入一些模型试试。

 

 

 

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