目录
什么是GAN
GAN全称Generative Adversarial Network
如何解决:
a.从方法论的角度解释
Generator(生成器)和Discriminator(判别器):对抗式学习(博弈论)
Discriminator:判断输入图像是否为真实图像和虚假图像
Generator:生成图像去欺骗判别器
直观感受:当G&D达到平衡时可以获得最佳效果
b.结构角度解释
特别说明:生成器输入的是随机噪声,输出是真实场景图像
c.从数学公式角度
1.value function价值函数
不同于损失函数,该函数来自强化学习中的概念,强化学习是让智能体在不同的状态环境下,学会选择那个使得奖赏最大的动作
2.:我们需要找到一个D(判别器),使得价值函数V达到最大
我们希望判别器能够区分出真图和假图,既D(x)->1,D(G(x))->0,整个价值函数会趋于一个最大值
3.:我们需要找到一个G(生成器),使得价值函数V达到最小
我们希望G生产的图像可以愚弄D,既D(G(x))->1,整个代价函数会趋于负无穷这样一个极小值
6.:x符合真实图像的分布
7.:z符合随机噪声的分布
8.
下面证明,当,该优化问题达到最优解在数据给定
在数据给定,G给定的前提下Pdata(x)与 PG(x)都可以看作是常数,我们可以分别用 a,b来表示他们,这样我们就可以得到如下式子
由此我们得到最优判别器
将最优判别器代入到原式后
JSD指JS散度,用于评估两个概率分布之间的相似程度,值为0时表示两个概率分布完全相同
训练方式
GAN的问题
难以训练
生成图像单一,质量差(模式崩溃)
模型训练不稳定