研究意义
•
创建了首个大规模高清人脸数据集CelebA-HQ数据集,使得高清人脸生成的研究成为可能
•
首次生成了1024*1024分辨率的高清图像,确立了GAN在图像生成领域的绝对优势,大大加速了图像生成从实验室走向实际应用
•
从低分辨率逐次提升的策略缩短了训练所需的时间,训练速度提升2-6倍
渐进式训练
•
生成器和判别器层数由浅到深,不断增长,生成图像的分辨率从4*4开始逐渐变大
•
生成器和判别器的增长保持同步,始终互为镜像结构
•
当前所有被添加进网络的层都是可训练的
•
新的层是平滑的添加进来,以防止对现有网络照成冲击
•
新增加一个层时为过渡期,通过加权系数ɑ对上一层和当前层的输出进行加权
•
ɑ从 0 线性增长到 1
•
在过渡期,判别器对真实图像和生成图像同样都进行ɑ加权
•
生成器中的上采样使用最近邻Resize,判别器中的下采样使用平均池化
•
toRGB和fromRGB使用1*1卷积
Figure 2: When doubling the resolution of the generator (G) and discriminator (D) we fade in the new layers smoothly. This example illustrates the transition from 16 × 16 images (a) to 32 × 32images ©. During the transition (b) we treat the layers that operate on the higher resolution like a residual block, whose weight α increases linearly from 0 to 1. Here 2× and 0.5× refer to doubling and halving the image resolution using nearest neighbor filtering and average pooling, respectively. The toRGB represents a layer that projects feature vectors to RGB colors and fromRGB does the reverse; both use 1 × 1 convolutions. When training the discriminator, we feed in real images that are downscaled to match the current resolution of the network. During a resolution transition, we interpolate between two resolutions of the real images, similarly to how the generator output combines two resolutions.
•
渐近式增长使训练更加稳定
•
为了证明渐进式增长与loss设计是正交的,论文中分别尝试了WGAN-GP和LSGAN两种loss
•
渐进式增长也能减少训练时间,根据输出分辨率的不同,训练速度能提升2-6倍
•
WGAN-GP损失函数,使用gradient penalty策略来代替WGAN中的weight clipping,以使得判别器继续满足Lipschitz连续条件,同时判别器中无法再使用BN层
Minibatch标准差
•
不需要任何参数或超参数
•
在判别器中,对于每个channel的每个像素点分别计算batch内的标准差并取平均,得到一个代表整体标准差的标量
•
复制这个标准差把它扩展为一个feature map,concat到现有维度上
•
加到判别器的末尾处效果最好
•
其他的一些增加生成多样性的方法,可以比这个方法效果更好,或者与此方法正交
均衡学习率
Equalized learning rate
•
使用标准正态分布来初始化权重,然后在运行阶段对权重进行缩放,缩放系数使用He初始化中求得的标准差
•
之所以进行动态的缩放,而不是直接使用He初始化,与当前流行的自适应随机梯度下降方法(比如Adam)中的尺度不变性相关
•
自适应随机梯度下降方法,会对频繁变化的参数以更小的步长进行更新,而稀疏的参数以更大的步长进行更新;比如在使用Adam时,如果某些参数的变化范围(标准差)比较大,那么它会被设置一个较小的学习速率
•
通过这样的动态缩放权重,在使用自适应随机梯度下降方法时,就可以确保所有权重的变化范围和学习速率都相同
生成器中的像素归一化
Pixelwise normalization
•
希望能控制网络中的信号幅度
•
在生成器的每一个卷积层之后,对feature中每个像素在channel上归一化到单位长度
•
使用“局部响应归一化”的变体来实现
•
这样一个非常严格的限制,不过却并没有让生成器的性能受到损失
•
对于大多数数据集来说,使用像素归一化后结果没有太大变化,但可以在网络的信号强度过大时进行有效抑制
评价指标
Evaluation method
•
MS-SSIM能发现GAN大尺度的模式崩溃,但对细节上颜色、纹理的多样性不敏感,并且也不能直接用来评估两个图像数据集的相似性
•
作者认为,一个成功的生成器,它生成的图像在任意尺度上,与训练集应该都有着良好的局部结构相似性
•
基于此设计了一种基于多尺度统计相似性的评价方法,来比较两个数据集的局部图像块之间的分布
•
随机选取了16384张图片,使用拉普拉斯金字塔抽取图像块,来进行图像的多尺度表达,尺寸从16*16开始,每次增大一倍一直到原始大小
•
每个分辨率尺度上挑选128个描述子
•
每个描述子是一个7x7x3的像素块,3为颜色通道数
•
总共有16384128=2.1M个大小为773=147的描述子
•
对每个描述子,在各个颜色channel上进行均值和标准差的归一化
•
使用 sliced Wasserstein distance (SWD) 来计算两组图像间各个描述子的距离
•
SWD是一种对Wasserstein distance(推土机距离)的近似,因为两个高维分布间的WD不方便计算
•
比较小的SWD,表示两个图像数据集间的图像外观和整体方差都比较接近
•
对不同分辨率的SWD来说,1616上的SWD代表大尺度上图像结构的相似性,而原始分辨率上的SWD则代表像素级的差异,比如噪声和边缘的锐度
消融实验
Ablation experiment
•
生成图像的分辨率为128x128,使用轻量级网络,在训练量达到10M时停止,网络还没有完全收敛
•
MS-SSIM的评价使用了10000张生成图像
•
一开始 batch size设为 64,之后改为 16
•
最终版本使用了更大的网络和更长时间的训练使得网络收敛,其生成效果至少可以与SOA相比较
•
使用渐进式训练一方面可以提升生成质量,一方面可以减少训练的总时间
•
可以把渐进式的网络加深看做是一种隐式的课程学习,从而来理解生成质量的提升