生成对抗网络(GAN)损失函数解读
GAN损失函数的形式:
以下是对每个部分的解读:
1.
, 
-
:这个部分表示生成器(Generator)G的目标是最小化损失函数。
-
:判别器(Discriminator)D的目标是最大化损失函数。
-
GAN的训练过程是一个博弈过程:生成器与判别器对抗训练。生成器试图生成越来越真实的数据,而判别器试图分辨生成的数据和真实数据.
2. ![\mathbb{E}_{x \sim p_{\text{data}}} [ \log D(x) ]](https://latex.csdn.net/eq?%5Cmathbb%7BE%7D_%7Bx%20%5Csim%20p_%7B%5Ctext%7Bdata%7D%7D%7D%20%5B%20%5Clog%20D%28x%29%20%5D)
-
:表示对真实数据
的期望,真实数据来自数据分布
。
-
:判别器
给出的判别结果
是一个表示输入数据
为真实数据的概率值。判别器的目标是正确识别真实数据,因此其目标是使得真实数据的
接近1,
的值会更大,从而增加损失函数的值。
-
这部分损失函数的作用是惩罚判别器对于真实数据的错误判别,要求判别器更好地识别真实数据。
-
3. ![\mathbb{E}_{z \sim p_z} [ \log D(1 - D(G(z)))]](https://latex.csdn.net/eq?%5Cmathbb%7BE%7D_%7Bz%20%5Csim%20p_z%7D%20%5B%20%5Clog%20D%281%20-%20D%28G%28z%29%29%29%5D)
-
:表示对噪声
的期望,噪声
来自潜在空间
。
-
:是生成器生成的样本,输入的是噪声
。
-
:判别器对生成器生成的样本
的判别结果,表示生成样本为真实数据的概率。
-
:表示生成样本为假数据的概率,判别器希望能够识别出生成的数据为假数据,生成器希望生成的数据能够“欺骗”判别器,使得生成样本看起来像真实数据。因此,生成器的目标是最大化
,即希望生成的假数据
接近0,而判别器的目标是最小化这一值。
总结:
-
判别器
的目标是最大化损失函数,意味着它要尽力将真实数据
的
推向1,将生成数据
的
推向0,从而使其能够区分真实和生成数据。
-
生成器
的目标是最小化损失函数,意味着它希望生成的数据能够“欺骗”判别器,使得
接近1,从而使得生成的数据看起来像真实数据。
通过这种对抗性训练,生成器和判别器互相竞争,最终生成器能够生成越来越真实的样本。