对抗神经网络其实是两个网络的的组合,两者关系形成对抗。是用网络来监督网络的一个自学习过程。
- 生成器(generator)生成模拟数据:不断优化自己让判别器判断不出来是模拟数据。主要是从训练数据中产生相同分布的samples,对于输入x,类别标签y,在生成式模型中估计其联合概率分布(两个及以上随机变量组成的随机向量的概率分布);
- 判别器(discriminator)判断生成的数据是真实还是模拟的:不断优化自己让自己判断更准确。是估计样本属于某类的条件概率分布。采用传统监督学习方法。
生成器用一个随机编码向量x’来输出一个模拟样本,x’是由高斯分布随机采样得到的噪声。
判别器的输入是一个样本(真实样本和模拟样本放在一起随机抽取),输出一个判断该样本是真样本还是模拟样本(假样本)的结果。
图1-1 GAN网络
二者结合后,经过大量次数的迭代训练会使generator尽可能模拟出以假乱真的样本,而discriminator会有更精确的鉴别真伪数据的能力,最终整个GAN会达到所谓的纳什均衡,即discriminator对于generator的数据鉴别结果为正确率和错误率各占50%。根据GAN的结构不同,会有不同的对应训练方法。无论什么方法,其原理是一样的,即在迭代训练的优化过程中进行两个网络的优化。有的会在一个优化步骤中对两个网络优化,有的会对两个网络采取不同的优化步骤 。
GAN的具体网络结构图如下所示:
生成式对抗网络分两种类型,一种是从高斯随机分布中生成具有随机变化的高质量虚拟图像,另一种是通过多幅图像的强关联性,结合各图像和数据的特有信息获得杂糅指定属性的高质量虚拟图像,而后者存在着数据关联性的约束,通常用于实现图像迁移。