生成性对抗网络(GAN) 和styleGan

生成性对抗网络(GAN)是机器学习中一个相对较新的概念,于2014年首次引入。他们的目标是合成与真实图像无法区分的人工样本,如图像。GAN应用程序的一个常见示例是通过从名人面孔数据集学习来生成人造人脸图像。随着时间的推移,GAN图像变得更加逼真,但其主要挑战之一是控制其输出,即改变人脸图像中的特定特征,如姿势、脸型和发型。NVIDIA的一篇新论文,一种基于样式的GAN的生成器体系结构(StyleGAN),提出了一种解决这一挑战的新模型。StyleGAN逐渐生成人造图像,从非常低的分辨率开始,一直到高分辨率(1024×1024)。通过分别修改每个级别的输入,它可以控制在该级别中表达的视觉特征,从粗略特征(姿势、面部形状)到精细细节(头发颜色),而不会影响其他级别。这项技术不仅可以更好地理解生成的输出,还可以生成最先进的结果—高分辨率图像,看起来比以前生成的图像更真实。

直到2018年,NVIDIA首次用ProGAN解决了这一挑战,研究人员一直无法生成高质量的大图像(例如1024×1024)。ProGAN的关键创新在于渐进式训练——它首先用极低分辨率的图像(如4×4)训练生成器和鉴别器,然后每次增加一个更高分辨率的层。该技术首先通过学习低分辨率图像中出现的基本特征,来形成创建图像的基础,而且随着分辨率的增加,随着训练的进行学习越来越多的细节。训练低分辨率图像不仅更容易、更快,而且有助于训练更高级别的图像(防止过落入次最优解中)。因此,总体训练速度也更快。

StyleGAN的工作原理

那么StyleGAN是怎么来工作的呢?StyleGAN论文提供了ProGAN图像生成器的升级版本,重点关注生成器网络(G)。作者观察到,ProGAN渐进层的一个潜在好处是,如果使用得当,它们能够控制图像的不同视觉特征图层(和分辨率)越低,其影响的特征越粗糙。本文将这些特征分为三类:

  • 粗-分辨率高达8*8-影响姿势、一般发型、面部形状等
  • 中等-分辨率16*16到32*32-影响更精细的面部特征、发型、睁眼/闭眼等。
  • 精细-分辨率为64*64到1024*1024-影响配色方案(眼睛、头发和皮肤)和微观特征。

新的生成器包括ProGAN生成器的几个模块:

映射网络: 映射网络的目标是将输入向量编码为中间向量(隐变量),中间向量的不同元素控制不同的视觉特征。这是一个非常重要的过程,因为使用输入向量控制视觉特征的能力是有限的,因为它必须遵循训练数据的概率密度。例如,如果黑发人的图像在数据集中更常见,则更多输入值将映射到该特征。因此,该模型无法将部分输入(向量中的元素)映射到特征,这种现象称为特征纠缠。然而,通过使用另一个神经网络,该模型可以生成一个不必遵循训练数据分布的向量,并且可以减少特征之间的相关性。映射网络由8个完全连接的层组成,其输出与输入层的大小纬度相同(512×1)。

Style 模块(AdaIN)

AdaIN(自适应实例规范化)模块传输由映射网络创建的编码信息ⱳ, 进入生成的图像。该模块被添加到合成网络的每个分辨率级别,并定义该级别中特征的视觉表达:

  • 首先对卷积层输出的每个通道进行正则归一化,以确保步骤3的缩放和移位达到预期效果。
  • 中间向量ⱳ (隐变量)使用另一个完全连接的层(标记为A)转换为每个通道的比例和偏差。
  • 尺度变化和偏置移动作用于卷积输出的每个通道,从而定义卷积中每个滤波器的重要性。此调优将信息从隐变量转化为一种视觉表现

删除传统输入

大多数模型(其中包括ProGAN)使用随机变量来创建生成器的初始图像(即4×4级别的随机变量输入)。StyleGAN团队发现图像特征是由ⱳ (隐变量)和AdaIN(Style模块),因此可以省略初始随机噪声输入,并用常量值替换。虽然本文没有解释它为什么会提高性能,但有一个安全的假设是它减少了特征纠缠——网络只使用隐变量ⱳ 不依赖于互相纠缠的输入向量。

特征解纠缠

为了量化特征分离的表现,本文提出了量化两种特征分离的新方法:

  • 感知路径长度:在两个随机输入之间插值时,测量连续图像之间的差异。剧烈的变化意味着多个功能一起发生了变化,它们可能会相互纠缠。
  • 线性可分性:将输入分类为二元类的能力,如男性和女性。分类越好,特征越可分离。

结论

StyleGAN是一种开创性的工作,不仅可以生成高质量和逼真的图像,还可以对生成的图像进行更好的控制和理解,从而比以前更容易生成可信的假图像。StyleGAN中介绍的技术,特别是映射网络自适应规范化(AdaIN),在未来很多工作中都可以借鉴。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值