生成对抗网络(GAN)
paper原文:Generative Adversarial Networks
概览
做了什么
- 提出了新的模型
对抗模型
- 通过
生成模型(G)
与鉴别模型(D)
之间的相互竞争。即D模型要将 G 生成假数据
调出,而 G 模型要设法“骗过”D 模型的鉴别,最终提高 G 模型的生成质量 - 通过实验当 D 最终结果稳定在 12 时 G 模型生成效果最好。
- 通过
优势
- 不需要使用Markov 决策框架
- 框架移植性强,可以用于各种训练、优化算法,以及现有的模型中。
- 两个模型都仅仅使用了
后向传播
与dropout
算法 - G 模型生成样本只需要使用
前向传播
不足
- 在当时未能明确找到代表 pg(x) 产物
- D 与 G 的训练必须同步,换句话说 G 不能脱离 D 的训练而更新多次。(防止出现
Helvetica scenario
问题)
模型组成
生成模型 G
- 通过
噪声
(一维序列)生成样本,尽力混淆 D 模型的鉴定。 - 随机噪声通过多层感知机生成
- 通过多层感知机输入 pz(z) 映射到数据空间 G(z;θg)
- 训练 G 来最小化概率 log(1−D(G(z))) .使得从噪声生成的数据足够真实。
鉴别模型 D
- D 主要是学习数据来源到底是来自真实数据,还是生成数据。
- 本质为二分类器
- 数值 D(x) 代表 x 是由真实数据获得并非由 G 生成的概率
- 同样使用多层感知机结构
- 训练 D 来最大化概率 D(x) ,使得 D 精于鉴别
噪声
数据
核心公式
minG