torch_10_stackGAN++
Posted shuangcao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了torch_10_stackGAN++相关的知识,希望对你有一定的参考价值。
核心要点
StackGAN旨在生成高分辨率的真实图片。
- stackGAN-v1架构包含两个阶段:用于文本到图像的合成,阶段1GAN根据给定的文本描述绘制对象的形状和颜色,生成低分辨率图像。阶段2将阶段1的结果和文本作为输入,生成具有真实图片细节的高分辨率图像。
- StackGAN-V2:针对有条件和无条件生成任务,提出了一种先进的多阶段生成式对抗网络体系结构StackGAN-v2。由树状结构中中的多个生成器和鉴别器组成:同一场景对应的多个尺度的图像来自于树的不同分支。通过联合逼近多个分布,stackGAN-v2比stackGAN-v1表现出更稳定的训练行为。
StackGAN++
创新点:
1.在StackGAN++模型中,有3个生成器,3个判别器,分别学习三种不同尺度的图像分布
2.联合条件分布和无条件分布估计
如果是无条件分布估计,需在图像生成的过程中,加入隐变量z,即连接到不同尺度的图像分布
如果是条件分布估计,就将串接的隐变量z替换成语义变量c,并同时也串接到判别器的隐层特征中
3.颜色一致性正则化。动机是因为生成的图像在不同尺度中应该保持共有的基本结构和颜色。
1.介绍
生成对抗模型是goodfellow等人提出的一种生成模型,在最初的设计中,GAN是由一个生成器和一个具有竞争目标的判别器组成。训练生成器生成面向真实数据分布的样本以欺骗判别器,优化判别器以区分来自真实数据分布的真实样本和生成器生成的虚假样本。近年来,GAN在模拟样本,图像,视频等复杂数据分布方面显示出了巨大的潜力。
尽管获得了成功,GAN模型很难去训练。训练过程通常不稳定,和对超参数敏感。一些文献认为,不稳定的部分原因是数据分布和隐含的模型分布的不相交支持。
这个问题在生成高分辨率(256*256)时更加严重,因为高分辨率图像分布和模型分布在高维空间中的共享支持的机会非常少。此外,GAN训练的常见故障现象是模型崩溃:生成的许多样本包含相同的颜色或文理图像。
为了稳定GAN的训练过程,提高样本的多样性,一些方法尝试通过提出新的网络架构,引入启发式技巧或修改学习目标来应对挑战。但是大多是方法设计来近似单个数据分布(例如,相同大小的图像)。由于模型与数据分布高维空间中存在少量重合,使得直接逼近高分辨率图像数据分布十分困难,以往的方法局限于生成低分辨率图像。在这项工作中,我们观察到,真实世界的数据,特别是自然图像,可以在不同尺度中建模。可以将多分辨率的数字化图像看作是对相同的连续图像信号以不同的采样率进行采样,因此,图像在多个离散尺度上的分布是相关的。除了不同尺度的多个分布外,图像加上或者不带有条件变量,都可以看作条件分布和无条件分布,他们也是相关的分布。基于这些观察结果,认为将复杂的生成任务分解为渐进目标的子问题,GAN可以被稳定的训练来生成高分辨率图像。在此基础上,我们提出stackGAN来模拟低到高维数据的分布。
首先,我们提出一个两阶段生成对抗网络,stackGAN-V1,通过草图细化过程从文本描述生成图像,通过Stage1GAN生成低分辨率图像,在第一个阶段的基础上,与第二个阶段叠加在一起生成高分辨率的图像。通过再一次对第一阶段的结果和文本进行条件设置,第二个阶段GAN学会捕捉第一阶段GAN省略的文本信息,并绘制更多的细节,进一步,我们提出了一个新颖的条件平滑技术,以鼓励平滑的潜在条件集。允许在条件集中的随机扰动,增加了合成图像的多样性。
第二,提出了一个先进的生成式对抗网络架构,StackGAN-V2,用于有条件和无条件生成任务,StackGAN-v2有多个生成器,它们在树状结构中,共享大部分参数。网络的输入可以看作树的根,多尺度图像由树的不同分支生成。位于最深分支的生成器的最终目标是生成逼真的分辨率图像。中间分支的生成器具有逐步生成小到大图像的目标,以帮助实现最终目标。整个网络被联合训练来近似不同但高度相关的图像在不同分支上的分布。一个分布模型的正反馈可以改善其他分布的学习。对于图像生成任务,我们提出的StackGAN-v2同时近似于无条件的纯图像分布和基于文本描述的图像分布。这两种分布是互补的。此外,我们提出了一个颜色一致性正则化项,以指导我们的生成器在不同尺度上生成更多的一致性样本。正则化提供了额外的约束,以促进多分布近似,这是特别有用的无条件设置,其中没有实例监督之间的图像和输入噪声矢量。
总之,stackGAN三个贡献:
1.stackGAN-v1首次从文本描述生成具有照片般逼真细节的256*256分辨率图像,
2.提出了一种新的条件增强技术来稳定条件GANS训练,来提高样本的多样性。
3.stackGANs-v2通过联合近似多个分布,进一步提高了生成图像的质量,稳定了GANs的训练
以上是关于torch_10_stackGAN++的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上的 PyTorch 中使用“多处理”出现错误-“无法打开共享文件映射:<torch_13684_4004974554>,错误代码:<0>”