深度增长网络: 构建稳定,高质量,多样的GAN对抗模型,英伟达论文选读2

GAN凝结了人们对”创作”本质的看法 — David 9

虽然ICLR 2018 要明年5月举办, 一些企业巨头已经摩拳擦掌,前不久,英伟达正在审阅的论文引起了大家注意,David 9觉得很有意思。论文用深度增长的网络构建、并生成稳定,高质量,多样的GAN对抗样本图片 :

来自:https://www.youtube.com/watch?v=XOxxPcy5Gr4&feature=youtu.be

上图demo是深度增长网络GAN生成的明星样本,清晰度和质量堪称惊艳。论文打破了神经网络在训练过程中“架构不变”的惯性思维。为了更好地“临摹”高清的明星脸谱,训练过程中,先从“粗略模糊”地“勾勒”开始对抗学习: 继续阅读深度增长网络: 构建稳定,高质量,多样的GAN对抗模型,英伟达论文选读2

独家 | GAN大盘点,聊聊这些年的生成对抗网络 : LSGAN, WGAN, CGAN, infoGAN, EBGAN, BEGAN, VAE

训练”稳定”,样本的”多样性”和”清晰度”似乎是GAN的 3大指标 — David 9

VAE与GAN

聊到随机样本生成, 不得不提VAEGAN, VAE用KL-divergence和encoder-decoder的方式逼近真实分布. 但这些年GAN因其”端到端”灵活性和隐式的目标函数得到广泛青睐. 而且, GAN更倾向于生成清晰的图像:

VAE与GAN生成对比

GAN在10次Epoch后就可以生成较清晰的样本, 而VAE的生成样本依旧比较模糊. 所以GAN大盘点前, 我们先比较一下VAE与GAN的结构差别:

VAE与GAN结构比较

VAE训练完全依靠一个假设的loss函数和KL-divergence逼近真实分布:

GAN则没有假设单个loss函数, 而是让判别器D生成器G之间进行一种零和博弈, 继续阅读独家 | GAN大盘点,聊聊这些年的生成对抗网络 : LSGAN, WGAN, CGAN, infoGAN, EBGAN, BEGAN, VAE

CVPR 2017论文精选#1 用模拟+非监督对抗生成图片的增强方法进行学习(Best paper award 最佳论文奖)

人类的想象力似乎是天生的, 而现今计算机的”想象力”来自”数据增强”技术. — David 9

这届CVPR上, 苹果为博得AI界眼球, 竟然拿到了最佳论文 !  也许这篇论文没有什么深远意义,也许只能反映学术被业界商界渗透的厉害,也许有更好的文章应该拿到最佳论文。

这又何妨, 历史的齿轮从来不会倒退, David 9看到的趋势是, 人类越来越擅长赋予计算机”想象力”, 以GAN为辅助的”数据增强”技术是开始, 但绝不是终点 !

言归正传, 来剖析这篇论文, 首先,这篇文章的目标非常清晰,就是用非监督训练集,训练一个“图片优化器”(refiner),用来优化人工模拟图片,使得这一模拟图片更像真实图片,并且具有真实图片的独特属性:

如上图,人工模拟的伪造图片(Synthetic)经过优化器Refiner变得与非监督集合(第一行的3张图片)非常相似,极大的增强了模拟图片的真实性。 继续阅读CVPR 2017论文精选#1 用模拟+非监督对抗生成图片的增强方法进行学习(Best paper award 最佳论文奖)

#16 那些没被玩坏的GAN—用条件对抗网络实现”图片到图片”的通用风格转换

AI的进步是不断为机器赋能: “深蓝”时代机器有了暴力搜索能力, “数据”时代有了依靠数据建模的能力, 甚至用GAN自动寻找目标函数.  下一个时代, 会不会是一个数据和模型泛滥, 机器自我寻找数据和创造模型的时代 ? — David 9

之前伯克利人工智能研究实验室(Berkeley Artificial Intelligence Research (BAIR) Lab)在Arxiv上放出的论文: Image-to-Image Translation with Conditional Adversarial Networks , 又把图片风格转换玩了一把:

来自: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
图片到图片风格转换示例—马匹变斑马 来自: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

如今, 想把GAN(生成对抗网络)训练出来并且不玩坏, 已经很了不起, 而这篇文章提出通用的框架用于”图片到图片”的风格转换.  加之投稿即将举办的cvpr 2017 , 又出自伯克利之手, 引来了不少目光.

