GAN生成高分辨率的图像存在的问题:
1.高分辨率图像特征丰富,很容易判断图像的真假。这放大了梯度问题,使得梯度不能指示正确的优化方向
2.由于内存的限制,生成高分辨率的图像,往往会降低batch_size,使训练不稳定。
3.生成样本的质量和多样性存在互斥关系,追求较高的质量可能会使图像的多样性下降。
Progressive Growing of GANs for Improved Quality, Stability, and Variation
生成高分辨率的图像(一种渐进式的训练)
先由低分辨率开始,逐步提高,开始时,G只有一层,生成4*4的图像,相应的D也只有一层,判断4*4的图像是真是假,低分辨率的真实样本可由普通的较高分辨率图像采样得到,先把这两个简单的网络训练的差不多,然后同时提高G与D的尺度,比如G加一层,由4*4的图像生成8*8的图像;D做相应的变化,再次训练的差不多,然后再增加网络的尺度。网络结构如下:
训练前期,低分辨率的图像捕捉数据的轮廓信息,而逐步添加的网络来增加图像的细节信息。
已经得到训练的层在之后也同样被再训练学习。如何利用这些初步训练的层。为了稳定,作者设计的结构如下:
假设a已经初步训练了,在网络扩展一层的同时,保留原结构,就是b中会有两个分支,alpha代表两个分支的权重,在G的末端将两个分支加一块,但是,会存在尺度不匹配的问题,因此将之前尺寸的图像使用差值法直接增大一倍,即结构中的2x