GAN原理

GAN:隐式的生成模型

生成对抗原理

生成器与判别器损失总体优化目标:

\(\min \max V(D, G)=E_{x \sim p_{\text {data }}(x)}[\log \mathrm{D}(\mathrm{x})]+E_{z \sim p_z(z)}[\log (1-\mathrm{D}(\mathrm{G}(\mathrm{z})))]\)

\(E_{x \sim p_{\text {data }}(x)}[\log \mathrm{D}(\mathrm{x})]\) :真实样本输入到判别器的输出 --> 期望这一项越大越好

\(E_{z \sim p_z(z)}[\log (1-\mathrm{D}(\mathrm{G}(\mathrm{z})))]\) :噪声样本输入生成器,再输入判别器以后的样本,应该越小越好,因为用\(1-\mathrm{D}(\mathrm{G}(\mathrm{z}))\) 所以是越大越好。

D的学习目标:D(X)大,D(G(Z))小:

\(\max _\theta \mathbb{E}_{x \sim p_{\text {data }}}[\log D(x)]+\mathbb{E}_{z \sim p_z}[\log (1-D(G(z)))]\)

G的学习目标: D(G(Z))大 \(\min _\theta\mathbb{E}_{z \sim p_z}[\log (1-D(G(z)))]\)

梯度问题

生成器早期的梯度消失问题:

梯度消失问题:

判别器输出是0~1的需要通过sigmoid函数

KL散度不对称会造成:

GAN的基本结构