您现在的位置: 肥胖症的危害 > 肥胖症病因 > 正文 > 正文

看GAN如何一步步控制图像生成风格详解S

  • 来源:本站原创
  • 时间:2024/12/26 12:14:54
北京治疗白癜风哪间医院专业 https://wapjbk.39.net/yiyuanzaixian/bjzkbdfyy/bb/
选自Medium作者:JonathanHui机器之心编译参与:魔王、杜伟GAN能够有条不紊地控制其生成图像的风格吗?你了解自己的风格吗?大部分GAN模型并不了解。那么,GAN能够有条不紊地控制其生成图像的风格吗?原版GAN基于潜在因子(latentfactor)z生成图像。通常,潜在因子z采样自正态或均匀分布,它们决定了生成内容的类型和风格。基于此,我们需要解答以下两个重要问题:为什么z是均匀或正态分布?既然z包含元信息,那么它是否应在每个卷积层生成数据的过程中发挥更主要的作用?(而不是仅作为第一层的输入)注意:本文将使用「风格」(style)来指代元信息,其包含类型信息和风格信息。下图是StyleGAN2生成的图像:潜在因子z机器学习中的潜在因子通常彼此独立,以简化模型训练过程。例如,身高和体重具备高度相关性(个子越高的人通常体重更大)。因此,基于身高、体重计算得到的身体质量指数(bodymassindex,BMI)较常用于衡量人体肥胖程度,其所需的训练模型复杂度较低。而彼此独立的因子使得模型更易于解释。在GAN中,z的分布应与真实图像的潜在因子分布类似。如果我们从正态或均匀分布中采样z,则优化后的模型可能需要z来嵌入类型和风格以外的信息。例如,我们为军人生成图像,并基于男性化程度和头发长度这两个潜在因子来可视化训练数据集的数据分布。下图中缺失的左上角表示男性军人不允许留长发。如果我们均匀采样此空间,则生成器会试图生成留长发的男性军人图像。这不会成功,因为我们没有相关的训练数据。换个角度来看,当采样使用正态或均匀分布时,模型学习的是哪些潜在因子呢?这似乎更加错综复杂了。正如StyleGAN论文所写的那样:「这导致了一定程度上不可避免的纠缠(entanglement)」。在logistic回归中,我们利用基变换(changeofbasis)来创建二分类类别的线性边界。而StyleGAN使用一种叫做映射网络(mappingnetwork)的深度网络,将潜在因子z转换成中间潜在空间w。从概念上来看,StyleGAN将可进行均匀或正态分布采样的空间(下图中)扭曲成潜在特征空间(下图左),从而轻松生成图像。该映射网络旨在创建彼此独立的特征,以便生成器更容易地执行渲染,同时避免训练数据集中不曾出现的特征组合。StyleGAN引入映射网络f,利用八个全连接层将z转换成中间潜在空间。w可被视为新的z(z』)。通过该网络,维的潜在空间z可被转换为维的中间潜在空间w。基于风格的生成器在原版GAN中,潜在因子z仅作为深度网络第一个层的输入。我们可能认为,随着网络的深入,z的作用会逐渐消失。而基于风格的生成器使用单独学得的仿射运算A在每一层中转换w。转换后的w将作为风格信息作用于空间数据。StyleGAN论文最初使用的是ProgressGAN网络,并重用了很多超参数,包括Adam优化器参数。然后研究者更改模型设计进行多次试验,查看模型性能是否有所改进。第一个改进版本(B)用双线性采样(bilinearsampling)来替换判别器和生成器中的最近邻上采样/下采样。然后进一步调参,模型训练时间也会增加。第二个改进版本(C)添加了映射网络和风格化(styling)。对于后者,AdaIN(自适应实例归一化)取代PixelNorm对空间数据执行风格化处理。AdaIN的定义如下:在此过程中,首先对输入特征图应用实例归一化。然后,StyleGAN利用风格信息对每个归一化空间特征图执行缩放,添加偏置(μ和σ分别表示输入特征图x的平均差和标准差)。StyleGAN计算每一层的风格值对(y(s,i),y(b,i))作为w的缩放值和偏置值,从而将风格应用于空间特征图i。归一化特征影响应用于空间位置的风格化程度。在原版GAN中,第一层的输入是潜在因子z。实验结果表明,向StyleGAN第一层添加可变输入毫无益处,因此将可变输入替换为常量输入。至于改进版本(D),其第一层的输入被替换为学得的常数矩阵,矩阵维度为4×4×。StyleGAN论文中的「Style」指数据的主要属性,如姿势和身份。在改进版本(E)中,SytleGAN向空间数据引入噪声,从而创建随机变化(stochasticvariation)。例如,实验中添加的噪声可以为头发(见下图)、胡茬、雀斑或毛孔创建不同的随机变化。例如,对于8×8的空间层,创建一个8×8的矩阵,且其中元素包含不相关的高斯噪声(Gaussiannoise)。该矩阵被所有特征图共享。但是StyleGAN为每个特征图分别学习一个单独的缩放因子,并将该因子与噪声矩阵相乘,之后再添加至前一层的输出。噪声创建了渲染变体,与不包含噪声或噪声仅应用于特定分辨率的情况相比,其优势如下图所示。StyleGAN论文还表示其缓解了其它GAN方法中常出现的重复模式问题。总之,当风格被全局应用于特征图时,它覆盖图像的关键属性。噪声引入了像素级局部变化,并带来随机变化,从而生成特征的局部变体。关于噪声如何导致不同的图像渲染结果,参见以下视频:最后一个改进版本(E)涉及混合正则化。风格混合与混合正则化之前我们生成潜在因子z,并作为生成风格的单一源头。而使用混合正则化后,我们转而使用另一个潜在因子z,在达到特定空间分辨率之后再生成风格。如下图所示,我们使用生成图像「sourceB」的潜在因子得到粗糙空间分辨率(4×4到8×8)的风格,使用「sourceA」的潜在因子得到精细空间分辨率的风格。因此,生成的图像具备sourceB的高级风格,如姿势、发型、脸型和眼镜,而生成图像中的所有颜色(眼睛、头发、光线)和更精细的人脸特征则来自sourceA。如下图所示,如果我们使用sourceB的中分辨率(16×16到32×32)风格,则生成图像从sourceB处继承到较小规模的人脸特征、发型和眼睛状态(睁开/闭上),而来自sourceA的姿势、脸型和眼镜则被保留。最后一列中,模型从sourceB中复制了高分辨率风格(64×64到×分辨率),这主要影响图像的色调和微结构。在训练过程中,一定比例的图像是使用两个随机潜码(latentcode)生成的,而不是仅使用一个。训练与CelebA-HQ数据集相比,FFHQ(Flickr-Faces-HQ,高清人脸数据集)质量更高,覆盖范围更大,如年龄、种族、图像背景以及眼镜、帽子等配饰。在StyleGAN中,CelebA-HQ数据集训练过程中使用WGAN-GP作为损失函数,而FFHQ数据集则使用非饱和GAN损失函数和R正则化项,如下所示:w中的截断技巧z或w中的低概率密度区域可能不具备足以准确学习模型的训练数据。因此,在生成图像时,我们可以避开这些区域,以变化为代价来换取图像质量的改进。这可以通过截断z或w来实现。在StyleGAN中,截断w即可实现此目标:其中ψ表示风格缩放(stylescale)。但截断仅在低分辨率层上执行(比如4×4至32×32空间层,ψ=0.7)。这可以确保不影响高分辨率细节。当ψ为0时,它生成的平均人脸如下图所示。随着ψ值的调整,我们可以看到人物视线、眼镜、年龄、肤色、头发长度和性别等属性的变化,如从戴眼镜到不戴眼镜。感知路径长度StyleGAN论文还提出一种度量GAN性能的新型指标——感知路径长度(perceptualpathlength)。GAN逐步改变潜在因子z中的某个特定维度,进而可视化其语义。此类潜在空间插值可以得到令人震惊的非线性视觉变化。例如,两端图像中均未出现的特征可能出现在中间图像中。这标志着潜在空间和变化因子具备高度相关性。因此,我们可以通过度量执行插值时的累积变化,来量化这些变化。首先,我们使用VGG16嵌入来度量两个图像之间的感知差异。如果我们将潜在空间插值路径分割为线性片段,则可以对每个片段添加所有感知差异。差异值越低,则GAN图像的质量越高。详细数学定义参见StyleGAN论文。StyleGAN中存在的问题StyleGAN生成图像中存在类似水滴的斑状伪影,在生成器网络的中间特征图中此类伪影更加明显。这一问题似乎出现在所有64×64分辨率特征图中,且在分辨率更高的特征图中更为严重。GAN技术已经很成熟,现在我们可以很容易地放大图像,查看伪图像检测过程中异常图像模式出现的区域。StyleGAN2论文将这一问题归因于AdaIN中的实例归一化。AdaIN原本用于风格迁移,迁移过程中输入的一些重要信息被丢失。StyleGAN2论文将这一发现表述如下:我们认为问题出在AdaIN运算,它可以分别对每个特征图的均值和方差执行归一化,由此可能摧毁在特征的幅度中找到的任何彼此相关的信息。我们假设这种水滴状伪影出现的原因是生成器有意将信号强度信息传递通过实例归一化:通过创建主导统计数据的强局部尖峰,生成器可以像在其它地方一样有效缩放该信号。此外,StyleGAN2提出一种替代设计方案来解决渐进式增长导致的问题,以稳定高分辨率训练。如上图所示,即使使用渐进式增长生成的人脸图像改变方向,其牙齿中缝(蓝线)没有发生变化。在探讨StyleGAN2之前,我们先重新绘制StyleGAN设计图(下图右)。该设计的AdaIN模块同样分为两个模块,但此图添加了偏置,而原始设计图中省略了这一项。(注意,目前模型设计没有任何改变)StyleGAN2权重解调(weightdemodulation)在实验结果的支持下,StyleGAN2做出了以下改变:移除(简化)初期处理常数的方式;归一化特征时无需求均值;将噪声模块从风格模块中移出。然后,StyleGAN2利用权重解调简化模型设计,如下图所示。它重新访问实例归一化设计(Normstd),意图用另一种不会造成水滴状伪影的归一化方法取代它。下图右是使用权重解调得到的新设计。权重解调增加了以下改变:1.调制(modstd)后是卷积(Conv3×3),二者组合起来可用于缩放卷积权重,并实现为上图右中的Mod。(这并未改变模型设计)其中i是输入特征图。2.然后用Demod对权重执行归一化:归一化后的新权重是:该公式添加较小值ε,以避免数值不稳定问题。尽管从数学角度来看,这与实例归一化不同,但它对输出特征图执行归一化后得到标准差,并实现了与其它归一化方法类似的目标(即令训练过程更加稳定)。实验结果表明,水滴状伪影问题得到了解决。StyleGAN2做出的改进现在,我们来看StyleGAN2的改进版本。下图总结了多种模型改动,以及对应的FID分数改进情况(FID分数越小,模型性能越好)。懒惰式正则化(Lazyregularization)StyleGAN对FFHQ数据集应用R正则化。懒惰式正则化表明,在成本计算过程中忽略大部分正则化成本也不会带来什么坏处。事实上,即使每16个mini-batch仅执行一次正则化,模型性能也不会受到影响,同时计算成本有所降低。路径长度正则化如前所述,路径长度可用于度量GAN性能。一个可能的麻烦是,插值路径上不同片段之间的路径距离变动很大。简而言之,我们希望连续的线性插值点之间的图像距离类似。也就是说,潜在空间中的位移会导致图像空间中出现同样幅度的变化,而这与潜在因子的值无关。因此,我们添加一个正则化项,如下所示:当图像空间中的变化与预计位移不同时,成本增加。图像空间中的变化基于梯度计算得到,预计位移则近似于目前的运行平均值。此处不再详述,代码参见:


本文编辑:佚名
转载请注明出地址  http://www.blliuan.com/fpzby/12367.html

  • 上一篇文章:
  • 下一篇文章: 没有了
  • Copyright © 2012-2020 肥胖症的危害版权所有



    现在时间: