写点什么

一文看懂 GAN 演进图谱

2019 年 8 月 22 日

一文看懂GAN演进图谱

本文来自“深度推荐系统”专栏,这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文着重于串讲 GAN 模型框架的演进图谱。


之前在总结一文看懂AutoEncoder模型演进图谱时就有涉及到 GAN。GAN 作为近几年深度学习的大坑以其优雅的理论和惊艳的效果而大火。本文简单总结串讲下 GAN 发展至今比较有代表性的模型以及其主要特点。


还是老规矩,先放一张 GAN 家族主要模型的概要图有一个大致的概念。左边部分主要是改进模型解决实际的图片转换,文本转图像,生成图片,视频转换等实际问题;右边部分呢则是主要解决 GAN 框架本身存在的一些问题。



传统的生成模型最早要追溯到 80 年代的 RBM,以及后来逐渐使用深度神经网络进行包装的 AutoEncoder。然后就是现在称得上最火的生成模型 GAN。


GAN

Ian Goodfellow 的原始 GAN 论文[2]肯定是必读之作。涉及了 GAN 框架、“非饱和”损失函数以及最优判别器的推导。


DCGAN

顾名思义,DCGAN[3]主要讨论 CNN 与 GAN 如何结合使用并给出了一系列建议。另外还讨论了 GAN 特征的可视化、潜在空间插值等问题。


ImprovedGAN

Ian Goodfellow 等人[4]提供了诸多训练稳定 GAN 的建议,包括特征匹配、mini-batch 识别、历史平均、单边标签平滑以及虚拟批标准化等技巧。讨论了 GAN 不稳定性的最佳假设。


PACGAN

PACGAN[5]讨论的是的如何分析 model collapse,以及提出了 PAC 判别器的方法用于解决 model collapse。思想其实就是将判别器的输入改成多个样本,这样判别器可以同时看到多个样本可以从一定程度上防止 model collapse。


WGAN

WGAN[6]首先从理论上分析了原始 GAN 模型存在的训练不稳定、生成器和判别器的 loss 无法只是训练进程、生成样本缺乏多样性等问题,并通过改进算法流程针对性的给出了改进要点。


CycleGAN

CycleGAN[7]讨论的是 image2image 的转换问题,提出了 Cycle consistency loss 来处理缺乏成对训练样本来做 image2image 的转换问题。Cycle Consistency Loss 背后的主要想法,图片 A 转化得到图片 B,再从图片 B 转换得到图片 A’,那么图片 A 和图片 A’应该是图一张图片。


Vid2Vid

Vid2Vid[8]通过在生成器中加入光流约束,判别器中加入光流信息以及对前景和背景分别建模重点解决了视频转换过程中前后帧图像的不一致性问题。


PGGAN

PGGAN[9]创造性地提出了以一种渐进增大(Progressive growing)的方式训练 GAN,利用逐渐增大的 PGGAN 网络实现了效果令人惊叹的生成图像。“Progressive Growing” 指的是先训练 4x4 的网络,然后训练 8x8,不断增大,最终达到 1024x1024。这既加快了训练速度,又大大稳定了训练速度,并且生成的图像质量非常高。


StackGAN

StackGAN[10]是由文本生成图像,StackGAN 模型与 PGGAN 工作的原理很像,StackGAN 首先输出分辨率为 64×64 的图像,然后将其作为先验信息生成一个 256×256 分辨率的图像。


BigGAN

BigGAN[11]模型是基于 ImageNet 生成图像质量最高的模型之一。该模型很难在本地机器上实现,而且 有许多组件,如 Self-Attention、 Spectral Normalization 和带有投影鉴别器的 cGAN 等。


StyleGAN

StyleGAN[12]应该是截至目前最复杂的 GAN 模型,该模型借鉴了一种称为自适应实例标准化 (AdaIN) 的机制来控制潜在空间向量 z。虽然很难自己实现一个 StyleGAN,但是它提供了很多有趣的想法。


参考文献

[1] Must-Read Papers on GANs/ 必读!生成对抗网络 GAN 论文 TOP 10


[2] Generative Adversarial Networks


[3] Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks


[4] Improved Techniques for Training GANs


[5] PacGAN: The power of two samples in generative adversarial networks


[6] Wasserstein GAN


[7] Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks


[8] Video-to-Video Synthesis


[9] Progressive Growing of GANs for Improved Quality, Stability, and Variation


[10] StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks


[11] Large Scale GAN Training for High Fidelity Natural Image Synthesis


[12] A Style-Based Generator Architecture for Generative Adversarial Networks


本文授权转载自知乎专栏“深度推荐系统”。原文链接:https://zhuanlan.zhihu.com/p/70033932


2019 年 8 月 22 日 14:0011053

评论

发布
暂无评论
发现更多内容

华云·云场景应用详解|安超DCM给数据中心“做主”

华云数据

c语言简介

Geek_f510ff

c C语言

Mybatis association关联查询

フェイト ゼロ

数据驱动业务增长的底层逻辑2.0

风巽沐兮@

产品 数据分析 运营 业务增长

字节码角度分析i++和++i的区别

现实中游走

Java 字节码

Idea快捷键操作

刘大明

IDEA

java-时间的使用

建安

Java android SpringBoot 2

Elasticsearch入门,这一篇就够了

知南茶温暖

Spark Shuffle 内部机制(三)

hanke

大数据 spark 数据 开源框架

kafka consumer group

Eric

CPU高速缓存与极性代码设计

华为云开发者社区

缓存 数据 cpu 存储

基于matlab的控制系统与仿真3-根轨迹、bode图、Nyquist图

AXYZdong

matlab 2月春节不断更

cobra-强大的CLI应用程序库

三十三重天

golang GitHub cli 28 天写作 2月春节不断更

区块链溯源系统开发解决方案,区块链应用底层平台搭建

WX13823153201

区块链溯源系统开发

我与声网Agora

june

算力平台软件开发|算力平台系统APP开发

开發I852946OIIO

系统开发

设计模式之代理模式

Geek_7cf491

Java 设计模式 代理模式

以AI之名 | 给千万级合同管理安上“AI”,华为商务经理工作量大解放!

华为云开发者社区

人工智能 华为 合同 商务 合同管理

带你快速了解Flutter的发展和应用

anyRTC开发者

flutter 音视频 WebRTC 跨平台 sdk

Windows下JMeter分布式压测环境搭建

行者AI

Jmeter

BFF (Backend for frontend)避坑指南

码猿外

架构 微服务 BFF

python与c++区别之print

沈阳

浅谈Python中遇到extend和append,该怎么区别使用

莫陌默

Python 列表 函数

新病毒兼容M1芯片,已经感染3万台Mac

Geek_b0cff7

2019年度CMMI V2.0性能报告

渠成CMMI

产品 项目管理 性能 质量 CMMI

可能是Java Stream的最佳实践(一)

张毅

28 天写作

华为云PB级数据库GaussDB(for Redis)解析第二期:Redis消息队列Stream的应用探讨

华为云开发者社区

数据库

话题讨论 | 如何看待公司发开工红包?

三十三重天

话题讨论 28天写作 2月春节不断更 话题王者 红包

程序员成长第十五篇:编码的注意事项

石云升

程序员成长 28天写作 2月春节不断更

数据中心架构设计比较

网络技术平台

流批一体生产应用!Bigo 实时计算平台建设实践

Apache Flink

flink

一文看懂GAN演进图谱-InfoQ