生成性对抗网络(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),在未来很多工作中都可以借鉴。

生成性对抗网络(GAN) 和styleGan相关推荐

  1. 生成性对抗网络技术实现

    生成性对抗网络技术实现 Generative Adversarial Networks 以某种形式,使用深度神经网络学习从数据点到标签的映射.这种学习被称为区别性学习,因为希望能够区分猫和狗的照片.量 ...

  2. 【小白学习PyTorch教程】十一、基于MNIST数据集训练第一个生成性对抗网络

    「@Author:Runsen」 GAN 是使用两个神经网络模型训练的生成模型.一种模型称为生成网络模型,它学习生成新的似是而非的样本.另一个模型被称为判别网络,它学习区分生成的例子和真实的例子. 生 ...

  3. MM2018/风格迁移-Style Separation and Synthesis via Generative Adversarial Networks通过生成性对抗网络进行风格分离和合成

    Style Separation and Synthesis via Generative Adversarial Networks通过生成性对抗网络进行风格分离和合成 0.摘要 1.概述 2.相关工 ...

  4. 生成神经对抗网络(GAN)的基本认识及应用

    视频讲解GANr简单的了解:5分钟秒懂生成对抗网络 - 知乎 生成对抗网络(GAN)是生成模型的一种神经网络架构. GAN是使用两个神经网络模型训练而成的一种生成模型.其中一个称为"生成器& ...

  5. 【论文翻译】Auto-painter:基于条件Wasserstein生成性对抗网络的草图卡通形象生成

    Auto-painter: Cartoon image generation from sketch by using conditional Wasserstein generative adver ...

  6. 一文看懂「生成对抗网络 - GAN」基本原理+10种典型算法+13种应用

    生成对抗网络 – Generative Adversarial Networks | GAN 文章目录 GAN的设计初衷 生成对抗网络 GAN 的基本原理 GAN的优缺点 10大典型的GAN算法 GA ...

  7. 换脸方法大汇总:生成对抗网络GAN、扩散模型等

    1.One-Shot Face Video Re-enactment using Hybrid Latent Spaces of StyleGAN2 StyleGAN的高保真人像生成,已逐渐克服了单样 ...

  8. 必读!TOP10生成对抗网络GAN论文(附链接)

    来源:新智元 本文约2200字,建议阅读7分钟. 本文所选论文提供了一个易读的对GAN的介绍,帮助你理解GAN技术的基础. [ 导读 ]生成对抗网络 (GAN) 是深度学习中最有趣.最受欢迎的应用之一 ...

  9. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

最新文章

  1. HashSet的使用
  2. Red Hat Linux、rhel 和 Fedora Core 以及 Centos 区别与联系
  3. java中的 请求体_在spring mvc test中访问请求体和请求头
  4. VC返回文件所在的路径
  5. 如何简单区分web前后端与MVC框架
  6. Oracle移除表空间的数据文件 ora-00604 ora-01426
  7. 每次获取不同的图片按顺序从1-xxx
  8. 如何在 Mac 中对文档进行签名?
  9. 兰花草c语言编码蜂鸣器,蜂鸣器奏乐-多种音乐分享
  10. 自动脚本 android,安卓自动脚本软件下载-自动脚本 安卓版v2.0.3-PC6安卓网
  11. php简易微博系统,基于html、css、PHP开发一个简单的微型博客系统(微博)
  12. unity迷你太空射击游戏截图
  13. 女神青涩时纤毫毕现,腾讯 AI 模型 GFPGAN 火上 GitHub 热榜第一,Demo 在线可玩
  14. 80端口跟8080端口有什么具体区别?
  15. nvl2与nvl使用区别
  16. 基于ARM Cortex-M3微控制器(STM32系列)基础知识(三)——ARM指令集
  17. 镭神16线激光雷达使用
  18. python压缩图片像素_python使用pil进行图像处理(等比例压缩、裁剪)实例代码
  19. 单片机毕业设计 stm32智能扫地机器人
  20. ISCS网络磁盘使用

热门文章

  1. 广告:我们的新书信息请关注图灵官方博客
  2. 软件测试之系统测试总结报告
  3. UI day 10 UItabelView 编辑和移动 UItabelViewController
  4. W5500 充当http server - web服务器的实现
  5. 网上拍卖系统/拍卖网站
  6. GoTrace快递查询接口
  7. 4个公式8个案例学会与chatGPT对话
  8. cf不能全屏win7的解决方法_Win7系统时间不能修改的解决方法
  9. 微粒贷借款显示“综合评估未通过”?微粒贷使用方法解析
  10. 如何显示u盘的隐藏的文件