从生成模型到生成对抗网络
1. 生成模型与判别模型
主流的深度学习算法分为两种: 生成模型和判别模型。其中:
(1) 生成模型:
对联合分布 P(X,Y)进行建模。 X为输入,Y为输出或者隐含层。
直观来讲,我们认为 输入的数据X和输出的标签或者回归值Y合并的变量构成一个分布P(X,Y)。而我们所有的训练样本 (X,Y)均是由这个分布生成。对于生成模型的目的,就是学习到这样一个分布,也可以说是(X,Y)的联合分布。生成模型可以得到模型中任何一个变量的值。
(2) 判别模型:
直接对 Y=f(X)或者 P(Y|X)建模。
而对于判别模型,我们认为输入数据 X 和输出值 Y构成函数关系,而判别模型的任务就是学习直接学习到这个函数关系,从而直接由输入X估计输出值Y。
判别模型只能再给定输入的情况下得到输出的值。
2. 生成模型的基本概念
(1) 生成模型中最基本的概念就是数据样本的分布。
利用这个分布我们可以生成数据样本,也可以利用条件概率的方法得到一个条件概率密度函数来做统计推断。
(2) 统计推断
在生成模型的方法中,我们常常要利用数据样本的分布来进行推断。通常的方法是利用条件概率公式:
$$p(Y|X) = \frac{p(X,Y)}{p(X)}$$
而P(X)在通常的模型中被作为一个归一化因子。所以需要求的模型就是 P(X,Y).只要得到了 P(X,Y),我们就可以很轻易的推断出P(Y|X).
(3) 生成模型中的基本模型 Wikipedia
- Gaussian mixture model
- Hidden Markov model
- Probabilistic context-free grammar
- Naive Bayes
- Averaged one-dependence estimators
- Latent Dirichlet allocation
- Restricted Boltzmann machine
- Generative adversarial networks
2.生成对抗网络
基本概念
生成对抗网络在2014年被Ian Goodfellow所提出。