文章链接:https://arxiv.org/pdf/1411.1784.pdf
条件版本的generative adversarial nets,只需要简单的feedding数据y,希望能在生成器和判别器中都设置条件。
this model can generate MNIST digits conditioned on class labels.
GAN网络可以作为训练生成模型的一种可选框架,可以避免很多棘手的概率计算的困难。对抗网络的优势在于永远都不需要马尔可夫链(Markov chains),只需要backpropagation来获取梯度,学习过程中不需要推理。
在没有条件限制的生成模型中,不能控制模型正在生成的数据。
2. Related Work
问题:1. 目前的有监督的学习仍然面临问题,例如如何应对输出类别非常多的情况。2.现在的很多工作都是一对一的输入输出,然而在实际中很多都是一对多的映射。例如给定一个图片,该图片可能会有多个tag,并且不同的annotators可能会用不用的term去描述他们。
对于第一个问题,利用其他模式的附加信息:例如,通过使用自然语言语料库学习几何关系在语义上有意义的标签的向量表示法。在这样的数据空间下进行预测时,有一个优势,当预测错误时,仍然接近事实(例如预测“桌子”而不是“椅子”),可以预测在训练阶段内没有看到的标签。
对于第二个问题,使用一个条件概率生成模型,输入可以作为条件变量,一对多的映射可以看作是预测条件分布。
3. GAN网络
用于训练生成模型,GAN网络包括两部分,一部分是生成模型G用于获取数据分布,一个判别模型用于估计一个样本来自于训练集而不是G的概率。G和D都可以是一个非线性函数,例如一个多层的感知器。
之前写过一个关于GAN网络的文章,很多都是参考别人的哈哈,链接在这里:
https://www.jianshu.com/p/998cf8e52209
生成模型G,构建一个函数,从先验噪声分布pz(Z)到数据空间G(z; theata_g)。另一个判别模型D,输出一个标量概率,代表x来自于训练数据而不是p_g(生成器)。
同时训练G和D
希望判别器能够最大的识别出真样本即p_data,并且去除掉假样本pz(Z),因此也是写成最大化log(1-D(G(z)))。在生成阶段,公式的第一项为0,因为没有真样本啥事,希望生成的样本更接近1,为了统一格式,所以还是最小化log(1-D(G(z)))
Conditional Adversarial Nets:
GAN网络可以扩展到一个条件模型,如果生成器和判别器都受到一些额外信息的约束y,y可以是任何一种辅助信息,例如类标签或者其他模式的数据。
conditional adversarial net 目标函数实验部分:
1. Unimodal
训练MNIST数据集,conditioned on their class labels,encoded as one-hot vectors
在生成模型中,纬度为100的z是通过uniform distribution within the unit hypercube(单位超立方体中的均匀分布)获得,z和y都映射到具有ReLU激活函数的隐藏层,隐藏层的大小分别为200和1000,接着将其连接,最后送到具有sigmoid的层作为生成的输出784纬的MNIST样本。
判别模型中,将x映射到maxout层,具有240个单元和5个片段。y映射到一个maxout层,具有50个单元和5个片段。
2. Multimodal
网友评论