Overview
- 逐渐的生成高清图片,开始的时候生成的图片是模糊的(这和第一次能生成出高清图像的proGAN方法是差不多的proGAN首先生成4*4的小图像)
- 通过改变每一层的输入,来控制这一层的视觉特征(比如脸部的形状,动作,姿势,头发的颜色)而不影响其他层,越低的层有越粗糙的视觉概念。
-
因此这篇论文中根据图像的尺寸的不同,分成了三个阶段
Mapping Network
- 将一个随机变量,映射成中间变量,这个中间变量不同的
elements
控制不同的视觉特征。
-
W
经过一个线性放射变换生成了AdaIN
中的scale
和bias
,这个就是style
模块,定义了每个filter的重要性,将表示style
信息的w
加入到了视觉特征中。

-
输入不再是随机的噪声,而是确定的常数,加入表示随机性的噪音是和adain的方法是一样的,这样也是为了解耦。
-
一个比较重要的训练技巧是使用两个
latent code
得到两个不同的W
,然后先用一个W
训练一些层然后用另外一个W
训练另外的层
-
测试的时候就不是使用
random vector
,而是通过对W
进行操作控制生成的东西,感觉W
就和VAE
里面的隐变量的效果是一样的了,这样既可以保证生成的图片是高清的也可以通过对W
每一层的W
进行操作来控制图像向什么方向进行调整,比如现在有一个中心图像是科比,然后我们想得到一个有头发的科比的图像,因此可以通过改变相应层的W
来改变视觉特征,比如图中的那个黑函数是通过固定其他层的W
只改变这一层的W
来看生成图像的变化得到的一个映射函数,这样我们就可以生成想要style
的图像了。
-
其他一些细节
-
训练细节,比
big gan
耗费的资源少多了。
-
作者解释了为什么是用8层的全连接层生成W,目的就是为了使得特征直接分离的更好,作者定义了两种测量特征是否很好分离的方法,一种是对两个random vector进行差值生成新的vector如果生成的图像变化剧烈说行特征纠缠在一起了,还有一个就是线性可分性,对于一个特征构造一个分类器,如果分类器分类的效果越好,说明特征是越没有纠缠的。作者对比了
8
层MLP和2
层MLP
,发现8
层MLP
生成的w vector
显著的可分离
网友评论