GAN是最近几年来很有名的算法,起源于这篇论文,我们今天来看看究竟是怎么一回事吧。
我也不想叽里呱啦讲一大堆,想看论文翻译版的直接复制粘贴谷歌翻译就行了。我只介绍大致思想。
GAN其实目标就是生成能以假乱真的图片,于是这里有两个子网络,生成网络(generative model)和判别网络(discriminative model),分别称为G和D。D的目标就是尽力分辨出哪个图片是真实数据哪个是生成的,而G的目标就是尽力让D混淆。网络结构图如下:
因为D和G像是一个对抗游戏,所以该网络的名字叫adversarial。整个训练目标如下:
第一项是D的训练目标,最大化正确分类的判别概率,第二项是G的最小化训练目标。在实际操作的时候,G训练为最大化,这是因为原来的那一项在早期学习的时候容易饱和,而换成这一项之后能提供更强的梯度。
下面我们看一看在训练过程中整个网络发生了什么样的变化: