生成对抗网络学习
2017-12-04 17:09
204 查看
1.Generative Adversarial Nets
Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680. —— [ 论文链接]简介
作者利用对抗的思想提出了一种预测生成模型的新框架。这种框架同时训练两种模型:生成模型(G,用于捕获数据的分布)以及判别模型(D,用于预测一个样本来自于训练数据而不是G)。近年来,出现了大量的深度学习方法,它们能有效对各种数据(如自然图像、音频和自然语言等)的概率分布进行表示,因而在人工智能上得到了广泛应用。目前,大量深度学习方面的工作的涉及到了判别模型。通过判别模型,能够将高维丰富的感官信息映射成一个类别标签。但是深度的生成模型应用很少,因为极大似然估计的难以近似和相关策略中会出现许多棘手的概率计算,同时难以利用生成语境中分段线性单元的好处。而生成对抗很好地将生成模型和判别模型结合在一起。
非常通俗的两个比喻:
造假者和警察:造假者造出假钞,他们的目的是以假乱真,也就是使得假钞越来越像真钞;警察的目的是判断一张钞票是真的还是假的,尽可能使将一张真钞判断为真,避免判断的失误。
魔术师和观众:魔术师能够变出一只假兔子,他需要确保这只兔子足够真实使得观众无法察觉出这是一只假兔子;而台下的观众总是希望能够找到魔术师的破绽,尽可能地判断魔术师变出来兔子的真假。
上面的两个例子中,造假者和魔术师就充当了生成器的角色;而警察和观众就充当了判别器的角色。
生成对抗网络
生成对抗网络非常直白,生成器和判别器都是一个多层感知机。生成器为了学习数据x的分布pg,首先定义了一个噪声输入变量pz(z),同时G(z;θg)表示的是一个对数据空间的映射,G是一个可微函数,参数是θg。判别器被定义为D(x;θd)。训练过程中,调整θd最大化为每个训练样本和来自G的样例分配正确标签的概率;同时调整θg以最小化log(1−D(G(z)))。生成对抗网络的目标函数如下:
minGmaxD=Ex∼pdata(x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))]
优化算法
2.Conditional Generative Adversarial Nets
Mirza M, Osindero S. Conditional generative adversarial nets[J]. arXiv preprint arXiv:1411.1784, 2014. —— [ 论文链接]简介
条件生成对抗网络,顾名思义就是在生成对抗模型的基础上加入了条件y,而这个条件一般同时作用于生成器和判别器。条件生成对抗网络可以很方便地用于学习多模态模型(multi-modal model),比如为图像分配多标签,或者根据标签生成图像。条件生成对抗网络
对于生成器和判别器都同时附加额外的条件信息y(y可以是各种辅助信息,如类标签等),那么生成对抗网络就被扩展成一个条件模型(conditional model)。可以吧y作为生成器和判别器的附加输入。目标函数如下:
minGmaxD=Ex∼pdata(x)[logD(x|y)]+Ez∼pz(z)[log(1−D(G(z|y)))]
一个简单条件生成对抗网络结构如下:
实验
Unimodal
数据集:MNIST图像数据集(数字图像)
输入:
y:类标签,表示成one-hot向量;
z:噪声先验,由单位超立方体的均匀分布生成;
x:一张图片。
目的:
通过训练z|y对应的生成器和x|y对应的判别器,最终可以得到一个生成器(由类标签生成图像)。
Multimodal
数据集:MIR Flickr 25,000 数据集
输入:
y:图片,利用预训练的Alexnet提取图像特征;
z:噪声先验,100维的高斯噪声(Gaussian noise);
x:标签,利用skip-gram model提取标签特征。
目的:
通过训练z|y对应的生成器和x|y对应的判别器,最终可以得到一个生成器(由图像生成词向量,利用余弦相似度寻找词汇表中的相近标签)。
实验结果展示如下图:
相关文章推荐
- 深度学习笔记一:生成对抗网络(Generative Adversarial Nets)
- 生成对抗网络入门详解及TensorFlow源码实现--深度学习笔记
- 深度学习笔记九:生成对抗网络GAN(基本理论)
- 学习笔记_01生成对抗网络(GANs)
- 七月算法深度学习 第三期 学习笔记-第五节 生成对抗网络GAN
- 对生成对抗网络GANs原理、实现过程、应用场景的理解(附代码),另附:深度学习大神文章列表
- 深度学习界明星:生成对抗网络与Improving GAN
- 生成对抗网络学习笔记4----GAN(Generative Adversarial Nets)的实现
- 生成对抗网络学习笔记1----论文Generative Adversarial Nets
- 唐宇迪tensorflow学习笔记之项目实战(对抗生成网络)
- 一文读懂生成对抗网络GANs(附学习资源)
- 强化学习在生成对抗网络文本生成中扮演的角色
- 深度学习界明星:生成对抗网络与Improving GAN
- GAN学习笔记:生成对抗网络
- 生成对抗网络DCGAN+Tensorflow代码学习笔记(一)----main.py
- 【深度学习理论】通俗理解生成对抗网络GAN
- 深度学习之生成对抗网络GAN
- 生成对抗网络学习笔记5----DCGAN(unsupervised representation learning with deep convolutional generative adv)的实现
- 生成对抗网络学习笔记3----论文unsupervised representation learning with deep convolutional generative adversarial
- 【学习资料】生成对抗网络(GAN,Generative Adversarial Networks)