目录
StyleGAN1
潜在空间插值
潜在空间即特征空间,在proGAN中的体现即为输入的噪声,如果生成器足够合理,则由一个噪声过渡到另一个的过程中,生成的图像也应当有过渡的体现。如:用第二个噪声的每一行依次替换第一个噪声中的对应行。
styleGAN1想解决的问题之一就是无法定量表示潜在空间插值的过程。(噪声无法实现“定量的过渡”)
风格迁移
风格迁移(Style Transfer),使用了两个损失函数,使得作为初始输入的随机噪声学习到内容图像(content)和风格图像(style)的特征,在过程中,使用到了两个损失函数:
Gram矩阵的大小为Chanel×Chanel。把特征图中第 i 层和第 j 层取出来,这样就得到了两个 WxH的矩阵,然后将这两个矩阵对应元素相乘然后求和就得到了 Gram(i, j),同理 Gram 的所有元素都可以通过这个方式得到。这样 Gram 中每个元素都可以表示两层特征图的一种组合,换言之,它是特征通道的统计信息,代表着通道间的相关性。基于Gram矩阵得到下面的风格损失函数:
对两个损失函数加权相加(可控制学习趋向),即可得到总损失函数。
先进行特征提取,在第四层求得内容损失;再进行上采样,在每一层均求风格损失并求和。
然而上述风格迁移过程需要多次优化(在不同尺度上进行学习),耗时极长。在另一篇文章中提出了使用图像金字塔的方法提高模型的训练速度,这里又引入图像金字塔这一优化算法:
图像金字塔
图像金字塔是由一幅图像的多个不同分辨率(尺度)的子图构成的图像集合,金字塔底部由大尺寸的原图组成,越往上层,尺寸越小,堆叠起来就是一个金字塔的形式。现在使用较为广泛的图像金字塔主要包含以下两种:
- 高斯金字塔:将原图作为底层G0(C×H×W),使用5×5卷积核(高斯核)对其进行卷积,然后进行下采样,得到G1(C×H/2×W/2),以此类推,得到完整的金字塔。但问题在于经过高斯处理后的图像无法复原,原因在于在高斯卷积和下采样的过程中会损失部分信息。
- 拉普拉斯金字塔:为了解决上面的问题,拉普拉斯金字塔中存储的就是上述损失的信息:Gk-1-upscale(Gk),即低层减高层的上采样结果,将损失信息保存。这样就可以使用拉普拉斯金字塔对高斯金字塔进行修复。
图像金字塔可以赋予特征点尺度不变性,比如:在近处看到的目标会更清晰,远处反之,其实就是类似于将近处的目标的分辨率降低,也就是高斯金字塔中的更高层。如果在训练时就考虑到这点,对图像金字塔的每一层都进行特征提取后concatenate,那么在预测时也能不受图像尺度影响,精准预测特征点。
原版的风格迁移模型在生成器的训练过程中实际上就是对每个尺度的特征都进行损失函数的求取,但是串行进行,而图像金字塔则是并行进行,极大程度上解决了实时性问题
而后,使用图像金字塔的作者又通过将BN层修改为IN层,再次提高了收敛速度。IN层和BN层的区别在于:BN层对一个batch的数据进行归一化,而IN层仅对单个图像进行归一化。在其他训练任务中为了获得较高的泛化性,通常使用BN层来得到更加具有”包容性“的特征;而在风格迁移模型中,每张图片都可能有不同的风格,BN层无疑降低了风格的多样性,因此IN层更适用于风格迁移。而原作者在论文中的解释是:IN层实现了对比度的标准化ÿ