条件对抗网络cGAN进行图片风格转换已经不是新鲜事, 继续阅读#16 那些没被玩坏的GAN—用条件对抗网络实现”图片到图片”的通用风格转换

#11 基于能量模型的生成对抗网络–生成对抗网络进阶

在文章“手把手教你写一个生成对抗网络”中,我们谈到过生成对抗网络。意犹未尽的是,只是了解生成对抗网络的基本原理和算法形式,对于训练结果还没有仔细研究。

最近拜读了机器学习四大神之一Yann LeCun (燕乐存 目前在facebook就职) 今年发表的论文“ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK”。基于能量模型的生成对抗网络,训练结果真的很不错。不像一般的生成网络,生成的图片像素随机性大,字体边界模糊。看下图论文在MNIST集上的比较:

来自:论文 ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK
来自:论文 ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK

左边是一般GAN(生成对抗网络)的生成数字, 右边就是论文的改进EBGAN(基于能量的生成对抗网络)。可以很明显地看出,改进的生成数字比较清晰,连接也比较流畅 。传统GAN生成的数字就比较模糊,像素连贯性较差继续阅读#11 基于能量模型的生成对抗网络–生成对抗网络进阶

手把手教你写一个生成对抗网络 — 生成对抗网络代码全解析, 详细代码解析(TensorFlow, numpy, matplotlib, scipy)

今天我们接着上一讲“#9 生成对抗网络101 终极入门与通俗解析”, 手把手教你写一个生成对抗网络。参考代码是:https://github.com/AYLIEN/gan-intro

关键python库: TensorFlow, numpy, matplotlib, scipy

我们上次讲过,生成对抗网络同时训练两个模型, 叫做生成器判断器. 生成器竭尽全力模仿真实分布生成数据; 判断器竭尽全力区分出真实样本和生成器生成的模仿样本. 直到判断器无法区分出真实样本和模仿样本为止.

out
来自:http://blog.aylien.com/introduction-generative-adversarial-networks-code-tensorflow/

上图是一个生成对抗网络的训练过程,我们所要讲解的代码就是要实现这样的训练过程。
其中, 绿色线的分布是一个高斯分布(真实分布),期望和方差都是固定值,所以分布稳定。红色线的分布是生成器分布,他在训练过程中与判断器对抗,不断改变分布模仿绿色线高斯分布. 整个过程不断模仿绿色线蓝色线的分布就是判断器,约定为, 概率密度越高, 认为真实数据的可能性越大. 可以看到蓝线在真实数据期望4的地方,蓝色线概率密度越来越小, 即, 判断器难区分出生成器和判断器. 继续阅读手把手教你写一个生成对抗网络 — 生成对抗网络代码全解析, 详细代码解析(TensorFlow, numpy, matplotlib, scipy)

#9 生成对抗网络101 终极入门与通俗解析

我们能生成/创造我们的真实世界,才能说明我们是完完全全理解了它

David 9 要写一期生成对抗网络。

实在是因为,

第一:对抗网络最近太火了。第二:  生成模型太有意思了。让计算机自己去创造东西,不再是科幻!(有用过Prisma的朋友一定体验过)。没体验过的可以瞧瞧这篇文章:”关于Prisma:那些你知道的和不知道的

生成模型通过训练大量数据, 学习自身模型, 最后通过自身模型产生逼近真实分布的模拟分布. 用这个宝贵的”分布”生成新的数据. 因此, 判别模型的目标是得到关于 的分布 P(y|X), 而生成模型的侧重是得到关于X分布 P(y, X) 或 P(x|y)P(y). 即, 判别模型的目标是给定一张图片, 请告诉我这是”长颈鹿”还是”斑马”, 而, 生成模型的目标是告诉你词语: “长颈鹿”, 请生成一张画有”长颈鹿”的图片吧~ 下面这张图片来自slideshare 可以说明问题:

http://www.slideshare.net/shaochuan/spatially-coherent-latent-topic-model-for-concurrent-object
来自: http://www.slideshare.net/shaochuan/spatially-coherent-latent-topic-model-for-concurrent-object

所以, 生成模型可以从大量数据中生成你从未见过的, 但是符合条件的样本.

难怪, 我们可以调教神经网络, 让他的画风和梵高一样. 最后输入一张图片, 它会输出模拟梵高画风的这张图片的油画.

言归正传, 为啥对抗网络在生成模型中受到追捧 ? 生成对抗网络最近为啥这么火 , 到底好在哪里? 

那就必须谈到生成对抗网络和一般生成模型的区别了. 继续阅读#9 生成对抗网络101 终极入门与通俗解析