■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程( 二 )


而基于风格的生成器使用单独学得的仿射运算 A 在每一层中转换 w 。 转换后的 w 将作为风格信息作用于空间数据 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

StyleGAN 论文最初使用的是 Progress GAN 网络 , 并重用了很多超参数 , 包括 Adam 优化器参数 。 然后研究者更改模型设计进行多次试验 , 查看模型性能是否有所改进 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

第一个改进版本 (B) 用双线性采样(bilinear sampling)来替换判别器和生成器中的最近邻上采样/下采样 。 然后进一步调参 , 模型训练时间也会增加 。
第二个改进版本 (C) 添加了映射网络和风格化(styling) 。 对于后者 , AdaIN(自适应实例归一化)取代 PixelNorm 对空间数据执行风格化处理 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

AdaIN 的定义如下:
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

在此过程中 , 首先对输入特征图应用实例归一化 。 然后 , StyleGAN 利用风格信息对每个归一化空间特征图执行缩放 , 添加偏置(μ 和 σ 分别表示输入特征图 x? 的平均差和标准差) 。 StyleGAN 计算每一层的风格值对 (y(s, i), y(b, i)) 作为 w 的缩放值和偏置值 , 从而将风格应用于空间特征图 i 。 归一化特征影响应用于空间位置的风格化程度 。
在原版 GAN 中 , 第一层的输入是潜在因子 z 。 实验结果表明 , 向 StyleGAN 第一层添加可变输入毫无益处 , 因此将可变输入替换为常量输入 。
至于改进版本 (D) , 其第一层的输入被替换为学得的常数矩阵 , 矩阵维度为 4×4×512 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

StyleGAN 论文中的「Style」指数据的主要属性 , 如姿势和身份 。 在改进版本 (E) 中 , SytleGAN 向空间数据引入噪声 , 从而创建随机变化(stochastic variation) 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

例如 , 实验中添加的噪声可以为头发(见下图)、胡茬、雀斑或毛孔创建不同的随机变化 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

例如 , 对于 8×8 的空间层 , 创建一个 8×8 的矩阵 , 且其中元素包含不相关的高斯噪声(Gaussian noise) 。 该矩阵被所有特征图共享 。 但是 StyleGAN 为每个特征图分别学习一个单独的缩放因子 , 并将该因子与噪声矩阵相乘 , 之后再添加至前一层的输出 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

噪声创建了渲染变体 , 与不包含噪声或噪声仅应用于特定分辨率的情况相比 , 其优势如下图所示 。 StyleGAN 论文还表示其缓解了其它 GAN 方法中常出现的重复模式问题 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

总之 , 当风格被全局应用于特征图时 , 它覆盖图像的关键属性 。 噪声引入了像素级局部变化 , 并带来随机变化 , 从而生成特征的局部变体 。
关于噪声如何导致不同的图像渲染结果 , 参见以下视频:
00:00/00:00倍速
最后一个改进版本 (E) 涉及混合正则化 。
风格混合与混合正则化
之前我们生成潜在因子 z , 并作为生成风格的单一源头 。 而使用混合正则化后 , 我们转而使用另一个潜在因子 z? , 在达到特定空间分辨率之后再生成风格 。


推荐阅读