生成对抗网络学习

来源:互联网 发布:苏亚雷斯实况巅峰数据 编辑:程序博客网 时间:2024/06/15 15:04

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(1D(G(z)))
 生成对抗网络的目标函数如下:

minGmaxD=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(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),比如为图像分配多标签,或者根据标签生成图像。

条件生成对抗网络

 对于生成器和判别器都同时附加额外的条件信息yy可以是各种辅助信息,如类标签等),那么生成对抗网络就被扩展成一个条件模型(conditional model)。可以吧y作为生成器和判别器的附加输入。
目标函数如下:

minGmaxD=Expdata(x)[logD(x|y)]+Ezpz(z)[log(1D(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对应的判别器,最终可以得到一个生成器(由图像生成词向量,利用余弦相似度寻找词汇表中的相近标签)。
实验结果展示如下图:
这里写图片描述


原创粉丝点击