一、简介
2016年12月5日,在西班牙巴塞罗那举办的NIPS会议上,本文的作者也就是Ian Goodfellow,依旧以他的代表作-生成式对抗网络-为主题进行了演讲。该网络自2014年问世以来,一直受到机器学习领域的高度关注,说这是近几年最棒的想法也不为过。
论文提出了一种对抗式的估计模型生成方法,该方法不同于其他方法的地方在于训练生成模型G的同时,并训练一个判别模型D。D用来判别数据是来自真实采样还是由G模型生成,训练的过程可视为最大化D判别正确率的过程,而训练G的过程可视为最小化D判别正确率的过程。最终的优化目标是使得G生成的数据很难被D判别出来到底是真实的还是伪造的。
整个迭代的过程是一个极大极小的零和博弈,这也是为什么被称为对抗的原因。
二、对抗网络
直白地说,对抗网络同时训练了两个模型,一个为生成模型G,其本质通过对真实数据x的学习得到一个概率分布Pg,然后将输入的噪声数据z映射到x的空间,我们将其描述为G(z;θg),θg为该模型的参数;另一个模型为判别模型D(x;θd),该模型的作用是判别数据x是真实的还是生成模型G伪造的。于是,我们在训练过程中一方面力求最大化判别模型D的判别正确性logD(x),而另一方面又同时训练生成模型G尽量降低判别模型D的判别正确性log(1-D(g(z))),整个过程G和D就如同在玩一个极大极小的游戏V(G,D):
三、对抗过程
上述公式在实际训练过程中可描述为以下过程
for 训练循环次数 do
for 循环k次 do
- 固定生成模型G,输入噪声样本z并由G产生伪造数据G(z)
- 输入真实数据x
- 通过梯度上升更新判别模型