zoukankan      html  css  js  c++  java
  • torch_10_stackGAN-V2

    核心要点  

      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的训练

    StackGAN-v2

      是端到端网络,对一系列多尺度图像进行建模,StackGAN-v2在树形结构中,包含了多个生成器和判别器,从低分辨率到高分辨率的图像来自树的不同分支。在每一个分支,生成器捕获在该尺度上的图像分布,判别器估计样本来之该尺度的训练图像的概率。生成器联合训练去逼近多维分布,生成器和判别器交替训练。讨论两种类型的多维分布,多尺度图像分布和无条件与有条件的图像分布。

      1.多尺度图像分布

      噪声向量z ∼ pnoise 作为输入,使用多个生成器生成不同尺度的图像。噪声pnoise通常是标准正态分布,经过层与层,潜在变量z转换为隐层特征。通过非线性转换,计算每个生成器的隐藏特征。

     

    代表第i个分支的隐藏特征,m分支的总数。为了捕获在预处理中省略的信息,噪声向量z和隐层特征hi-1共同作为计算hi的Fi的输入。在不同层的隐藏特征的基础上,生成器产生小尺度到大尺度的样本(s0,s1,...,sm-1)

    Gi是第i个分支的生成器。

      在生成器之后,每一个判别器以真实图像xi或者假样本si作为输入,被训练分成两类。

      StackGan-v2是联合近似多个图像分布增加这些数据分布与模型分布共享的机会。对中间的分支增加辅助任务,为训练整个网络提供更多的梯度信号。例如,近似在第一个分支上的低分辨率的图像分布导致具有基本颜色和结构的图像。然后,后续分支的生成器集中完成更高分辨率图像的细节。

      2.联合无条件和有条件分布

      对于无条件图像生成,训练stackGAN-v2来区分真假图片。处理条件图像生成,图像和他们相应的调节变量被输入到鉴别器中,以确定条件对是否匹配。这引导生成器近似条件图像分布。对于有条件的StackGan-v2,F0,Fi将条件向量c作为输入,比如h0 = F0(c,z),hi = Fi(hi-1,c).对于Fi,条件向量c代替了噪声向量z来鼓励生成器通过条件变量来描绘具有更多细节的图像。因此,多尺度样本由si= Gi(hi)生成。有条件的StackGAN的判别器Di的目标函数由两项组成,无条件损失和有条件损失。无条件损失决定图片是真是假,有条件损失决定图像和条件是否匹配。

     每个尺度的发生器Gi联合近似无条件和条件图像分布。

      3.颜色一致性正则化

      在不同的生成器上增加图像分辨率,不同尺度的生成图片应该共享相似的基本结构和颜色。颜色一致性项使具有相同输入的不同生成器生成的图片在颜色上增加一致性来提高生成图片的质量。 

      4.实现细节

      StackGAN-v2模型生成256*256的图像。输入向量(无条件的是z,有条件的是z和 c)先转换成4*4*64的特征张量,然后这个张量在不同的网络层上通过6次上采样转换成64*64*4,128*128*2,最终变成256*256*1。中间的64*64*4,128*128*2,256*256*1特征使用3*3的卷积生成相应尺度的图片。c或z也直接加入到中间层中,来保证c或z中的编码信息不被省略。所有的判别器都有下采样和3*3卷积使输入图像转换成4*4*8的张量,最后使用sigmoid的函数计算输出概率。

  • 相关阅读:
    redis安装及教程
    Spring Cloud Alibaba系列教程
    EasyCode代码生成工具使用介绍
    FastDFS服务器搭建
    轻量级的java HTTP Server——NanoHttpd
    java代码的初始化过程研究
    浅谈设计模式的学习(下)
    浅谈设计模式的学习(中)
    浅谈设计模式的学习(上)
    PGET,一个简单、易用的并行获取数据框架
  • 原文地址:https://www.cnblogs.com/shuangcao/p/11797707.html
Copyright © 2011-2022 走看看