标题:Generative Adversarial Nets
作者:Ian J. Goodfellow等
摘要:
这里就不列直观解释了,直接看论文。
1.“最小最大“博弈问题
首先要知道作者的终极目的:已知
p
g
p_g
pg
p
d
p_d
pd
p
z
p_z
pz,也可以通过采样
p
d
a
t
a
p_{data}
pdata获得一小部分数据
x
x
x,训练
p
g
来
拟
合
p
d
a
t
a
p_g来拟合p_{data}
pg来拟合pdata
作者将两个模型抽象为一个minimax的优化问题:
作者证明了这一问题的全局优解是:
p
g
=
p
d
a
t
a
p_g=p_{data}
pg=pdata。所以问题转化为求解图中的最优化问题。然后作者提出了算法1来解这个最优化问题面,并证明了算法1的有效性。
其思路是:获得初始化的
p
g
p_g
pg
p
d
p_d
pd->内循环通过minibatch对D做梯度下降->固定D重新采样对G做梯度下降->(反复以上梯度下降过程)->得到最优解
p
g
≈
p
d
a
t
a
p_g\approx p_{data}
pg≈pdata
这四步也正好和文中给出的图匹配
这个图一猛地一看其实很难看懂,但是和算法1的步骤结合起来看就容易理解多了。几个要点:
- a)D是一个“partially accurate”的分类器,意思是性能可以差点,但是首先得是能称得上分类器,不能是天马行空随机输出的。
- a)->b)中开始按照内循环的说明训练D。b)图的左侧 p g ≈ p x p_g\approx p_x pg≈px,所以 p d p_d pd较大,相应的右侧 p d p_d pd较小。
- b)->c)这里D完成了一歩梯度下降,固定下来,开始训练G,我们看到 p g p_g pg和 p x p_x px更加接近了。