《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(二)

简介: 《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(二)

研究意义


创建了首个大规模高清人脸数据集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相比较



使用渐进式训练一方面可以提升生成质量,一方面可以减少训练的总时间

可以把渐进式的网络加深看做是一种隐式的课程学习,从而来理解生成质量的提升

目录
相关文章
|
机器学习/深度学习
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(一)
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(一)
67 0
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(一)
|
机器学习/深度学习 编解码 数据可视化
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(三)
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(三)
61 0
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(三)
|
机器学习/深度学习 算法 vr&ar
【读书笔记】Algorithms for Decision Making(9)
与基于模型的方法相比,无模型方法不需要构建转移函数和奖励函数的显性表示,而是直接作用于值函数建模。进一步地,考虑模拟学习来重建奖励函数。
【读书笔记】Algorithms for Decision Making(9)
|
Python
【读书笔记】Algorithms for Decision Making(2)
理性决策需要对不确定性和目标进行推理。不确定性源于预测未来事件能力的实际及理论限制。为了实现其目标,一个强有力的决策系统必须考虑到当前世界状况和未来事件中的各种不确定性来源。
【读书笔记】Algorithms for Decision Making(2)
|
机器学习/深度学习 人工智能 算法
【读书笔记】Algorithms for Decision Making(1)
我自己的粗浅看法:机器学习要不是拟合逼近(经常提及的machine learning),要不就是决策过程(reinforcement learning),这本书主要讲述后者的前世今生。
269 0
【读书笔记】Algorithms for Decision Making(1)
|
算法 关系型数据库 数据建模
【读书笔记】Algorithms for Decision Making(4)
本部分讨论从数据学习或拟合模型参数的问题,进一步讨论了从数据中学习模型结构的方法,最后对决策理论进行了简单的概述。
【读书笔记】Algorithms for Decision Making(4)
|
算法
【读书笔记】Algorithms for Decision Making(11)
在有限维场景中,POMDP问题的精确解也经常很难计算。因而,考虑求得近似解的方法是合理的。本部分从离线近似解讨论到在线近似解,是近似方法的常规逻辑思路。
106 0
|
机器学习/深度学习 算法 流计算
【读书笔记】Algorithms for Decision Making(6)
对于较大状态空间的问题,计算精确解需要极大的内存量,因而考虑近似解的方法。常使用approximate dynamic programming的方法去寻求近似解,进而使用在线方法实现实时计算。
119 0
【读书笔记】Algorithms for Decision Making(6)
|
人工智能 vr&ar 决策智能
【读书笔记】Algorithms for Decision Making(12)
现将单智能体的核心概念扩展到多智能体系统的问题。在该系统中,可将其他智能体建模为潜在的盟友或对手,并随着时间的推移进行相应的调整。
|
vr&ar
【读书笔记】Algorithms for Decision Making(5)
此前讲述了在某个时间点做一个单一的决定的问题,但许多重要的问题需要做出一系列的决定。序列环境中的最佳决策需要对未来行动和观察序列进行推理。