1.基本概念介绍
一般的网络一个输入对应着一种输出,但是有时候同样的输入,输出可以是不一样的,所以可以在网络上加入一个分布,这个分布可以让网络有不同的输出。
Generator负责生成输出,Discriminator负责对比真实的输出,告诉Generator需要怎么改变才能接近真实的输出,然后Generator进化生成更真实的输出,而Discriminator也进化。
这就是对抗的由来。
2.理论介绍与WGAN
我们的目标是让Generator生成的分布和真实的数据越像越好,但是这个距离很难衡量。
训练Discriminator的目标是让它能分辨出哪些是G生成的数据,哪些是真实的数据。而跟JS divergence有关。所以有了以下式子:
换个distance计算。
3.生成器效能评估与条件式生成
GAN的训练并不是一件容易的事,G和D一旦有一个停滞了,另一个也不会进步,所以两者需要旗鼓相当。
评估会遇到的问题:
模型崩坏:生成的数据没有多样性;
Mode Dropping:生成的数据只有真实数据的一部分。
质量:生成的单张图片放到不同的分类器,得到的类别一致;
多样性:生成的多张图片放到分类器中,得到的分类多样化。
FID:通过对比分类前的向量分布和真实的图片分布来评估。
条件式生成:
Discriminator还要对比输入和输出是否匹配,用成对的数据集来训练。
4.Cycle GAN
图片风格转换,输入得到输出后,输出还要转换成输入。