这段文字详细解释了在生成对抗网络(GAN)中,从判别器和生成器的角度来看,如何分割和理解损失函数 V ( D , G ) V(D, G) V(D,G)。让我们逐句详细解释:
判别器的角度
-
从判别器的角度来看,V的表达式中,两部分对数都与判别器D有关,而只有后半部分的对数与生成器G有关:
- 解释:损失函数 V ( D , G ) V(D, G) V(D,G)的两个部分都涉及到判别器 D D D的输出,而生成器 G G G只影响第二部分。我们可以将损失函数拆分成两部分分别分析。
-
对判别器我们有:
- 公式:
Loss D = 1 m ∑ i = 1 m [ log D ( x i ) + log ( 1 − D ( G ( z i ) ) ) ] \text{Loss}_D = \frac{1}{m} \sum_{i=1}^{m} [\log D(x_i) + \log(1 - D(G(z_i)))] LossD=m1i=1∑m[logD(xi)+log(1−D(G(zi)))] - 解释:这是判别器的损失函数。它包括两部分:一部分是判别器对真实数据的判断,另一部分是判别器对生成数据的判断。
- 公式:
-
从判别器的角度来看,由于判别器希望自己尽量能够判断正确,而输出概率又是“数据为真”的概率:
- 解释:判别器的目标是最大化其对真实数据的判断准确性,同时最小化对生成数据的判断准确性。
-
所以最佳情况下就是所有的真实样本上的输出 D ( x i ) D(x_i) D(xi)都无比接近 1,而所有的假样本上的输出 D ( G ( z i ) ) D(G(z_i)) D(G(zi))都无比接近 0:
- 解释:最理想的情况是判别器能够完全正确地识别出所有的真实数据和生成数据,使得 D ( x i )